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

lintian: r779 - in trunk: checks debian



Author: rra
Date: 2006-11-11 11:03:59 +0100 (Sat, 11 Nov 2006)
New Revision: 779

Modified:
   trunk/checks/fields
   trunk/debian/changelog
Log:
  + [RA] Teach the debian/rules parsing about make conditionals and
    don't require build dependencies for lines encountered inside a
    conditional (in other words, assume people using conditionals know
    what they're doing).  Fixes a false positive due to the unusual
    arch-specific build dependencies for openoffice.org, reported by
    Rene Engelhard.  (Closes: #380286)

Modified: trunk/checks/fields
===================================================================
--- trunk/checks/fields	2006-11-11 09:32:24 UTC (rev 778)
+++ trunk/checks/fields	2006-11-11 10:03:59 UTC (rev 779)
@@ -531,10 +531,20 @@
 	my $target = "none";
 	local $/ = "\n";	# Read this linewise
 	my @rules = qw(clean binary-arch build-arch);
+        my $maybe_skipping;
 	while (<RULES>) {
+		if (/^ifn?(eq|def)\s/) {
+			$maybe_skipping++;
+		} elsif (/^endif\s/) {
+			$maybe_skipping--;
+		}
 		for my $rule (@global_clean_depends) {
 			if ($_ =~ /$rule->[1]/) {
-				$needed_clean{$rule->[0]} = $rule->[2] || $needed_clean{$rule->[0]} || '';
+				if ($maybe_skipping) {
+					$allowed_clean{$rule->[0]} = 1;
+				} else {
+					$needed_clean{$rule->[0]} = $rule->[2] || $needed_clean{$rule->[0]} || '';
+				}
 			}
 		}
 		for my $rule (@global_clean_allowed) {
@@ -548,7 +558,7 @@
 			}
 		}
 		for my $rule (@global_depends) {
-			if ($_ =~ /$rule->[1]/) {
+			if ($_ =~ /$rule->[1]/ && !$maybe_skipping) {
 				$needed{$rule->[0]} = $rule->[2] || $needed{$rule->[0]} || '';
 			}
 		}
@@ -561,7 +571,11 @@
 		if (grep ($_ eq $target, @rules)) {
 			for my $rule (@rule_clean_depends) {
 				if ($_ =~ /$rule->[1]/) {
-					$needed_clean{$rule->[0]} = $rule->[2] || $needed_clean{$rule->[0]} || '';
+					if ($maybe_skipping) {
+						$allowed_clean{$rule->[0]} = 1;
+					} else {
+						$needed_clean{$rule->[0]} = $rule->[2] || $needed_clean{$rule->[0]} || '';
+					}
 				}
 			}
 			for my $rule (@rule_clean_allowed) {

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2006-11-11 09:32:24 UTC (rev 778)
+++ trunk/debian/changelog	2006-11-11 10:03:59 UTC (rev 779)
@@ -48,6 +48,12 @@
       into account transitive build dependencies.  (Closes: #393975)
     + [RA] Avoid Perl warning when diagnosing a Python-Version of the form
       "all, >= 2.4".  Thanks, Thijs Kinkhorst.  (Closes: #394104)
+    + [RA] Teach the debian/rules parsing about make conditionals and
+      don't require build dependencies for lines encountered inside a
+      conditional (in other words, assume people using conditionals know
+      what they're doing).  Fixes a false positive due to the unusual
+      arch-specific build dependencies for openoffice.org, reported by
+      Rene Engelhard.  (Closes: #380286)
   * checks/files{.desc,}:
     + [RA] Check for vim .swp files in the package.
     + [RA] Split the warning for NFS temporary files into a separate tag
@@ -76,7 +82,7 @@
       various subdirectories of its standard search path based on hardware
       capabilities.  Reported by Aurelien Jarno.  (Closes: #396278)
 
- -- Russ Allbery <rra@debian.org>  Sat, 11 Nov 2006 01:32:20 -0800
+ --
 
 lintian (1.23.25) unstable; urgency=low
 



Reply to: