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

Bug#344269: etch release policy: scripts "must" set "appropriate" #! line? (was: lintian: false executable-not-elf-or-script warning with perl magic header)



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: