From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.62) (envelope-from ) id 1H2Asj-0007IF-5m for garchives@archives.gentoo.org; Wed, 03 Jan 2007 18:30:33 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.8/8.13.8) with SMTP id l03IRMQs013966; Wed, 3 Jan 2007 18:27:22 GMT Received: from iabervon.org (iabervon.org [66.92.72.58]) by robin.gentoo.org (8.13.8/8.13.8) with ESMTP id l03IOxrI003409 for ; Wed, 3 Jan 2007 18:25:02 GMT Received: (qmail 13795 invoked by uid 1000); 3 Jan 2007 13:24:54 -0500 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 3 Jan 2007 13:24:54 -0500 Date: Wed, 3 Jan 2007 13:24:51 -0500 (EST) From: Daniel Barkalow To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Re: anti-portage wreckage? In-Reply-To: <200701030947.26010.alan@linuxholdings.co.za> Message-ID: References: <89646b4a0612241752i127b3c29iec9f88687085c6c@mail.gmail.com> <200701021202.59258.alan@linuxholdings.co.za> <200701030947.26010.alan@linuxholdings.co.za> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Archives-Salt: 578da485-9c47-44ff-bd54-428fe36097b0 X-Archives-Hash: e7f79a5a6936288e30a18817393037fb On Wed, 3 Jan 2007, Alan McKinnon wrote: > The only possible thing etc-update could ever do is look for trivial > changes and ignore them. How would you detect the difference between > non-trivial changes to shipped versions and non-trivial changes made > locally? Keep a copy of the config files for installed packages somewhere in /var, and provide etc-update with "this is the version we shipped that's going away" on package removal. Currently, it only keeps the hash of the config file that goes with a package, so it can only tell whether there was a change in the shipped version, not what that change was. Portage actually has enough information to detect that the user has modified a CONFIG_PROTECTed file (moveme and destmd5 != cfgfiledict.get[myrealdest]), but doesn't test this or communicate it to etc-update. > You can't say that if the config file exists and hasn't > changed since installation then overwrite it with the new shipped > version - that might change the behaviour of an *existing* system > (without notification) if the user likes the old way and does not like > the new way. I didn't say it shouldn't require interaction to get the new shipped version; I said it should require extra confirmation to discard changes made locally. It should also be able to offer 3-way merge instead of 2-way, and automatically retain local changes that don't conflict with shipped changes. > > It's understood that there is a difference between what I'm using now > > and what new package comes with. But there's no information on > > whether that difference came from local modifications. > > And neither should there be. Etc-update knows the files are *different* > and stops right there. Evaluating what that difference means is a > human's job because it's not a monkey-see, monkey-do process. What the difference means is up to the humans, but there's no reason, aside from having carelessly lost information previously, that it doesn't know where the change came from; that part isn't up to human interpretation, and it's valuable information for humans trying to evaluate what the difference means. -Daniel *This .sig left intentionally blank* -- gentoo-user@gentoo.org mailing list