From 575ec04147b8341e490e25a7a736d9b53011989a Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Wed, 15 Mar 2017 11:50:41 +0100 Subject: [PATCH] builder: add PRETEND environment variable --- builder | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/builder b/builder index 072c2fc..160a3b7 100755 --- a/builder +++ b/builder @@ -40,6 +40,7 @@ my $remote_overlay = $ENV{REMOTE_OVERLAY}; my $qualityassurance_checks = $ENV{QA_CHECKS} // 0; my $remote_conf_portdir = $ENV{REMOTE_CONF_PORTDIR}; my $remote_portdir = $ENV{REMOTE_PORTDIR}; +my $pretend = $ENV{PRETEND} // 0; my $make_conf = $ENV{MAKE_CONF}; @@ -258,9 +259,9 @@ sub compile_packs { for my $pack (@packages) { my $tmp_rt; say "\n" x 2, "==== Compiling $pack ====", "\n" x 2; - if ( defined $per_package_useflags->{$target}->[$package_counter] - and @{ $per_package_useflags->{$target}->[$package_counter] } - > 0 ) + if ( defined $per_package_useflags->{$target}->[$package_counter] + and @{ $per_package_useflags->{$target}->[$package_counter] } > 0 + and !$pretend ) { say "USEFLAGS: " . join( " ", @@ -275,11 +276,14 @@ sub compile_packs { . "\" emerge $emerge_defaults_args -j $jobs $extra_arg $pack" ); } - else { + elsif ( !$pretend ) { $tmp_rt = system( "emerge $emerge_defaults_args -j $jobs $extra_arg $pack"); } + else { + say "Skipping, PRETEND=1"; + } $package_counter++; $return = $tmp_rt @@ -519,20 +523,26 @@ if ($use_equo) { @packages_deps = grep { defined() and length() } @packages_deps; #cleaning say "", "[install] Those dependencies will be installed with equo :", @packages_deps, ""; - if ($equo_split_install) { + if ( $equo_split_install and !$pretend ) { + safe_call("equo i $equo_install_args --bdeps $_") for ( @packages_deps, @equo_install ) ; ## bail out here, if installs fails. emerge will compile a LOT of stuff + if ( @equo_remove > 0 ) { system("equo rm --nodeps $_") for (@equo_remove); } } - else { + elsif ( !$pretend ) { safe_call( "equo i $equo_install_args --bdeps @packages_deps @equo_install") if ( @packages_deps > 0 or @equo_install > 0 ) ; ## bail out here, if installs fails. emerge will compile a LOT of stuff system("equo rm --nodeps @equo_remove") if ( @equo_remove > 0 ); + + } + else { + say "Skipping, PRETEND=1"; } } @@ -561,9 +571,12 @@ if ($emerge_split_install) { compile_packs( "targets", @packages ); $rt = 0; #consider the build good anyway, like a "keep-going" } -else { +elsif ( !$pretend ) { $rt = system("emerge $emerge_defaults_args -j $jobs @packages"); } +else { + say "Skipping, PRETEND=1"; +} my $return = $rt >> 8;