Thanks for enhancing the verbose functionality. A couple comments below. On Sat, Sep 12, 2015 at 04:03:38PM +0000, Osamu Aoki wrote: > This is an automated email from the git hooks/post-receive script. > > osamu pushed a commit to branch master > in repository devscripts. > > commit ec64b2f86b26da9040880cf595b3ce817c446c62 > Author: Osamu Aoki <[email protected]> > Date: Sun Sep 6 17:01:24 2015 +0900 > > uscan: --verbose > > [uscan] please offer debugging possibility for mangle rules > https://bugs.debian.org/350454
I'm not sure how the below changes are addressing the request from that
bug. In fact, it looks like that was already addressed, but not closed,
by cd2ff7ec.
> * start uupdate --verbose as needed
> * retain output of script if ---verbose
> * use dpkg::IPC as much to be consistent
> ---
> scripts/uscan.pl | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/uscan.pl b/scripts/uscan.pl
> index 33f3ad4..a401544 100755
> --- a/scripts/uscan.pl
> +++ b/scripts/uscan.pl
> @@ -1547,20 +1547,30 @@ EOF
> if ($action =~ /^uupdate(\s|$)/) {
> push @cmd, "--no-symlink";
> }
> + if ($verbose) {
> + push @cmd, "--verbose";
> + }
The $verbose block should probably be inside the previous if, since we
only know for sure that uupdate supports --verbose. If someone isn't
using uupdate as the action, then passing --verbose may cause it to
fail.
> if ($watch_version > 1) {
> push @cmd, "--upstream-version", $newversion, $path;
> } else {
> push @cmd, $path, $newversion;
> }
> + my $msg;
> my $actioncmd = join(" ", @cmd);
> print "-- Executing user specified script\n $actioncmd\n" if
> $verbose;
> if ($dehs) {
> - my $msg = "Executing user specified script: $actioncmd; output:\n";
> - $msg .= `$actioncmd 2>&1`;
> + spawn(exec => \@cmd,
> + error_to_string => \$msg,
> + wait_child => 1);
This needs to use nocheck => 1 to retain the previous behavior of not
exiting the script if the user action errors. It also needs to use the
to_string key to capture the stdout in another variable.
> + $msg = $msg .
> + "Executing user specified script: $actioncmd; output:\n";
I think you wanted the literal string first, so the output continues to
be after the "output:" part of the message.
> dehs_msg($msg);
> } else {
> - system(@cmd);
> + spawn(exec => \@cmd,
> + error_to_string => \$msg,
> + wait_child => 1);
Similar changes are needed here regarding nocheck and to_string.
> + print "$msg\n" if $verbose;
> }
> }
Cheers,
--
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <[email protected]>
signature.asc
Description: Digital signature
_______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
