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

Re: managing packages



>>>>> "Branden" == Branden Robinson <branden@ecn.purdue.edu> writes:

    >> In that case, what Debian urgently needs is some way to easily
    >> maintain a large number of packages, for experienced
    >> users. Such a method would have to abstract the administrator
    >> from having to deal with individual packages (eg like task-*
    >> packages do), but would have to allow the system administrator
    >> to override the defaults (unlike task-* packages). Unlike
    >> task-* packages, it should maintain consistency across
    >> upgrades, remove packages that are obsolute and/or no longer
    >> needed (eg if mh is installed, suggest replacing it with nmh
    >> instead).

    Branden> Uh, isn't this what apt does?  We get rave reviews for
    Branden> it.  All we need now is a good point-and-drool front end.

    Branden> I don't think there is ultimately a good way to do
    Branden> package management without dealing with packages.  :)
    Branden> What's the expression?  "Things should made as simple as
    Branden> possible, but no simpler."  :)

There are a number of problems with apt:

-----------------------------------------------------------------------------
1. say I wanted to install gimp on my computer:

The obvious way would be to say:
apt-get install gimp

However, this leaves a lot of packages missing, eg 
gimp-data-extras and gimp-manual.

Even if apt somehow supported installing packages referred to by
"Suggests:", this wouldn't install gimp-manual (perhaps this is a bug
in gimp), but instead would install 3 non-free (IIRC) packages:
freefont, sharefont and gimp-nonfree.

Instead, whenever installing a package, I have to manually look
through all the suggests headers, and manually try to select packages
that might be required. If I forget, then certain features of the
package I just installed may not work correctly.

-----------------------------------------------------------------------------
2. Lets assume, for instance xscreensaver does the right thing (it
doesn't[1]) by having a "suggests" entry for every screen saver
that could can be used (and is setup in the demos screen).

Now, say I want to have all these screen savers installed on my computer.
Furthermore, if a new screensavers become available (eg when woody
is released), I want them to be automatically installed, too. Of course,
this shouldn't be done via Depends. For instance, suppose I have
a total dislike for xfishtank, and never want this to be installed.
How would you do this?

-----------------------------------------------------------------------------
3. AFAIK, there is still no way to remove packages (eg libraries) that
are no longer required.

Even if this has been solved, suppose I install xscreensaver (See above)
with all optional screen savers installed. However, I realize I hate
xscreensaver for some reason, and want to remove *all* packages I just
installed. How would you do this?

Perhaps you could save the state of the packages beforehand and
restore the list afterwords. However, consider if I installed
xscreensaver at the same time as gimp, and don't want to remove gimp?

-----------------------------------------------------------------------------
I am not sure how 3 could be solved.

Perhaps I way around three though, would be to have a config
file with a set of rules, and when installing packages, each
"suggests" (and recommends?) package is checked against this
set of rules.

For instance, I could configure rules (first one matches) that say:

- never install anything from non-free.
- never install xfishtank.
- always install anything xscreensaver suggests.
- prompt for installing anything over 1Mb in size.
- install anything else.

Note: This would only apply to packages that aren't already installed.

Of course, packages would need to have their Suggest: headers fixed.

Other issues (eg conflicting packages) might also occur, too, but
probably better to worry about this on a case-by-case basis.

Note:
[1] xscreensaver is a good example of things gone wrong. For
me to get all demos going, I have to select each on in turn, and
try to fix errors (program not found) as they occur.
-- 
Brian May <bam@debian.org>


Reply to: