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

Re: "Recommends" for hard dependency?



On Ma, 13 mai 14, 12:05:48, Shriramana Sharma wrote:
> Hello people. This is about:
> 
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747716
> 
> Currently libqt5sql5-sqlite is given as a recommends and not a depends
> for qttools5-dev-tools
> (https://packages.debian.org/sid/qttools5-dev-tools) whereas
> /usr/lib/x86_64-linux-gnu/qt5/bin/assistant, one of the programs
> installed by the latter package, cannot even start up without
> libqt5sql5-sqlite being installed. I hence requested to change it to
> depends.
> 
> The developers say "no, recommends is right in this case since only
> assistant requires it and the other tools in the package do not -- you
> should have recommends installed by default in your system in most
> cases -- if you don't, that's not a problem of the packaging".
> 
> I pointed out that the specification at
> https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#control
> says to use depends "if your program absolutely will not run ...
> unless a particular package is present." That guide does not speak
> anything about multiple programs installed by a package, but IMO it
> stands to reason that what is logical for one program installed by a
> package applies for many programs installed by a single package as
> well.

Not necessarily, see for example the devscripts package.

> IOW, if I install a package I expect to be able to run all the
> programs provided by it. Without a recommends being installed
> alongside, maybe some of the functionality of those programs is
> missing, but it should not fail to start altogether, which is what is
> happening in this case.

'all' is a big word here. It probably depends (ha!) a lot on the purpose 
of the package. A package containing just one program that doesn't run 
at all without another package installed should certainly Depends: on 
the other package. However, if the package in question is a collection 
of utilities like devscripts (and the package in question here it seems) 
a Depends: relationship may be too strict.

> IMO something that a program can't even start without should be a hard
> dependency and not just a recommends. A user may disable installation
> of recommends for whatever reason. This should not prevent the user
> from even starting up the program!

I don't agree with you. First, this is not about a package containing a 
single program, but about a collection of tools (see above). Second, 
installing Recommeds: is the default in Debian and has been for a few 
releases already. Whenever you deviate from the default you must be 
prepared to deal with the consequences.

Besides, if all maintainers would apply your reasoning the main benefit 
of Recommends: vs. Depends: would be lost. I have myself argued on every 
occasion (and even went as high as the Technical Committee) that 
packages should use Recommends whenever possible (especially in 
meta-packages), because otherwise users are forced to install things 
they don't really need.

> I am posting this here since the developers seem to just disagree with
> my point without providing any policy-based/logical reason. I want the
> community to weigh in with their opinion as well.

For what it's worth, to your specific case (a package containing 
multiple tools of which one doesn't work without a Recommends: package) 
I think it is entirely appropriate for the package to *not* use 
Depends:.

However, it would be a good idea (and you might want to suggest this in 
your bug report) to mention this in the package description.

Kind regards,
Andrei
-- 
http://wiki.debian.org/FAQsFromDebianUser
Offtopic discussions among Debian users and developers:
http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic
http://nuvreauspam.ro/gpg-transition.txt

Attachment: signature.asc
Description: Digital signature


Reply to: