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

Bug#598546: lintian: unsubstituted #!perl



Package: lintian
Version: 2.4.3
Severity: wishlist

In a perl script a #!perl is supposed to be substituted by
ExtUtils::MakeMaker, becoming the installed /usr/bin/perl,
/usr/local/bin/perl, or whatever.

Lintian could helpfully report when an executable script contains
#!perl, since it won't run.

For example, without picking on anyone, libbit-vector-perl has

    /usr/share/doc/libbit-vector-perl/examples/primes.pl

which is executable (mode 755) but has

    #!perl -w

so attempting to run it as ./primes.pl gets an error

    -bash: ./primes.pl: perl: bad interpreter: No such file or directory

I think any file with execute bits set and which starts with #!perl
could be reported, no matter what directory it's in, because it cannot
in fact be executed.

I would go further in fact and report /usr/share/doc/*/examples/* files
which start #!perl too, executable or not, as an apparently
unsubstituted MakeMaker form which on a Debian system really ought to be
#!/usr/bin/perl.



-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-486
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils               2.20.1-11         The GNU assembler, linker and bina
ii  diffstat               1.53-1            produces graph of changes introduc
ii  dpkg-dev               1.15.8.5          Debian package development tools
ii  file                   5.04-5            Determines file type using "magic"
ii  gettext                0.18.1.1-3        GNU Internationalization utilities
ii  intltool-debian        0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii  libapt-pkg-perl        0.1.24+b1         Perl interface to libapt-pkg
ii  libclass-accessor-perl 0.34-1            Perl module that automatically gen
ii  libdigest-sha-perl     5.48-1            Perl extension for SHA-1/224/256/3
ii  libipc-run-perl        0.89-1            Perl module for running processes
ii  libparse-debianchangel 1.1.1-2.1         parse Debian changelogs and output
ii  libtimedate-perl       1.2000-1          collection of modules to manipulat
ii  liburi-perl            1.55-1            module to manipulate and access UR
ii  locales                2.11.2-2          Embedded GNU C Library: National L
ii  man-db                 2.5.7-4           on-line manual pager
ii  perl [libdigest-sha-pe 5.10.1-14         Larry Wall's Practical Extraction 

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch            <none>     (no description available)
ii  libtext-template-perl         1.45-1     Text::Template perl module
ii  man-db                        2.5.7-4    on-line manual pager

-- no debconf information



Reply to: