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

Re: Question about having an always clean base system in Debian Sid

> Let me elaborate a little bit.
> The reason the packages you'd expect to be marked "auto" are not marked as 
> such is because debootstrap (and tasksel as well for the 'standard' task) 
> simply install *all* packages that have a certain priority. Because the 
> packages are all installed by name, they will not be marked "auto".
> The reason all these packages are the same priority is because that's a 
> current Debian Policy requirement [1]: packages cannot depend on other 
> packages with a lower priority.
> The simplest way to "fix" the issue [2] would be if libraries etc. would be 
> allowed to have a lower priority (e.g. optional). That would mean that 
> they'd no longer get installed by name, but pulled in as dependencies and 
> thus marked "auto".
> There are some arguments why the policy could be changed, but that would 
> require a serious discussion within Debian.
> The main argument would be that the policy was probably originally created 
> *because* tools like debootstrap and debian-cd did not support dependency 
> handling. No that they do, the policy could be changed. But there may be 
> other reasons I'm not aware of!
> I've considered starting this discussion a few times, but haven't yet done 
> so.
> Cheers,
> [1] http://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
> [2] It's also quite probably the *only* correct way to fix the issue...

Yes, I understand all you say. I think we don't speak about the same

I agree with you that the policy should be changed now that dependencies
handling is supported by debootstrap. But this is a big change and have
to be discuss carefully within Debian.

Independently of the policy change, what I'm proposing is to have *all*
packages (not only libraries) of the base system being installed with
the "automatically installed" flag by debootstrap along with a mechanism
to keep them installed (the APT::NeverAutoRemove ~prequired,
~pimportant, ~pstandard directive in apt.conf).
Doing so the users that are testing Sid will automatically be proposed
to remove the packages that were part of the base system and aren't
anymore (like dselect during the development process of Lenny). Of
course they can still abort the removal if they want!

I think this behaviour is good because a lot of Sid testers are not
aware of the base system changes and won't remove these packages on they
own and therefore won't have an up to date Sid install. My point of view
is that a user who has installed his system a few times ago and has just
updated it should have strictly the same system than the user who has
just installed it now (excepting the personal packages that were
installed by the first user). To be complete we should find a mean to
auto install the packages that are new in the base system but I think
it's not in this list that the problem should be discussed but instead
in the APT development mailing list.

The advantages of this behaviour are not only for the users that doesn't
have to care about the base system, but for the Debian developers too.
Let consider the previous example of dselect. Imagine that the removal
of dselect from the base system leads to some bugs in the system: only
the users that have installed Sid after the removal of dselect can
report these bugs and that's not optimal.

Do you see what I'm trying to say? I know I'm sometimes not very
clear! :-)

Again if I've said stupid things just tell me! :-)


Reply to: