Package: lintian Version: 2.5.13 control: tags -1 + patch
From 933ff11c5766d08e3d1a1eb65f87a37929d06c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20ROUCARI=C3=88S?= <roucaries.bast...@gmail.com> Date: Mon, 29 Jul 2013 16:58:56 +0200 Subject: [PATCH] Fix false-negative brace-expansion-in-debhelper-config-file for "{, foo}"
Lintian does not trigger for: for patterns like this: {,foo} or this: {foo,} --- checks/debhelper.pm | 2 +- .../debian/debian/control.in | 84 ++++++++++++++++++++ .../debian/debhelper-brace-problem-1.install | 1 + .../debian/debhelper-brace-problem-2.install | 1 + .../debian/debhelper-brace-problem-3.install | 1 + .../debian/debhelper-brace-problem-4.install | 1 + .../debian/debhelper-brace-problem-5.install | 1 + .../debian/debhelper-brace-problem-6.install | 1 + .../debian/debhelper-brace-problem-good.install | 2 + .../debian/debian/install | 1 - 10 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/control.in create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-1.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-2.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-3.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-4.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-5.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-6.install create mode 100644 t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-good.install delete mode 100644 t/tests/debhelper-brace-expansion/debian/debian/install diff --git a/checks/debhelper.pm b/checks/debhelper.pm index 7232497..8592a56 100644 --- a/checks/debhelper.pm +++ b/checks/debhelper.pm @@ -363,7 +363,7 @@ for my $file (sort(readdir($dirfd))) { while (<$fd>) { next if /^\s*$/; next if (/^\#/ and $level >= 5); - if (m/(?<!\\)\{(?:[^\s\\\}]+?,)+[^\\\}\s]+\}/) { + if (m/(?<!\\)\{(?:[^\s\\\},]*?,)*[^\\\}\s,]+,*\}/) { tag 'brace-expansion-in-debhelper-config-file', "debian/$file"; last; diff --git a/t/tests/debhelper-brace-expansion/debian/debian/control.in b/t/tests/debhelper-brace-expansion/debian/debian/control.in new file mode 100644 index 0000000..6e46db9 --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/control.in @@ -0,0 +1,84 @@ +Source: {$srcpkg} +Priority: extra +Section: {$section} +Maintainer: {$author} +Standards-Version: {$standards_version} +Build-Depends: debhelper (>= 9) + +Package: {$srcpkg} +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: debhelper-brace-problem-1 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} another extra string + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string. It may be an empty package. + +Package: debhelper-brace-problem-2 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} another extra string three + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string three. It may be an empty package. + +Package: debhelper-brace-problem-3 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} three test case + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string three test case. It may be an empty package. + +Package: debhelper-brace-problem-4 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} fourth test case + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string fourth test case. It may be an empty package. + +Package: debhelper-brace-problem-5 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} fifth test case + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string fifth test case. It may be an empty package. + +Package: debhelper-brace-problem-6 +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} sixth test case + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Extra + string sixth test case. It may be an empty package. + +Package: debhelper-brace-problem-good +Architecture: {$architecture} +Depends: $\{misc:Depends\} +Description: {$description} good test case + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. Should + not trigger lintian test. It may be an empty package. + + + + + + diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-1.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-1.install new file mode 100644 index 0000000..917db1f --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-1.install @@ -0,0 +1 @@ +{,foo}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-2.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-2.install new file mode 100644 index 0000000..c0a7ccb --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-2.install @@ -0,0 +1 @@ +{foo,bar}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-3.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-3.install new file mode 100644 index 0000000..7276554 --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-3.install @@ -0,0 +1 @@ +{foo,}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-4.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-4.install new file mode 100644 index 0000000..05031a8 --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-4.install @@ -0,0 +1 @@ +{,,foo}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-5.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-5.install new file mode 100644 index 0000000..576e6a4 --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-5.install @@ -0,0 +1 @@ +{,foo,}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-6.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-6.install new file mode 100644 index 0000000..79dd5dc --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-6.install @@ -0,0 +1 @@ +{foo}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-good.install b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-good.install new file mode 100644 index 0000000..7b81943 --- /dev/null +++ b/t/tests/debhelper-brace-expansion/debian/debian/debhelper-brace-problem-good.install @@ -0,0 +1,2 @@ +\{.txt usr/share/debhelper +\{good\}.txt usr/share/debhelper diff --git a/t/tests/debhelper-brace-expansion/debian/debian/install b/t/tests/debhelper-brace-expansion/debian/debian/install deleted file mode 100644 index c0a7ccb..0000000 --- a/t/tests/debhelper-brace-expansion/debian/debian/install +++ /dev/null @@ -1 +0,0 @@ -{foo,bar}.txt usr/share/debhelper -- 1.7.10.4