aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/taint_and_-T.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs/taint_and_-T.mdwn')
-rw-r--r--doc/bugs/taint_and_-T.mdwn30
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/bugs/taint_and_-T.mdwn b/doc/bugs/taint_and_-T.mdwn
new file mode 100644
index 000000000..21ef17673
--- /dev/null
+++ b/doc/bugs/taint_and_-T.mdwn
@@ -0,0 +1,30 @@
+By default, tflag is not defined. But ikiwiki.in has -T causing build failure:
+
+perl -Iblib/lib ikiwiki.out -libdir . -setup docwiki.setup -refresh
+"-T" is on the #! line, it must also be used on the command line at ikiwiki.out
+line 1.
+
+> pm_filter removes the -T from ikiwiki.in when generating ikiwiki.out
+> unless NOTAINT=0 is set. I cannot reproduce your problem. --[[Joey]]
+
+>> Thanks. Now I see. NetBSD and DragonFly and several other systems don't have /usr/bin/perl so that path is replaced in the sh-bang lines of various scripts. So it doesn't match in the pm_filter expression. Can you please consider providing a variable or not matching on that assumed path to perl.
+
+ --- pm_filter.orig 2008-04-28 07:59:58 -0700
+ +++ pm_filter 2008-04-28 08:01:21 -0700
+ @@ -20,6 +20,6 @@
+ $_="use lib '$libdir';\n";
+ }
+ }
+ -elsif ($. == 1 && ($ENV{NOTAINT} || ! exists $ENV{NOTAINT}) && m{^(#!/usr/bin/perl) -T$}) {
+ +elsif ($. == 1 && ($ENV{NOTAINT} || ! exists $ENV{NOTAINT}) && m{^(#!.*) -T$}) {
+ $_=qq{$1\n};
+ }
+
+>> --[[JeremyReed]]
+
+>> I could look for "#!.*perl -T", if that would work. #!.*-T is perhaps
+>> over-broad. --[[Joey]]
+
+>>> Yes, being more precise should be fine. Note that some may have bin/perl5 or bin/perl5.8.8 for example, so please consider optional number, like ^(#!/.*/perl[0-9]*.*) -T$ or something like that.
+
+[[done]]