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

Re: gnome depends on adblock-plus



On 10/17/2013 04:00 AM, Stefan Monnier wrote:
>> 1: In fact, I think that meta-packages should only have recommendations and
>> suggestions, since they are automatically installed by a default Debian
>> configuration.
> 
> I agree that Debian's dependency management would benefit from some
> extra refinements.  The above suggestion is not quite sufficient, since
> for those users (like me) which don't want to auto-install
> recommendations, it means that "aptitude install gnome" becomes a no-op,
> whereas the user's intention is very clearly different.
> 
> So, my take on it is that Debian should add a new sort of dependency
> (call it "important"), which is stronger than a "recommendation", but
> which the user can disable.  But she couldn't disable them all-at-once
> like "recommendations", instead she would have to disable them one at
> a time.

Remember that "Recommends" is already a very strong dependency, quoting
from
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps:

Recommends
	This declares a strong, but not absolute, dependency.

	The Recommends field should list packages that would be found
	together with this one in all but unusual installations.

I will not turn of automatic installation of "Recommends" because I do
not consider my installation to be so "unusual". In my opinion a new
level of dependency is not needed; Packages should just declare less
"Recommends" in order not to lead to people disabling all recommends.

> Further along this route, I'd like APT to let me specify the packages
> I want declaratively, with a file in which I list:

Most of this can be done by using a metapackage (see below).

> - the packages that need to be installed (equivalent to the packages
>   that are marked as manually installed rather than auto-installed as
>   part of dependencies).

A metapackage could declare "Depends: package-list"

> - the dependencies that should be ignored/overruled.

This is indeed not possible with the packaging system but I also find it
very dangerous: Packages assume that their dependencies are installed
(this is the point of dependencies after all).

> - the "pin <foo> to version <bar>" (where <bar> ideally could also be
>   "stable", "testing", ...).

Explicitly declaring versions is possible via (meta)package "Depends" as
well.

> - plus more constraints like "stay away from <foo>" (so that if <foo> is
>   needed by some chain of dependencies, then I want APT to give me an
>   error rather than to install it, so I can try and work around the
>   problem).

Just let your metapackage declare "Conflicts".

As you can see, some of the features you want are already implemented in
the Debian packaging system. You might just want to create a simple
metapackage to make use of it.

Just my point of view
Linux-Fan

-- 
http://masysma.ohost.de/

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: