[SCM] Debian package checker branch, master, updated. 2.5.2-59-g462d3ba
The following commit has been merged in the master branch:
commit 462d3ba9d70e8e2bd5998ef272ece5d2f6735cb8
Author: Niels Thykier <niels@thykier.net>
Date: Sun Aug 28 19:28:41 2011 +0200
Emit "any-depends-all" substvar tag if ">=" relation is used
Previously the tag would only be emitted if the "=" relation was
used. Nevertheless, the package is also not binNMU-able if the
">=" is used.
diff --git a/checks/version-substvars b/checks/version-substvars
index a89a9d1..d8d3e15 100644
--- a/checks/version-substvars
+++ b/checks/version-substvars
@@ -24,10 +24,12 @@
# What breaks
# -----------
#
-# (b1) any -> any (= ${source:Version}) -> use b:V
-# (b2) any -> all (= ${Source-Version}) [or b:V] -> use s:V
-# (b3) all -> any (= ${either-of-them}) -> use (>= ${s:V}),
-# optionally (<< ${s:V}.1~)
+# (b1) any -> any (= ${source:Version}) -> use b:V
+# (b2) any -> all (= ${binary:Version}) [or S-V] -> use s:V
+# (b3) all -> any (= ${either-of-them}) -> use (>= ${s:V}),
+# optionally (<< ${s:V}.1~)
+#
+# Note (b2) also breaks if (>= ${binary:Version}) [or S-V] is used.
#
# Always warn on ${Source-Version} even if it doesn't break since the substvar
# is now considered deprecated.
@@ -64,7 +66,7 @@ foreach (keys %$binpkgs) {
foreach (split(m/,/, ($info->binary_field($pkg1, 'pre-depends')//'').', '.
($info->binary_field($pkg1, 'depends')//''))) {
- next unless m/(\S+)\s*\(\s*=\s*\${((?:Source-|source:|binary:)Version)}/x;
+ next unless m/(\S+)\s*\(\s*>?=\s*\${((?:Source-|source:|binary:)Version)}/x;
$pkg2 = $1;
$substvar_strips_binNMU = ($2 eq 'source:Version');
@@ -84,7 +86,8 @@ foreach (keys %$binpkgs) {
# (b1) any -> any (= ${source:Version})
tag 'not-binnmuable-any-depends-any', "$pkg1 -> $pkg2";
} elsif (not $pkg2_is_any and not $substvar_strips_binNMU) {
- # (b2) any -> all (= ${Source-Version}) [or b:V]
+ # (b2) any -> all ( = ${binary:Version}) [or S-V]
+ # or -- same -- (>= ${binary:Version}) [or S-V]
tag 'not-binnmuable-any-depends-all', "$pkg1 -> $pkg2";
}
} elsif ($pkg2_is_any) {
diff --git a/checks/version-substvars.desc b/checks/version-substvars.desc
index 5fcba0f..12fe52e 100644
--- a/checks/version-substvars.desc
+++ b/checks/version-substvars.desc
@@ -21,6 +21,9 @@ Info: The package is not safely binNMUable because an arch:any package
depends on an arch:all package with a (= ${Source-Version}) or
(= ${binary:Version}) relationship. Please use (= ${source:Version})
instead.
+ .
+ Note this is also triggered if the dependency uses (>= ${var}), since
+ that has the same issue.
Tag: not-binnmuable-all-depends-any
Severity: important
diff --git a/debian/changelog b/debian/changelog
index c0431fa..7de7094 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -51,6 +51,10 @@ lintian (2.5.3) UNRELEASED; urgency=low
* checks/standards-version:
+ [NT] Made the ancient-standards-version independent of the
system time.
+ * checks/version-substvars{,.desc}:
+ + [NT] Also emit the any-depends-all tag if the ">=" relation is
+ used. Thanks to Konstantinos Margaritis and Cyril Brulebois for
+ the report and the research. (Closes: #639144)
* collection/fields{,.desc}:
+ [NT] Removed, no longer used.
diff --git a/t/tests/version-substvars-general/debian/debian/control.in b/t/tests/version-substvars-general/debian/debian/control.in
index 1430063..d8f5c9b 100644
--- a/t/tests/version-substvars-general/debian/debian/control.in
+++ b/t/tests/version-substvars-general/debian/debian/control.in
@@ -31,7 +31,8 @@ Description: {$description} - data
Package: program-utils
Architecture: any
Depends: $\{shlibs:Depends\}, $\{misc:Depends\},
- program-bin (= $\{source:Version\})
+ program-bin (= $\{source:Version\}),
+ program-data (>= $\{binary:Version\})
Description: {$description} - extra utils
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
diff --git a/t/tests/version-substvars-general/tags b/t/tests/version-substvars-general/tags
index a394168..1c00296 100644
--- a/t/tests/version-substvars-general/tags
+++ b/t/tests/version-substvars-general/tags
@@ -1,5 +1,6 @@
E: version-substvars-general source: not-binnmuable-all-depends-any program-data-extra -> program-bin
E: version-substvars-general source: not-binnmuable-any-depends-all program-bin -> program-data
+E: version-substvars-general source: not-binnmuable-any-depends-all program-utils -> program-data
E: version-substvars-general source: not-binnmuable-any-depends-any program-utils -> program-bin
E: version-substvars-general source: version-substvar-for-external-package program-data -> foreign-pkg
W: version-substvars-general source: substvar-source-version-is-deprecated program-data
--
Debian package checker
Reply to: