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

debian/rules "make -f" restriction



Hello!

Debian Policy 4.9 says about debian/rules:

"It must start with the line #!/usr/bin/make -f, so that it can be invoked by saying its name rather than invoking make explicitly."

In the VDR and VDR plugin packages, we use something like this:

/bin/sh debian/make-special-vdr.sh

make-special-vdr.sh [1] normally simply does a '/usr/bin/make -f "$@"'.
But when a special environment variable is set, it modifies the source package to build binaries with a different name.

The reason for this is, that this allows us to build VDR and VDR plugin packages for the current development version of VDR, which can be installed side-by-side to the normal VDR packages, allowing the development version to be easily tested without needing to replace the stable VDR packages.

This makes it easier for users to take a peek at newer VDR versions, before they become stable and will be released in Debian, which we believe is good, because it helps to improve the code quality.

Until now, we silently ignored the Lintian warning about this possible policy violation, because the condition "so that it can be invoked by saying its name rather than invoking make explicitly." still is true.
And it still can be built by invoking make explicitly.

Manoj Srivastava now filed some (automatic) bug reports about this,
so I'm seeking advice on what to do.

Should the policy be changed to something like:

"It must be able to be invoked by saying its name or by invoking make explicitly. This can usually be done by using #!/usr/bin/make -f" as the shebang line."

Or should we just add a Linitan override? Or do we really need to use
"#!/usr/bin/make -f" as the shebang line in debian/rules?

Personally I would vote for dropping the make requirement from the policy all together. I might be mistaken, but I think none of the build tools calls make explicitly with debian/rules. A debian/rules might even be a Python or Rake script.

Tobias

[1]: http://svn.opensourcefactory.com/svn/vdr/trunk/debian/make-special-vdr.sh


Reply to: