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

Re: Bug#383958: lintian: python-script-but-no-python-dep error with python-support



[ Resending to get the right address -- sorry about that. ]

Cameron Dale <camrdale@gmail.com> writes:

> Package: lintian
> Version: 1.23.22
> Severity: wishlist

> Lintian generates python-script-but-no-python-dep errors for 
> binary packages depending on python-support (which depends on
> python). These dependencies are sufficient and are generated
> automatically by the dh_pysupport debhelper script.

> I asked on debian-python and they said this was a bug in
> lintian and not in python-support:

> http://lists.debian.org/debian-python/2006/08/msg00098.html

I don't think I agree with this.

python-support is a package that, at least according to its long
description, says that it provides a script that byte-compiles Python
modules.  Nothing in the description of the package says that it provides
a Python interpreter.  It happens to do so *now* because of its
dependencies, but suppose there were some reason down the road why it
might depend on some specific version of Python that didn't provide the
/usr/bin/python interpreter or otherwise changes its functionality in some
way.

Please don't rely on transitive dependencies.  It's just a lurking bug
waiting to happen.  Your package contains a Python script which requires a
Python interpreter.  It should therefore depend on the package that
provides the Python interpreter.  Unless python-support is defined to
provide a Python interpreter, it's not the correct package to depend on
for that purpose.

In general, for every interface, system service, or binary that your
package uses, you should depend directly on the package that provides that
interface, system service, or binary unless that package is essential, and
not assume that some other dependency will provide it for you.  Time and
again, transitions in Debian have proven that such assumptions break over
time and suddenly make packages RC-buggy.  Yes, sometimes it's very
unlikely that such a transition will happen, but I think it's better as a
general rule to be sure.

If it's really the intention that python-support will always provide a
Python interpreter, that should be added to its long description so that
there's documentation that this is an invariant and a promise that won't
be changed later.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: