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

Re: etch release policy: scripts "must" set "appropriate" #! line?



Dear release team,

we have not heard from you on this.  Could you please clarify your
policy decision?  This was the central question:

Release Managers, do you think that (upstream-provided) scripts with a
Perl magic header like

,----
| eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
|   if 0;
`----

are inacceptable?  Fullquote follows,

regards, Frank

Frank Küster <frank@kuesterei.ch> wrote:

> Hi release team,
>
> this discussion is about scripts with a "magic header" instead of a
> standard shebang line.  It turned out that some magic headers, e.g. the
> one suggested in perldoc perlrun, only work if there is *no* shebang
> line.
>
> I think the Etch RC policy should be clarified or changed, see below.
>
> "Piotr Engelking" <inkerman42@gmail.com> wrote:
>
>> I believe that this bug has been resolved incorrectly. Section 10.4 of the
>> Debian Policy says:
>>
>>    "All command scripts, including the package maintainer scripts inside the
>>     package and used by dpkg, should have a #! line naming the shell to be
>>     used to interpret them."
>>
>>     In the case of Perl scripts this should be #!/usr/bin/perl."
>
> Notice it uses "should", not "must".
>
>> Moreover, section 5.g of the Etch RC Policy says:
>>
>>    "Scripts must include the appropriate #! line, and set executable."
>>
>>
>> It seems that tetex-base has a release-critical bug, and that lintian was
>> right to complain about it.
>
>>From the reading of the Etch RC Policy you are right - the RMs raised
> the requirement from a should to a must.  On the other hand, they
> introduced the nice word "appropriate".
>
> Release Managers, do you think that scripts with a Perl magic header
> like 
>
> ,----
> | eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
> |   if 0;
> `----
>
> are inacceptable?
>
> Of course I would never write a maintainer or otherwise Debian-specific
> script like this; but upstream has a reason for this "trying to be as
> portable as possible", and I'd rather not patch all instances of magic
> headers, as long as they work.
>
> TIA, Frank

-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Reply to: