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

APT [was Re: Is this really the right thing to do?]



Wichert Akkerman wrote:
> Previously Mitch Blevins wrote:
> > One problem with auto-deinstallation of support packages is that
> > you may have other packages that also use the same support package.
> > You would have to grep the dependency database to  ensure you
> > weren't removing a library/package that was used elsewhere.
> > Even then, you may have programs in /usr/local that are not tracked
> > by dpkg and need one of those libraries.
> 
> Go to http://www.debian.org/~wakkerma/, grab the latest apt-design
> text from there and read section 5.2 . I think that covers what
> you are looking for. If not I'ld like to know what you want to
> see different and why.

 Thanks for the pointer.  Probably should have read it closer earlier,
 but...

 I believe the proposed approach is wrong-headed.  Problems I see are:

 1) It keeps a hidden (not viewable thru the apt interface) status
    list of the files that have been marked to be de-installed
    when packages that depend on them are removed.

 2) It doesn't allow for people who are upgrading and already have
    these 'dependent-but-useless-by-themselves' packages installed.
    It wont mark them unless they are newly installed because of
    a dependency.

 3) It doesn't allow fine-grained control.  You can't unmark a package
    if you decide later that it is useful by itself.  You can only
    set a global option to not remove it, which will disable this
    functionality for all packages.


 Before proceding with my proposal, let me define a term for packages
 that are installed for no other reason than to satisfy a dependency.
 I think 'Hooked' is a good word.  It is a synonym for 'dependent', and
 it can lead to many good fishing analogies. ;)

 My proposal is this:

 Define a boolean status field for 'Hooked', which can be toggled
 on or off by the user thru the APT interface.  This cannot just
 be an option in the 'Status' field, because it should be okay for
 the user to mark a package Hooked that is also either 'Installed'
 or 'Hold'.  (marking a 'Remove' or 'Purge' packages as Hooked
 are non-sensical, but also non-harmful)

 Have APT (perhaps controlled by a global option) mark packages
 as Hooked when they are installed to satisfy a dependency.
 The user can then unmark them selectively as needed.  Users
 can also mark packages Hooked that were installed prior to this
 functionality being implemented.

 This proposal does not require changes to the .deb format, but
 probably will require changes to dpkg, in order to have it perform
 correctly during 'dpkg --pending --remove', etc.

 Comments/Flames?  Please post them.
 Also, I'll be happy to post an edited version of the apt-design
 document if requested.

 -Mitch

Attachment: pgpjHx4CI7lxD.pgp
Description: PGP signature


Reply to: