[SCM] Debian package checker branch, master, updated. 2.2.12-25-g18274b8
The following commit has been merged in the master branch:
commit 18274b836d6eb7a8f2f54a01a3c0cf80113b11ac
Author: Adam D. Barratt <adam@adam-barratt.org.uk>
Date: Wed Jul 1 19:07:13 2009 +0100
Improve detection of the "source" bashism
+ [ADB] Detect the use of the "source" bashism when the sourced filename
contains a tilde or consists of a single character. Thanks, Raphael
Geissert and Ryan Niebur.
diff --git a/checks/scripts b/checks/scripts
index 18c8067..2cc2e70 100644
--- a/checks/scripts
+++ b/checks/scripts
@@ -196,7 +196,7 @@ our $LEADIN = qr'(?:(?:^|[`&;(|{])\s*|(?:if|then|do|while)\s+)';
our @bashism_single_quote_regexs = (
$LEADIN . qr'echo\s+(?:-[^e\s]+\s+)?\'[^\']*(\\[abcEfnrtv0])+.*?[\']',
# unsafe echo with backslashes
- $LEADIN . qr'source\s+[\"\']?(?:\.\/|\/|\$|[\w.-])[^\s]+',
+ $LEADIN . qr'source\s+[\"\']?(?:\.\/|\/|\$|[\w~.-])\S*',
# should be '.', not 'source'
);
our @bashism_string_regexs = (
diff --git a/debian/changelog b/debian/changelog
index 2ceace2..52be0a3 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -40,6 +40,9 @@ lintian (2.2.13) UNRELEASED; urgency=low
mention false positives. Thanks, Raphaël Hertzog. (Closes: #534276)
+ [RA] Allow for output redirection when parsing diversions in
maintainer scripts. Thanks, Andreas Beckmann. (Closes: #534942)
+ + [ADB] Detect the use of the "source" bashism when the sourced filename
+ contains a tilde or consists of a single character. Thanks, Raphael
+ Geissert and Ryan Niebur.
* collection/strings:
+ [ADB] Handle the fact that, when Lintian is run as root, the output of
diff --git a/testset/maintainer-scripts/debian/prerm b/testset/maintainer-scripts/debian/prerm
index 88f2c7c..076ecaf 100644
--- a/testset/maintainer-scripts/debian/prerm
+++ b/testset/maintainer-scripts/debian/prerm
@@ -184,3 +184,5 @@ set -e
source "$BAR"
source '$BAR'
+source ~/bar
+source a
diff --git a/testset/tags.maintainer-scripts b/testset/tags.maintainer-scripts
index 5c1f92b..e379149 100644
--- a/testset/tags.maintainer-scripts
+++ b/testset/tags.maintainer-scripts
@@ -128,6 +128,8 @@ W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:180 'read -p'
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:181 'read --fish'
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:185 'source "$BAR"'
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:186 'source '$BAR''
+W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:187 'source ~/bar'
+W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:188 'source a'
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:19 '[ "$2" == '
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:23 'function foo('
W: maintainer-scripts: possible-bashism-in-maintainer-script prerm:26 '&>'
--
Debian package checker
Reply to: