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: