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 <[EMAIL PROTECTED]>  Sat, 11 Nov 2006 01:32:20 -0800
+ --
 
 lintian (1.23.25) unstable; urgency=low
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to