|
|
@@ -3,6 +3,7 @@
|
|
|
|
use Getopt::Long;
|
|
|
|
use Getopt::Long;
|
|
|
|
use v5.10;
|
|
|
|
use v5.10;
|
|
|
|
no feature "say";
|
|
|
|
no feature "say";
|
|
|
|
|
|
|
|
use Storable 'dclone';
|
|
|
|
|
|
|
|
|
|
|
|
my $profile = $ENV{BUILDER_PROFILE} // 3;
|
|
|
|
my $profile = $ENV{BUILDER_PROFILE} // 3;
|
|
|
|
my $jobs = $ENV{BUILDER_JOBS} // 1;
|
|
|
|
my $jobs = $ENV{BUILDER_JOBS} // 1;
|
|
|
@@ -91,6 +92,8 @@ sub append_to_file {
|
|
|
|
close $fh_a;
|
|
|
|
close $fh_a;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub parse_overlays { map{ $_ =~ s/.*?\:\://g; $_ } @{ dclone(\@_) }; }
|
|
|
|
|
|
|
|
|
|
|
|
sub add_portage_repository {
|
|
|
|
sub add_portage_repository {
|
|
|
|
my $repo = $_[0];
|
|
|
|
my $repo = $_[0];
|
|
|
|
my $reponame;
|
|
|
|
my $reponame;
|
|
|
@@ -306,6 +309,15 @@ sub help {
|
|
|
|
|
|
|
|
|
|
|
|
say "****************************************************";
|
|
|
|
say "****************************************************";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my $per_package_useflags;
|
|
|
|
|
|
|
|
my @packages = @ARGV;
|
|
|
|
|
|
|
|
my @injected_packages = $build_injected_args ? split( / /, $build_injected_args ) : ();
|
|
|
|
|
|
|
|
my @parsed_overlays = grep { $_ !~ /gentoo/i } parse_overlays(@packages,@injected_packages);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
say "Detected overlays: @parsed_overlays" if @parsed_overlays;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@overlays = uniq(@overlays,@parsed_overlays);
|
|
|
|
|
|
|
|
|
|
|
|
if ( @overlays > 0 ) {
|
|
|
|
if ( @overlays > 0 ) {
|
|
|
|
say "Overlay(s) to add";
|
|
|
|
say "Overlay(s) to add";
|
|
|
|
foreach my $overlay (@overlays) {
|
|
|
|
foreach my $overlay (@overlays) {
|
|
|
@@ -466,15 +478,9 @@ if ($use_equo) {
|
|
|
|
|
|
|
|
|
|
|
|
system("cp -rf $make_conf /etc/portage/make.conf") if $make_conf;
|
|
|
|
system("cp -rf $make_conf /etc/portage/make.conf") if $make_conf;
|
|
|
|
|
|
|
|
|
|
|
|
my $per_package_useflags;
|
|
|
|
if( @injected_packages ) {
|
|
|
|
my @packages = @ARGV;
|
|
|
|
|
|
|
|
my @injected_packages = ();
|
|
|
|
|
|
|
|
if ($build_injected_args) {
|
|
|
|
|
|
|
|
@injected_packages = split( / /, $build_injected_args );
|
|
|
|
|
|
|
|
say "[*] Injected installs:";
|
|
|
|
say "[*] Injected installs:";
|
|
|
|
|
|
|
|
|
|
|
|
say "\t* " . $_ for @injected_packages;
|
|
|
|
say "\t* " . $_ for @injected_packages;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Allow users to specify atoms as: media-tv/kodi[-alsa,avahi]
|
|
|
|
# Allow users to specify atoms as: media-tv/kodi[-alsa,avahi]
|
|
|
@@ -549,16 +555,6 @@ if ($use_equo) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ( $qualityassurance_checks == 1 ) {
|
|
|
|
|
|
|
|
say "*** Repoman checks ***";
|
|
|
|
|
|
|
|
for ( @packages, @injected_packages ) {
|
|
|
|
|
|
|
|
say "*** QA checks for $_";
|
|
|
|
|
|
|
|
system(
|
|
|
|
|
|
|
|
"pushd \$(dirname \$(equery which $_ 2>/dev/null)); repoman; popd"
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
say "*** Ready to compile, finger crossed ***";
|
|
|
|
say "*** Ready to compile, finger crossed ***";
|
|
|
|
|
|
|
|
|
|
|
|
system("emerge --info")
|
|
|
|
system("emerge --info")
|
|
|
@@ -592,11 +588,16 @@ if ( $preserved_rebuild and !$pretend ) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ( $qualityassurance_checks == 1 ) {
|
|
|
|
if ( $qualityassurance_checks == 1 ) {
|
|
|
|
say "*** Missing dependencies checks ***";
|
|
|
|
say "*** Quality assurance ***";
|
|
|
|
for (@packages) {
|
|
|
|
foreach my $pn ( @packages, @injected_packages ) {
|
|
|
|
say "*** DEPEND for $_";
|
|
|
|
say ">> Running repoman on $pn";
|
|
|
|
system("dynlink-scanner $_");
|
|
|
|
system(
|
|
|
|
system("depcheck $_");
|
|
|
|
"pushd \$(dirname \$(equery which $pn 2>/dev/null)); repoman; popd"
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
$pn =~ s/\:\:.*//g;
|
|
|
|
|
|
|
|
say ">> Detecting missing dependencies for $pn";
|
|
|
|
|
|
|
|
system("dynlink-scanner $pn");
|
|
|
|
|
|
|
|
system("depcheck $pn");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|