[lintian] 01/01: L::Util: Fix bug in normalise_pkg_path
This is an automated email from the git hooks/post-receive script.
nthykier pushed a commit to branch master
in repository lintian.
commit cb849a8c6cf1aa66e39d97567ff923e2641e63d6
Author: Niels Thykier <niels@thykier.net>
Date: Tue Aug 6 10:03:07 2013 +0200
L::Util: Fix bug in normalise_pkg_path
Properly filter out "."-entries as they are just a "noisy" way of
writing "no change".
Signed-off-by: Niels Thykier <niels@thykier.net>
---
debian/changelog | 3 +++
lib/Lintian/Util.pm | 3 ++-
t/scripts/Lintian/Util/path.t | 6 +++---
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 09ac097..5b56105 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -74,6 +74,9 @@ lintian (2.5.16) UNRELEASED; urgency=low
* lib/Lintian/Tags.pm:
+ [NT] Take over some handling of overrides from the
frontend.
+ * lib/Lintian/Util.pm:
+ + [NT] Fix problem in normalize_pkg_path, where "."-entries
+ were not properly filtered out.
-- Niels Thykier <niels@thykier.net> Wed, 24 Jul 2013 10:30:01 +0200
diff --git a/lib/Lintian/Util.pm b/lib/Lintian/Util.pm
index 3b94b8d..03c497f 100644
--- a/lib/Lintian/Util.pm
+++ b/lib/Lintian/Util.pm
@@ -1183,7 +1183,8 @@ sub normalize_pkg_path {
pop @cc;
} else {
# usr/share + java -> usr/share/java
- push @cc, $target;
+ # but usr/share + "." -> usr/share
+ push @cc, $target if $target ne '.';
}
}
return q{} unless @cc;
diff --git a/t/scripts/Lintian/Util/path.t b/t/scripts/Lintian/Util/path.t
index c0aa2a5..58e0bdf 100644
--- a/t/scripts/Lintian/Util/path.t
+++ b/t/scripts/Lintian/Util/path.t
@@ -13,9 +13,9 @@ is(normalize_pkg_path('/usr/share/java', '/usr/share/ant/file'), 'usr/share/ant/
is(normalize_pkg_path('/usr/share/ant', '/'), q{}, 'Safe absolute root');
# Safe - relative
-is(normalize_pkg_path('/usr/share/java', './file'), 'usr/share/java/file', 'Safe simple same-dir path');
-is(normalize_pkg_path('/usr/share/java', '../ant/file'), 'usr/share/ant/file', 'Safe simple relative path');
-is(normalize_pkg_path('/usr/share/java', '../../../usr/share/ant/file'), 'usr/share/ant/file', 'Safe absurd relative path');
+is(normalize_pkg_path('/usr/share/java', './file/.'), 'usr/share/java/file', 'Safe simple same-dir path');
+is(normalize_pkg_path('/usr/share/java', '../ant/./file'), 'usr/share/ant/file', 'Safe simple relative path');
+is(normalize_pkg_path('/usr/share/java', '../../../usr/./share/../share/./ant/file'), 'usr/share/ant/file', 'Safe absurd relative path');
is(normalize_pkg_path('/usr/share/java', '.'), 'usr/share/java', 'Safe relative dot path');
is(normalize_pkg_path('/', '.'), q{}, 'Safe relative root dot');
is(normalize_pkg_path('/', 'usr/..'), q{}, 'Safe absurd relative root path');
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: