]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
findbr needs root; perl poldek invocation error reporting
authorElan Ruusamäe <glen@pld-linux.org>
Wed, 14 Jun 2017 20:11:34 +0000 (23:11 +0300)
committerElan Ruusamäe <glen@pld-linux.org>
Wed, 14 Jun 2017 20:11:34 +0000 (23:11 +0300)
docker-builder.sh
findbr

index f7d1ec131f1be8522d886953ecc8b64215669d64..2143d21c016c75f5087b45a10329bf65eab5f4ad 100755 (executable)
@@ -44,7 +44,8 @@ while true; do
 
        findbr=$package.findbr.log
        builddir=$(docker exec $name sh -c 'test -d rpm/BUILD/* && echo rpm/BUILD/*')
-       docker exec $name cleanbuild/findbr $builddir $buildlog > $findbr
+       # need root to run poldek
+       docker exec --user=root $name cleanbuild/findbr $builddir $buildlog > $findbr
 
        installed_something=false
        while read pkg msg; do
diff --git a/findbr b/findbr
index aeea384dc7c3814b85404d55ab7e873ea13301d6..d049390f4d5cc6ca4922c31decd6ab60dfe479a8 100755 (executable)
--- a/findbr
+++ b/findbr
@@ -11,7 +11,7 @@ my $pwd = getcwd();
 my @ignore = qw(vserver-packages python-devel-src);
 my @poldek;
 if (DOCKER) {
-       push(@poldek, "poldek");
+       push(@poldek, qw[poldek]);
 } else {
        push(@poldek, qw[sudo poldek -n th-x86_64-ready],
                "--cachedir=$pwd/poldekcache",
@@ -111,14 +111,15 @@ sub add_br
 sub poldek_cmd
 {
        my $cmd = shift;
+
        warn "Poldek: $cmd\n";
-       my $pid = open( READ, "-|", @poldek, "--shcmd=".$cmd );
 
-       my @read = <READ>;
-       close READ;
+       my @cmd = (@poldek, "--shcmd=".$cmd);
+       open my $fh, '-|', @cmd or die "$!: @cmd";
+       my @read = <$fh>;
+       close $fh or die $!;
 
-       return @read if wantarray;
-       return \@read;
+       return wantarray ? @read : \@read;
 }
 
 my $check_ac = 0;
This page took 0.124118 seconds and 4 git commands to generate.