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

Bug#510190: lintian: missing-dep-for-interpreter confused by unusual layout



Lintian actually isn't confused at all.  It's behaving as designed.
Whether that design is correct in this case is another question, though.

Neil Williams <codehelp@debian.org> writes:

> The server-side package depends on dpkg-dev and lintian complains:
>
> E: emdebian-grip-server: missing-dep-for-interpreter make => make |
> build-essential (./usr/share/emdebian-tools/grip-config/debian/rules)

> dpkg-dev depends on make and Recommends build-essential.

> I'm expecting to use lndir or similar to create a writeable directory
> containing the relevant build files for grip-config, use
> dpkg-buildpackage -uc- us and then include the generated .changes file
> directly into the repository maintained by emdebian-grip-server and
> remove the build directory. This could become a script within
> emdebian-grip-server itself in due course.

> I appreciate this is an unusual situation, but could dpkg-dev be
> accepted by lintian as providing the relevant interpreter for
> debian/rules when installed in /usr/share/ ?

The standard answer to this (this is where the design part comes in) is
that Lintian very intentionally doesn't respect transitive dependencies.
If your package uses a program, you should depend on that package
directly, even if one of your dependencies also depends on it.  This
ensures that your package won't suddenly become buggy if something changes
about the implementation of the package on which you depend.

That being said, I can see the argument that you're not calling make
directly; the package itself only uses dpkg-buildpackage.  Also, given
that the defined build interface for a Debian package is make, it's hard
to imagine dpkg-dev ever *not* depending on make.

However, before I make that change, one question: why are you depending on
dpkg-dev instead of build-essential (which Lintian would already respect
and which is the more standard way of getting all of the tools required to
build a Debian package)?  Is it because you don't want the compilers?

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



Reply to: