use warnings;
use IPC::Open2;
use Cwd;
-use constant DOCKER => $ENV{'DOCKER_CONTAINER'} || 0;
+use constant DOCKER => -e '/.dockerenv';
my $pwd = getcwd();
# how to run poldek
my @ignore = qw(vserver-packages python-devel-src);
my @poldek;
if (DOCKER) {
- push(@poldek, "docker", "exec", DOCKER, "poldek");
+ push(@poldek, qw[poldek]);
} else {
- push(@poldek, q[sudo poldek -n th-x86_64-ready],
+ push(@poldek, qw[sudo poldek -n th-x86_64-ready],
"--cachedir=$pwd/poldekcache",
"--conf=$pwd/poldekconf/poldek.conf",
);
}
push(@poldek, (
- "--skip-installed",
+ "--skip-installed",
"-O", "ignore=" . (join " ", @ignore)
));
# for m4 in *.m4; do R=$(rpm -qf $m4); R=${R%-*-*}; \
# awk -vr=$R '/^\s*(AC_DEFUN|AU_ALIAS)/ { gsub(/\].*/,""); gsub(/.*\[/,""); print r " " $0}' $m4; \
# done | sort | awk '{print "\t\"" $2 "\" => \"" $1 "\","}'
-my %ac2br = do "findbr-ac2br";
+my %ac2br = do (DOCKER ? 'cleanbuild/findbr-ac2br' : 'findbr-ac2br');
my %cmake2br = (
"findkde4:44" => "kde4-kdelibs",
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;