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

Re: alternative dependency ordering - with respect of packages in main



On September 20, 2011 02:24:33 PM Stefano Zacchiroli wrote:
> On Tue, Sep 20, 2011 at 01:12:37PM +0200, Gerfried Fuchs wrote:
> >  tl;dr - what do you think, is a "Depends: foo-contrib | foo" acceptable
> > 
> > for packages in main or should it be "Depends: foo | foo-contrib"
> > instead?
> 
> I think the first form above ("foo-contrib | foo") is not acceptable. My
> argument is that we should make choice of non-free software an explicit
> action of Debian users, rather than an implicit/automated one.

Would once be fine, or should contrib/non-free users need to make an explicit 
choice every first time a package outside of Main is an installation 
candidate?

> Most of our package manager frontends — including the default one — walk
> dependency formulae left to right, preferring the first alternative if
> it is satisfiable. That means that a user installing a package with a
> dependency like the first form above will install foo-contrib without
> necessarily knowing they are doing so.
> 
> I understand it can be argued that users enabling contrib/non-free have
> decided to opt-in for non-free software. But I still don't think such a
> system-wide should be taken as a wildcard to install contrib/non-free
> packages without user consent.
> 
> If there were a way to fix a system-wide dependency solving preference
> that would favor main packages by default, unless explicitly customized
> by the sysadm, the first form might be (more) acceptable. I don't think
> it is acceptable without it.

Debian already favours Main packages by default and the sysadmin/user must 
explicitly choose to add Contrib and Non-free to the sources.list if they want 
packages from those archives--why isn't that a good enough flag of the 
sysadmin/user's dependency solving preferences?

AFAICT: A "system-wide dependency solving preference" is the same as asking 
once and is logically no different from having contrib and/or non-free lines 
in sources.list, or not. i.e, If the sysadmin wants to consider non-Main 
packages as solutions then contrib/non-free must be in the sources.list, and 
if they don't there is no point having them there. So, its not an 
additional/redundant preference that needs to be set, it is the tools which 
need to favour Main packages as solutions to dependency problems regardless of 
whether they are A, B, or C, in an A|B|C statement... I'm assuming the 
objective is to stack the deck to favour DFSG-free software.

Personally: I'd like to see any philosophical overloading of dependency 
statements disappear. The statement "A|B|C" should mean that A is the best 
choice from a technical perspective (stability, functionality, etc.) Those of 
you who don't want to pollute you system with non-DFSG-free packages can 
simply avoid putting contrib and/or non-free in your sources.list. Anyone who 
wants a finer grained mix than what including Contrib and Non-free, or not, 
gets you will need to play with pinning.


- Bruce


Reply to: