reassing 544481 apt 0.7.23.1 severity 544481 normal retitle 544481 apt mixes essential flag from all sources
On Tue, 01 Sep 2009, Vincent Lefevre wrote: > > > I could help you to determine what's wrong in your system, but *not* > > > on the basis that I have to do something that I've *already* done, namely, > > > dropping the Essential flag from the diff package. > > > > Then this means that aptitude (or dpkg?) broke my system. > > Actually, I have the same problem after reinstalling diff with apt-get > (on a different machine). So, this probably comes from dpkg. What makes you believe so? $ dpkg -s diff Package: diff Status: install ok installed Priority: extra Section: oldlibs Installed-Size: 32 Maintainer: Santiago Vila <sanv...@debian.org> Architecture: all Source: diffutils Version: 1:2.8.1-16 Depends: diffutils Description: dummy transitional package for diff -> diffutils This is a dummy package to aid in transitioning from diff to diffutils. It may be safely removed after upgrading to squeeze. => no essential flag, dpkg removed it as expected... IMO it's apt that simply mixes the Essential: flag read from different sources, a quick check makes it obvious: ┏rivendell:~/x/git/dpkg (master) ┗(731)$ grep "deb " /etc/apt/sources.list deb http://localhost:9999/security lenny/updates main deb http://localhost:9999/security squeeze/updates main deb http://localhost:9999/debian unstable main contrib non-free deb http://localhost:9999/debian squeeze main contrib non-free deb http://localhost:9999/debian lenny main contrib non-free deb http://localhost:9999/debian experimental main contrib non-free #deb http://kernel-archive.buildserver.net/debian-kernel trunk main #deb http://download.tuxfamily.org/dvorak/debian sid main #deb http://security.debian.org/ lenny/updates main ┏rivendell:~/x/git/dpkg (master) ┗(732)$ LANG=C sudo apt-get remove diff Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: diff WARNING: The following essential packages will be removed. This should NOT be done unless you know exactly what you are doing! diff 0 upgraded, 0 newly installed, 1 to remove and 59 not upgraded. After this operation, 32.8kB disk space will be freed. You are about to do something potentially harmful. To continue type in the phrase 'Yes, do as I say!' ?] ^C ┏rivendell:~/x/git/dpkg (master) ┗(733)$ sudo vim /etc/apt/sources.list ┏rivendell:~/x/git/dpkg (master) ┗(734)$ grep "deb " /etc/apt/sources.list #deb http://localhost:9999/security lenny/updates main #deb http://localhost:9999/security squeeze/updates main deb http://localhost:9999/debian unstable main contrib non-free #deb http://localhost:9999/debian squeeze main contrib non-free #deb http://localhost:9999/debian lenny main contrib non-free #deb http://localhost:9999/debian experimental main contrib non-free #deb http://kernel-archive.buildserver.net/debian-kernel trunk main #deb http://download.tuxfamily.org/dvorak/debian sid main #deb http://security.debian.org/ lenny/updates main ┏rivendell:~/x/git/dpkg (master) ┗(735)$ LANG=C sudo apt-get remove diff Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: diff 0 upgraded, 0 newly installed, 1 to remove and 59 not upgraded. After this operation, 32.8kB disk space will be freed. Do you want to continue [Y/n]? ^C So reassiging to apt... apt should use the essential flag from /var/lib/dpkg/status / the distribution containing the installed package to decide whether an essential package can be removed or not. I also fail to see why this bug would be critical, the set of essential packages doesn't change often and having to keep around the transitional package is not a big deal. Cheers, -- Raphaël Hertzog -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org