[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to find out apt-get's reasoning



Jonathan Matthews wrote:
Having just installed the Gnome 2.2 backport, I'm trying to drop kde from my box totally. Never liked the "underline the desktop icons" thing anyway[1] :-)

I thought I'd got it all out, but witness the following:

bigdaddy:/home/jaycee# apt-get dist-upgrade -u
[snip]
The following NEW packages will be installed:
kdelibs-data The following packages have been kept back gnu-smalltalk imagemagick libcurl2 liblcms1 liblcms1-dev libmng-dev libmng1 libpng12-0 libpng12-0-dev libpng3 libwmf0.2-7 mpeglib tetrinetx 0 packages upgraded, 1 newly installed, 0 to remove and 13 not upgraded.

I'm not asking anyone to tell me why my particular mix of sources is doing this, I'm wondering more if there's a grep-available or grep-dctrl invocation that might tell me which *installed* packages *depend* on kdelibs-data. Yes, I know "kdelibs & kdelibs4", but neither of them is installed.


The more likely cause of this behavior is the "Replaces" field of kdelibs-data. I think apt-get will automatically try to install on dist-upgrade any package that claims to replace an installed package. Check out:

for i in `grep-available -PX kdelibs-data -n -s Replaces | sed -e 's/([^(]*)//g' -e 's/,//g'`; do grep-status -PX $i | grep-dctrl -FStatus 'install ok installed' -s Package; done

though it would probably be easier to just check each package in the Replaces field by hand than figure out that expression. :)



Reply to: