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

Bug#906901: debian-policy: Perl script shebang requirement is disturbing and inconsistent with rest of policy



Russ Allbery <eagle@eyrie.org> writes:

> Did Lintian have some special case that was allowing /usr/bin/env perl
> previously and then Lintian changed based on Policy?  That would be
> unfortunate, since we thought we were changing to match Lintian....

Sigh.  Yes, indeed.

  * checks/scripts.pm:
    + [CL] Policy 10.4 states that Perl scripts must use /usr/bin/perl
      directly and not via /usr/bin/env, etc.  (Closes: #904414)

in Lintian 2.5.94.

Well, this is a mess.  Apparently a lot of people were ignoring that part
of Policy, and now we've created a ton of buggy packages because I made a
bad assumption about what Lintian was already checking for.

Perl folks, the short version is that Lintian wasn't actually checking for
scripts that used /usr/bin/env perl, so our check when we closed #683495
was bogus.  Lintian has now changed based on Policy, and it looks like
there were around 2,000 scripts in Debian that were using the /usr/bin/env
perl form.

Any feelings about where we should go from here?

I do feel like allowing either based on the whim of the packager is just
kind of bad.  It produces inconsistent behavior to no real benefit for
anyone.  If you install a Perl earlier in your PATH, you get totally
unpredictable behavior, and everyone will be unhappy half the time.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: