Re: Clarify rationale for ‘debian/rules’ shebang line
Ben Finney <firstname.lastname@example.org> writes:
> Manoj Srivastava <email@example.com> writes:
> > I think it would be a good idea to _add_ to policy a rule that
> > says that "make -f debian/rules" and "./debian/rules" must behave
> > identically, to prevent confusion, and to promote reproducibility, and
> > conform to the principle of least surprise.
> Rather than a new rule, I submit this patch to clarify the existing rule
> for the shebang line.
I was sloppy in my use of normative language; this is a “must” directive.
=== modified file 'policy.sgml'
--- policy.sgml 2009-10-21 20:49:37 +0000
+++ policy.sgml 2009-10-31 01:10:42 +0000
@@ -1725,7 +1725,10 @@
It must start with the line <tt>#!/usr/bin/make -f</tt>,
so that it can be invoked by saying its name rather than
- invoking <prgn>make</prgn> explicitly.
+ invoking <prgn>make</prgn> explicitly. That is, invoking
+ either of <tt>make -f debian/rules <em>args...</em></tt>
+ or <tt>./debian/rules <em>args...</em></tt> must cause
+ identical behaviour in each case.
\ “We can't depend for the long run on distinguishing one |
`\ bitstream from another in order to figure out which rules |
_o__) apply.” —Eben Moglen, _Anarchism Triumphant_, 1999 |