[projects/cleanbuild] findbr needs root; perl poldek invocation error reporting

glen glen at pld-linux.org
Wed Jun 14 22:50:36 CEST 2017


commit 110507d20b0a2d545c0db735127a63e74873d8d6
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Wed Jun 14 23:11:34 2017 +0300

    findbr needs root; perl poldek invocation error reporting

 docker-builder.sh |  3 ++-
 findbr            | 13 +++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/docker-builder.sh b/docker-builder.sh
index f7d1ec1..2143d21 100755
--- a/docker-builder.sh
+++ b/docker-builder.sh
@@ -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 aeea384..d049390 100755
--- 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;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/cleanbuild.git/commitdiff/4f6e2b515b98ba137dfcde393db3db0658b4bfb8



More information about the pld-cvs-commit mailing list