Re: Purging configurations of non-installed transitional packages
On Thu, 09 Nov 2006, Michael Biebl wrote: If this two is true (and I think so) then you couldn't install the old ssh package and the new one. So how can you do this? If the new package has a Replaces: old_package, it will *take over* the conflicting config_files from the old package [1]. Except when it doesn't. Config files != conffiles. Conffiles are managed by dpkg and will work just fine, as they will indeed be marked as belonging to the new package. Config files, however, are managed by the package maintainer scripts and are very likely to be handled incorrectly unless you upgrade to the *latest* version of the transitional package *first* before you purge it. There is also the matter of work directories in /var which packages like to purge, etc. -- One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie. -- The Silicon Valley Tarot Henrique Holschuh -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
Hi All! On Thu, 2006-11-09 at 00:05 +0100, Michael Biebl wrote: If the new package has a Replaces: old_package, it will *take over* the conflicting config_files from the old package [1]. And there are Packages with Replaces field filled but Conflicts field not? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
On Thu, Nov 09, 2006 at 12:45:34PM +0100, SZALAY Attila wrote: Hi All! On Thu, 2006-11-09 at 00:05 +0100, Michael Biebl wrote: If the new package has a Replaces: old_package, it will *take over* the conflicting config_files from the old package [1]. And there are Packages with Replaces field filled but Conflicts field not? Yes, since Replaces can have two possible meanings. Please read the Policy document for details. -- Fun will now commence -- Seven Of Nine, Ashes to Ashes, stardate 53679.4 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
Hi All, On Thu, 2006-11-09 at 18:00 +0100, Wouter Verhelst wrote: Yes, since Replaces can have two possible meanings. Please read the Policy document for details. Okay, okay. Let's be more specific. openssh-client and openssh-server both Conflicts with ssh ( 1:3.8.1p1-9) ntp package also Conflicts with ntp-server package. So I don't understand how it happened. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
SZALAY == SZALAY Attila [EMAIL PROTECTED] writes: SZALAY Okay, okay. Let's be more specific. openssh-client and SZALAY openssh-server both Conflicts with ssh ( 1:3.8.1p1-9) SZALAY ntp package also Conflicts with ntp-server package. So I SZALAY don't understand how it happened. The fact the package conflict just means that it is not possible have them fully installed at the same time. It is still possible to have one package fully installed, while the other one is removed but not purged. If you run dpkg --purge on the second package it will still run the maintainer scripts, which will delete its configuration files. A new version of the second package will not help, as this package has no way of knowing why you are doing the purge (its it because you are deleting the package or is it because you have replaced the package with another one?). This is, IMHO, a limitation of not having configuration files managed by dpkg. -- Brian May [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
Hi All, On Tue, 2006-11-07 at 15:33 +0100, Adrian von Bidder wrote: What happened: Somehow, I seem to have transitioned from sarge ssh to openssh-client/-server directly without first installing the 'ssh' transitional package because I installed some package which depended on openssh-client directly. With the above operation, I then tried to purge the old ssh package - which, obviously, blew my ssh configuration along with the 'sshd' user. In this case, I was prepared because I had an idea that this could happen - but nonetheless, I think it shouldn't. Hm. I don't understand something. If I recall correctly 1) (almost) Everything under /etc/ is config file 2) No two package can contain the same _installed_ file. If this two is true (and I think so) then you couldn't install the old ssh package and the new one. So how can you do this? The transient package is because the same config file problem. But noe to keep them, but to enable to install new new package with the same file. Or I missing something? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Purging configurations of non-installed transitional packages
SZALAY Attila schrieb: 2) No two package can contain the same _installed_ file. If this two is true (and I think so) then you couldn't install the old ssh package and the new one. So how can you do this? If the new package has a Replaces: old_package, it will *take over* the conflicting config_files from the old package [1]. Cheers, Michael [1] http://www.us.debian.org/doc/debian-policy/ch-relationships.html#s-replaces signature.asc Description: OpenPGP digital signature
Purging configurations of non-installed transitional packages
Yodel! Since I hate having tons of configuration files lying around from my various tests (and build-dep installing orgies), I do dpkg -l | grep ^rc | cut -f 3 -d \ | xargs dpkg -P every now and then. Actually, I first look at the list, and this proved very important here... What happened: Somehow, I seem to have transitioned from sarge ssh to openssh-client/-server directly without first installing the 'ssh' transitional package because I installed some package which depended on openssh-client directly. With the above operation, I then tried to purge the old ssh package - which, obviously, blew my ssh configuration along with the 'sshd' user. In this case, I was prepared because I had an idea that this could happen - but nonetheless, I think it shouldn't. How to prevent this? (btw: ntp has the same problem: /var/lib/ntp was removed without me noticing. Obviously this is not near as bad, as it won't even stop ntp working) Huge hack #1: openssh-server (new package) knows the contents of the old ssh.preinst/ssh.postinst, so it could remove those file on installation or replace them by newer ones that take into account the transition. Obviously this is dangerous and should probably be secured by md5 of the known files. Huge hack #2: openssh-server/openssh-client know that they're replacing the old package. So they could just remove records of ssh from the database of installed packages by surgery. I feel that this one could even be made official if specified properly as a method to transition package names (and replacing surgery by official sourcery by dpkg). OTOH there's bound to be many pitfalls, and probably no two transitions are ever the same. Other methods? The only sane way I can think of is a hard dependency on the transitional package for a full release cycle. But that means keeping useless packages around for a long time :-( Yes, it all only was a problem because I was mixing stable and testing, but I think being able to do that is one of the biggest assets Debian GNU/Linux has over other distributions, so making this as easy as possible is A Good Thing(tm) in my book. cheers -- vbi -- featured link: http://fortytwo.ch/gpg/subkeys pgpt9tSYh1v9x.pgp Description: PGP signature