On Fri, Jan 14, 2011 at 04:52:13PM -0800, Russ Allbery wrote: > Roger Leigh <email@example.com> writes: > > > Yes, and this is what I did. It's just rather tedious to (IIRC) > > repeatedly run "dpkg-reconfigure sysv-rc" and then find out which file > > is offending, run "dpkg -S $file", and then purge it. > > I've not looked at the mechanism involved at all, but it does seem like we > should be able to print out all of the files that would cause failures. > Maybe it's hard to continue from an error long enough to find additional > files? I've not looked at how it does its checking. IIRC, it's mainly down to not having LSB dependency info in the header, so it should be possible to check all the files and list them all in one shot. > That sounds like it's the thing that makes this the most tedious. If you > got a list of all offending init scripts, we could document in the release > notes that you need to run dpkg -S on each one to locate the relevant > package and purge that package if you're no longer using it. It's even be possible to automate that and list them all, then you could just copy the entire list and purge them in one go. > > It would be better if an upgrade was possible without all this manual > > work. It's been tedious for the handful of systems I've done this on so > > far; I wouldn't like to need to do it for many more. > > It does make sense to not continue with enabling inserv if it can't be > done safely, though, and I don't know how to distinguish programmatically > between init scripts that can just be removed and ones the local admin > needs to keep and fix. I agree completely that it's doing the right thing. In the vast majority of cases though we're just dealing with cruft left over from old removals, which could be cleaned up. Deinstalled packages still have the conffile md5sums available, so we /could/ quite easily remove them if they haven't been locally modified, which would allow a rather smoother upgrade for the majority of users. Are there any existing de-crufting tools that can automatically purge packages where there are no local changes? [I currently have Apt::Get::Purge set to true, but having the option to only purge when no modified conffiles exist would be a better alternative to either true or false in many situations.] Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
Description: Digital signature