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

Re: How to remove all programs related to a particular task in Woody?



On Tue, Aug 20, 2002 at 10:03:36PM -0400, Joey Hess wrote:
> Paul E Condon wrote:
> > This sounds like a question that ought to have a simple answer, but it
> > doesn't have one. Removing all packages that are specified as required
> > by a tasksel item is not really what you want to do. You want to
> > remove all packages _except_ those that are also required by some
> > other package(s) that you are keeping.
> 
> It's actually possible to do this too. If you use aptitude for your
> initial install, and pick tasks in it, it will keep track of the library
> packages and so on that are only depended on or indirectly depended on
> by the packages in the tasks you pick. If you then de-select a task as I
> describe in my other email, aptitude will offer to remove the packages
> that were auto-selected due to packages in that task. So it's not as
> hard as you make out.
> 
> > If tasksel kept a list of which packages it had to install that would
> > be part of a solution, because it could avoid removing those that were
> > already there when tasksel was run. But it would not cover keeping
> > packages that are required by another top level package that was
> > installed _after_ the installation of the package that is being
> > removed. 
> 
> Aptitude apparently does a little bit of reference counting on the
> automatically selected packages to handle this.
> 
> It really does work, for example:
> 
> joey@dragon:~>sudo aptitude dist-upgrade
> Password:
> Reading Package Lists... Done
> Building Dependency Tree       
> Reading extended state information... Done
> The following packages are unused and will be REMOVED:
>   clanlib clanlib-jpeg clanlib-mikmod clanlib-png clanlib-sound 
>   clanlib-vorbis liba52-0.7.3 libdvdnav0 
> The following NEW packages will be automatically installed:
>   clanlib2 clanlib2-jpeg clanlib2-mikmod clanlib2-png clanlib2-sound 
>   clanlib2-vorbis gdk-imlib2 liba52-0.7.4 libasound2 libdirectfb-0.9-12 
>   libdvdnav1 libflash0 libpcap0.7 symlinks 
> The following packages will be automatically REMOVED:
>   libdirectfb8 
> The following NEW packages will be installed:
>   clanlib2 clanlib2-jpeg clanlib2-mikmod clanlib2-png clanlib2-sound 
>   clanlib2-vorbis gdk-imlib2 liba52-0.7.4 libasound2 libdirectfb-0.9-12 
>   libdvdnav1 libflash0 libpcap0.7 symlinks xkobo 
> The following packages will be REMOVED:
>   libdirectfb8 
> The following packages will be upgraded:
>   aalib1 aalib1-dev apache apache-common apmd apt-build apt-src aumix 
>   autoconf autoconf2.13 bin86 binutils cmt cvs debconf debconf-doc 
>   debconf-utils debhelper debootstrap defendguin defendguin-data devfsd 
>   dhcp-client docbook docbook-dsssl docbook-xml dput esound fcmp 
>   fortune-mod fortunes-min freecraft gdb gettext gettext-base glibc-doc 
>   gnome-bin gnome-libs-data grub grub-doc heroes-common heroes-sdl 
>   html2text iftop imagemagick kernel-package leafnode less lesstif1 
>   liballegro4 libapm-dev libapm1 libart2 libdb2 libdb3 libdb3-dev 
>   libdvdnav-dev libfreetype6 libgcc1 libgdk-pixbuf2 libglade-gnome0 
>   libglade0 libgnome32 libgnomesupport0 libgnomeui32 libgnorba27 
>   libgnorbagtk0 libgtkxmhtml1 libid3tag0 libldap2 libmad0 libmagick5 
>   libpng2 libpng3 libpng3-dev librpm4 libseal-dev libseal1 libssl0.9.6 
>   libwrap0 libxine0 libxml2 linda linux-wlan-ng man-db mawk modutils mutt 
>   ogle-mmx opalmod openssl pcmcia-cs pcmcia-source perl-doc pingus 
>   pingus-data powermanga powermanga-data ppp pump reportbug rpm sgml-base 
>   tcpd tcpdump textutils timidity vim vrms w3m-ssl whois xbubble xchat 
>   xchat-common xine-dvdnav xine-ui xlib6g xmms-cdread zsh 
> 119 packages upgraded, 15 newly installed, 9 to remove and 0 not upgraded.
> Need to get 52.1MB/70.2MB of archives. After unpacking 8182kB will be used.
> Do you want to continue? [Y/n/e/d/v/action/?] 
> 
> Here of course it is discarding some old library packages that were
> installed earlier because some of the stuff I'm upgrading used to
> depend on them.
> 
> -- 
> see shy jo
> 

I think there is more to this issue than you realize. The distinction
between plain packages and "auto-selected" packages is
not so clear cut. There are a lot of cracks into which things can fall
and be handled in quite unexpected ways. User expectation is an
important issue in database manipulation work. This requires, among
other things, an extensive array of tutorial documentation. That it
seems to work as you would expect in a few examples is really not
enough. Where is the statement of what it actually does? Where is the
proof that it does what the statement claims that it does? Where is
the proof that what it does is really what users need? 

But the aptitude developers are working on it. When they have a
solution that works, it may matter very little just how complicated it
is internally. If it works, and hides all the complexity effectively,
OK. But if it works, and generates a steady stream of crys for help
from people who didn't quite understand the rules... Is that good?




-- 
Paul E Condon           
pecondon@quiknet.com    



Reply to: