]> ruderich.org/simon Gitweb - blhc/blhc.git/commitdiff
Only return non-zero exit codes for errors in buildd mode.
authorBernhard R. Link <brlink@debian.org>
Wed, 30 May 2012 10:02:22 +0000 (12:02 +0200)
committerSimon Ruderich <simon@ruderich.org>
Thu, 31 May 2012 21:48:19 +0000 (23:48 +0200)
bin/blhc

index 544c567b37bc7434a414abb047638ee1fa9cc74a..b5dfa6822e55fec0858cd7ed4006dbbf6549143e 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -655,10 +655,10 @@ foreach my $file (@ARGV) {
                 and ($1 eq '2.8.7-1' or $1 eq '2.8.7-2')) {
             if (not $option_buildd) {
                 error_invalid_cmake($1);
+                $exit |= $exit_code{invalid_cmake};
             } else {
                 print "$buildd_tag{invalid_cmake}|$1|\n";
             }
-            $exit |= $exit_code{invalid_cmake};
         }
 
         # If hardening wrapper is used (wraps calls to gcc and adds hardening
@@ -667,10 +667,10 @@ foreach my $file (@ARGV) {
                 and $line =~ /\bhardening-wrapper\b/) {
             if (not $option_buildd) {
                 error_hardening_wrapper();
+                $exit |= $exit_code{hardening_wrapper};
             } else {
                 print "$buildd_tag{hardening_wrapper}||\n";
             }
-            $exit |= $exit_code{hardening_wrapper};
             next FILE;
         }
 
@@ -801,10 +801,10 @@ foreach my $file (@ARGV) {
     if (scalar @input == 0) {
         if (not $option_buildd) {
             print "No compiler commands!\n";
+            $exit |= $exit_code{no_compiler_commands};
         } else {
             print "$buildd_tag{no_compiler_commands}||\n";
         }
-        $exit |= $exit_code{no_compiler_commands};
         next FILE;
     }
 
@@ -899,10 +899,10 @@ LINE:
         if (is_non_verbose_build($line, $input[$i + 1], \$skip)) {
             if (not $option_buildd) {
                 error_non_verbose_build($line);
+                $exit |= $exit_code{non_verbose_build};
             } else {
                 $statistics{commands_nonverbose}++;
             }
-            $exit |= $exit_code{non_verbose_build};
             next;
         }
         # Even if it's a verbose build, we might have to skip this line.
@@ -1003,10 +1003,10 @@ LINE:
                 and index($line, '`dpkg-buildflags --get CFLAGS`') == -1) {
             if (not $option_buildd) {
                 error_flags('CFLAGS missing', \@missing, \%flag_renames, $input[$i]);
+                $exit |= $exit_code{flags_missing};
             } else {
                 $statistics{compile_missing}++;
             }
-            $exit |= $exit_code{flags_missing};
         } elsif ($compile_cpp and not all_flags_used($line, \@missing, @cflags)
                 # Libraries linked with -fPIC don't have to (and can't) be
                 # linked with -fPIE as well. It's no error if only PIE flags
@@ -1016,10 +1016,10 @@ LINE:
                 and index($line, '`dpkg-buildflags --get CXXFLAGS`') == -1) {
             if (not $option_buildd) {
                 error_flags('CXXFLAGS missing', \@missing, \%flag_renames, $input[$i]);
+                $exit |= $exit_code{flags_missing};
             } else {
                 $statistics{compile_cpp_missing}++;
             }
-            $exit |= $exit_code{flags_missing};
         }
         if ($preprocess
                 and (not all_flags_used($line, \@missing, @cppflags)
@@ -1030,10 +1030,10 @@ LINE:
                 and index($line, '`dpkg-buildflags --get CPPFLAGS`') == -1) {
             if (not $option_buildd) {
                 error_flags('CPPFLAGS missing', \@missing, \%flag_renames, $input[$i]);
+                $exit |= $exit_code{flags_missing};
             } else {
                 $statistics{preprocess_missing}++;
             }
-            $exit |= $exit_code{flags_missing};
         }
         if ($link and not all_flags_used($line, \@missing, @ldflags)
                 # Same here, -fPIC conflicts with -fPIE.
@@ -1042,10 +1042,10 @@ LINE:
                 and index($line, '`dpkg-buildflags --get LDFLAGS`') == -1) {
             if (not $option_buildd) {
                 error_flags('LDFLAGS missing', \@missing, \%flag_renames, $input[$i]);
+                $exit |= $exit_code{flags_missing};
             } else {
                 $statistics{link_missing}++;
             }
-            $exit |= $exit_code{flags_missing};
         }
     }
 }
@@ -1151,6 +1151,10 @@ detected).
 
 Don't require Term::ANSIColor.
 
+=item *
+
+Return exit code 0, unless there was a error.
+
 =back
 
 =item B<--color>