Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Clarify rationale for ‘debian/rules’ shebang line (was: debian/rules "make -f" restriction)

0 views
Skip to first unread message

Ben Finney

unread,
Oct 30, 2009, 9:10:02 PM10/30/09
to
Manoj Srivastava <sriv...@debian.org> 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.

=== modified file 'policy.sgml'
--- policy.sgml 2009-10-21 20:49:37 +0000
+++ policy.sgml 2009-10-31 00:59:18 +0000
@@ -1725,7 +1725,10 @@
<p>
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> should cause
+ identical behaviour in each case.
</p>

<p>

--
\ “Listen: we are here on Earth to fart around. Don't let anybody |
`\ tell you otherwise.” —_Timequake_, Kurt Vonnegut |
_o__) |
Ben Finney


--
To UNSUBSCRIBE, email to debian-dev...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Ben Finney

unread,
Oct 30, 2009, 9:20:02 PM10/30/09
to
Ben Finney <ben+d...@benfinney.id.au> writes:

> Manoj Srivastava <sriv...@debian.org> 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 @@
<p>
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.
</p>

<p>

--
\ “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 |

Tollef Fog Heen

unread,
Oct 31, 2009, 5:00:01 AM10/31/09
to
]] Ben Finney

| === modified file 'policy.sgml'
| --- policy.sgml 2009-10-21 20:49:37 +0000
| +++ policy.sgml 2009-10-31 00:59:18 +0000
| @@ -1725,7 +1725,10 @@
| <p>
| It must start with the line <tt>#!/usr/bin/make -f</tt>,

This should probably also be changed to allow «#! /usr/bin/make -f»
too. There's no reason to mandate one particular style of hashbangs.

--
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are

0 new messages