This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
devel/devtools.pl: Add debugging info
authorKarl Williamson <khw@cpan.org>
Mon, 15 Jul 2019 21:33:04 +0000 (15:33 -0600)
committerNicolas R <atoomic@cpan.org>
Fri, 27 Sep 2019 22:39:32 +0000 (16:39 -0600)
This is triggered by either an error or verbose debugging options

(cherry picked from commit ff6dd7ca2b7c06a784c21af4d7e940268c30395a)
Signed-off-by: Nicolas R <atoomic@cpan.org>
dist/Devel-PPPort/devel/devtools.pl
dist/Devel-PPPort/devel/mktodo.pl

index 38e4e9b..f6ee3c0 100644 (file)
@@ -79,6 +79,26 @@ sub run
   $? & 128 and $rval{core}   = 1;
   $? & 127 and $rval{signal} = $? & 127;
 
+  # This is expected and isn't an error.
+  @{$rval{stderr}} = grep { $_ !~ /make.*No rule .*realclean/ } @{$rval{stderr}};
+
+  if (    exists $rval{core}
+      ||  exists $rval{signal}
+      || ($rval{status} && @{$rval{stderr}})
+      || ($opt{debug} && @{$rval{stderr}})
+
+          # verbose increases likelihood of output
+      || ($opt{debug} && $opt{verbose} && @{$rval{stdout}}))
+  {
+    print STDERR "Returning\n", Dumper \%rval;
+
+    # Under verbose, runtool already output the call string
+    unless ($opt{verbose}) {
+        print STDERR "from $prog ", join ", ", @args;
+        print STDERR "\n";
+    }
+  }
+
   return \%rval;
 }
 
index 82982a2..43357ec 100644 (file)
@@ -334,6 +334,7 @@ if ($opt{check}) {
 write_todo($todo_file, $todo_version, \%todo);
 
 # Clean up after ourselves
+$opt{debug} = 0;    # Don't care about failures
 run(qw(make realclean));
 
 exit 0;
@@ -362,7 +363,10 @@ sub regen_Makefile
   push @mf_arg, qw( DEFINE=-DDPPP_APICHECK_NO_PPPORT_H ) if $opt{base};
 
   # just to be sure
+  my $debug = $opt{debug};
+  $opt{debug} = 0;    # Don't care about failures
   run(qw(make realclean));
+  $opt{debug} = $debug;
 
   my $r = run($fullperl, "Makefile.PL", @mf_arg);
   unless ($r->{status} == 0) {