lintian: r577 - in trunk: checks debian
Author: rra
Date: 2006-03-12 07:53:30 +0100 (Sun, 12 Mar 2006)
New Revision: 577
Modified:
trunk/checks/debconf
trunk/debian/changelog
Log:
* checks/debconf:
+ [RA] Packages that depend in dbconfig-common are allowed to have
config scripts without templates or an explicit debconf dependency.
Reported by Marcus Better. (Closes: #344421)
Modified: trunk/checks/debconf
===================================================================
--- trunk/checks/debconf 2006-03-12 06:10:12 UTC (rev 576)
+++ trunk/checks/debconf 2006-03-12 06:53:30 UTC (rev 577)
@@ -64,8 +64,48 @@
return unless $seenconfig or $seentemplates;
+# parse depends info for later checks
+
+# Consider every package to depend on itself.
+my $version;
+if (-f "fields/version") {
+ open(IN, "fields/version") or fail("Can't open fields/version: $!");
+ chomp($_ = <IN>);
+ $version = "$pkg (= $_)";
+ close IN;
+}
+
+my (%dependencies, @alldeps);
+
+for my $field (qw(depends pre-depends)) {
+ if (-f "fields/$field") {
+ open(IN, "fields/$field") or fail("Can't open fields/$field: $!");
+ chomp($_ = <IN>);
+ $_ .= ", $version" if defined $version;
+ $_ =~ s/debconf-2\.0/debconf (>= 1.2.30)/go;
+ $_ =~ s/cdebconf(-\w+)?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
+ $_ =~ s/libdebconfclient.?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
+ push @alldeps, $_;
+ $dependencies{$field} = Dep::parse($_);
+ } else {
+ my $dep = $version;
+ $dep =~ s/debconf-2\.0/debconf (>= 1.2.30)/go;
+ $dep =~ s/cdebconf(-\w+)?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
+ $dep =~ s/libdebconfclient.?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
+ push @alldeps, $dep;
+ $dependencies{$field} = Dep::parse($dep);
+ }
+}
+
+my $alldependencies = Dep::parse(join ', ', @alldeps);
+
+# See if the package depends on dbconfig-common. Packages that do are allowed
+# to have a config file with no templates, since they use the dbconfig-common
+# templates.
+my $usesdbconfig = Dep::implies($alldependencies, Dep::parse('dbconfig-common'));
+
# Check that both debconf control area files are present.
-if ($seenconfig and not $seentemplates) {
+if ($seenconfig and not $seentemplates and not $usesdbconfig) {
tag "no-debconf-templates", "";
} elsif ($seentemplates and not $seenconfig and $type ne 'udeb') {
tag "no-debconf-config", "";
@@ -186,41 +226,6 @@
}
}
-# parse depends info for later checks
-
-# Consider every package to depend on itself.
-my $version;
-if (-f "fields/version") {
- open(IN, "fields/version") or fail("Can't open fields/version: $!");
- chomp($_ = <IN>);
- $version = "$pkg (= $_)";
- close IN;
-}
-
-my (%dependencies, @alldeps);
-
-for my $field (qw(depends pre-depends)) {
- if (-f "fields/$field") {
- open(IN, "fields/$field") or fail("Can't open fields/$field: $!");
- chomp($_ = <IN>);
- $_ .= ", $version" if defined $version;
- $_ =~ s/debconf-2\.0/debconf (>= 1.2.30)/go;
- $_ =~ s/cdebconf(-\w+)?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
- $_ =~ s/libdebconfclient.?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
- push @alldeps, $_;
- $dependencies{$field} = Dep::parse($_);
- } else {
- my $dep = $version;
- $dep =~ s/debconf-2\.0/debconf (>= 1.2.30)/go;
- $dep =~ s/cdebconf(-\w+)?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
- $dep =~ s/libdebconfclient.?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;
- push @alldeps, $dep;
- $dependencies{$field} = Dep::parse($dep);
- }
-}
-
-my $alldependencies = Dep::parse(join ', ', @alldeps);
-
# Check the maintainer scripts.
if (open(PREINST, "control/preinst")) {
@@ -322,7 +327,7 @@
unless $type eq 'udeb';
}
} else {
- unless (Dep::implies($alldependencies, Dep::parse('debconf'))) {
+ unless (Dep::implies($alldependencies, Dep::parse('debconf')) or $usesdbconfig) {
tag "missing-debconf-dependency", "";
}
}
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2006-03-12 06:10:12 UTC (rev 576)
+++ trunk/debian/changelog 2006-03-12 06:53:30 UTC (rev 577)
@@ -10,6 +10,10 @@
* checks/common_data.pm:
+ [FL] Add armeb to %non_standard_archs as requested by
Martin Michlmayr. (Closes: #350653)
+ * checks/debconf:
+ + [RA] Packages that depend in dbconfig-common are allowed to have
+ config scripts without templates or an explicit debconf dependency.
+ Reported by Marcus Better. (Closes: #344421)
* checks/debconf.desc:
+ [RA] Clarify the necessary dependencies for packages using SETTITLE.
(Closes: #349616)
Reply to: