Bug#344269: lintian: false executable-not-elf-or-script warning with perl magic header
Russ Allbery <rra@debian.org> wrote:
> Frank Küster <frank@debian.org> writes:
>
>> Package: lintian
>> Version: 1.23.8
>> Severity: normal
>
>> Lintian warns about "executable-not-elf-or-script" on tetex-base's
>> thumbpdf.pl and uniqleaf.pl. Both contain a "magic perl header"
>
>> eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
>> if 0;
>> use strict;
>
>> It should either accept that header, or tell me why it is wrong. I know
>> that many trying-to-be-portable perl scripts use such a header.
>
> Is that the first line of the file? Generally one still starts such a
> script with #!/bin/sh. Otherwise, you're relying on the assumption that
> any unrecognized file is started under /bin/sh.
Yes, obviously upstream is relying on that, but it seems this is also
needed. If I add a #!/bin/sh line, I get a shell error instead of perl
execution. I don't know whether this means that the magic is not magic
enough, or what.
Regards, Frank
--
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer
Reply to: