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

[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: