Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 928d6da693 | |||
| 5c927a25c6 | |||
| 813148303c | |||
| 5a3be7c0f1 | |||
| 6fbd3f4f22 | |||
| 0be7f76824 | |||
| 7b2adad931 | |||
| 6283b34be8 | |||
| 11812ff1a2 | |||
| e31a06cee3 |
@@ -0,0 +1 @@
|
||||
*.bak
|
||||
@@ -3,6 +3,7 @@
|
||||
use Getopt::Long;
|
||||
use v5.10;
|
||||
no feature "say";
|
||||
use Storable 'dclone';
|
||||
|
||||
my $profile = $ENV{BUILDER_PROFILE} // 3;
|
||||
my $jobs = $ENV{BUILDER_JOBS} // 1;
|
||||
@@ -43,6 +44,7 @@ my $remote_portdir = $ENV{REMOTE_PORTDIR};
|
||||
my $pretend = $ENV{PRETEND} // 0;
|
||||
my $obsoleted = $ENV{DETECT_OBSOLETE} // 0;
|
||||
my $target_overlay = $ENV{TARGET_OVERLAY};
|
||||
my $verbose = $ENV{BUILDER_VERBOSE} // 0;
|
||||
|
||||
my $make_conf = $ENV{MAKE_CONF};
|
||||
|
||||
@@ -66,11 +68,16 @@ sub say { print join( "\n", @_ ) . "\n"; }
|
||||
|
||||
sub safe_call {
|
||||
my $cmd = shift;
|
||||
my $rt = system($cmd);
|
||||
my $rt = _system($cmd);
|
||||
my $return = $rt >> 8;
|
||||
exit($return) if ($rt);
|
||||
}
|
||||
|
||||
sub _system {
|
||||
say "Executing: @_" if $verbose;
|
||||
return system(@_);
|
||||
}
|
||||
|
||||
sub append_to_file {
|
||||
my ( $file_name, $package ) = @_;
|
||||
|
||||
@@ -91,6 +98,10 @@ sub append_to_file {
|
||||
close $fh_a;
|
||||
}
|
||||
|
||||
sub parse_overlays {
|
||||
map { $_ =~ s/.*?\:\://g; $_ } grep {/\:\:/} @{ dclone( \@_ ) };
|
||||
}
|
||||
|
||||
sub add_portage_repository {
|
||||
my $repo = $_[0];
|
||||
my $reponame;
|
||||
@@ -110,7 +121,7 @@ sub add_portage_repository {
|
||||
}
|
||||
$reponame = ( split( /\//, $repo ) )[-1] if !$reponame;
|
||||
$reponame =~ s/\.|//g; #clean
|
||||
system("mkdir -p /etc/portage/repos.conf/")
|
||||
_system("mkdir -p /etc/portage/repos.conf/")
|
||||
if ( !-d "/etc/portage/repos.conf/" );
|
||||
|
||||
say "==== Adding $reponame ====";
|
||||
@@ -122,7 +133,7 @@ sync-uri = $repo
|
||||
auto-sync = yes' > /etc/portage/repos.conf/$reponame.conf
|
||||
}; # Declaring the repo and giving priority
|
||||
|
||||
system("emaint sync -r $reponame");
|
||||
_system("emaint sync -r $reponame");
|
||||
}
|
||||
|
||||
# Input: package, depth, and atom. Package: sys-fs/foobarfs, Depth: 1 (depth of the package tree) , Atom: 1/0 (enable disable atom output)
|
||||
@@ -138,7 +149,7 @@ sub package_deps {
|
||||
|
||||
if ( !exists $package_dep_cache{$cache_key} ) {
|
||||
my @dependencies =
|
||||
qx/equery -C -q g --depth=$depth $package/; #depth=0 it's all
|
||||
qx/equery -C -q g --depth=$depth '$package'/; #depth=0 it's all
|
||||
chomp @dependencies;
|
||||
|
||||
# If an unversioned atom is given, equery returns results for all versions in the portage tree
|
||||
@@ -148,7 +159,7 @@ sub package_deps {
|
||||
@dependencies = uniq(
|
||||
sort
|
||||
grep {$_}
|
||||
map { $_ =~ s/\[.*\]|\s//g; &atom($_) if $atom; $_ }
|
||||
map { $_ =~ s/\[.*\]|\s//g; &abs_atom($_) if $atom; $_ }
|
||||
@dependencies
|
||||
);
|
||||
|
||||
@@ -229,8 +240,12 @@ sub calculate_missing {
|
||||
# Output: atom form (sys-fs/foobarfs)
|
||||
sub atom { s/-[0-9]{1,}.*$//; }
|
||||
|
||||
sub abs_atom { atom; s/^(\<|\>|=)+// }
|
||||
|
||||
# Same again as a function
|
||||
sub to_atom { my $p = shift; $p =~ s/-[0-9]{1,}.*$//; return $p; }
|
||||
sub to_atom { my $p = shift; local $_ = $p; atom; return $_; }
|
||||
|
||||
sub to_abs_atom { my $p = shift; local $_ = $p; abs_atom; return $_; }
|
||||
|
||||
# Input: Array
|
||||
# Output: array with unique elements
|
||||
@@ -269,20 +284,20 @@ sub compile_packs {
|
||||
say "USEFLAGS: "
|
||||
. join( " ",
|
||||
@{ $per_package_useflags->{$target}->[$package_counter] } );
|
||||
$tmp_rt = system(
|
||||
$tmp_rt = _system(
|
||||
"USE=\""
|
||||
. join(
|
||||
" ",
|
||||
@{ $per_package_useflags->{$target}->[$package_counter]
|
||||
}
|
||||
)
|
||||
. "\" emerge $emerge_defaults_args -j $jobs $extra_arg $pack"
|
||||
. "\" emerge $emerge_defaults_args -j $jobs $extra_arg '$pack'"
|
||||
);
|
||||
}
|
||||
else {
|
||||
$tmp_rt =
|
||||
system(
|
||||
"emerge $emerge_defaults_args -j $jobs $extra_arg $pack");
|
||||
_system(
|
||||
"emerge $emerge_defaults_args -j $jobs $extra_arg '$pack'");
|
||||
}
|
||||
$package_counter++;
|
||||
|
||||
@@ -306,6 +321,17 @@ sub help {
|
||||
|
||||
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 ) {
|
||||
say "Overlay(s) to add";
|
||||
foreach my $overlay (@overlays) {
|
||||
@@ -332,39 +358,39 @@ system("echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen"); #be sure about that.
|
||||
|
||||
# If defined, fetch a remote /etc/portage
|
||||
if ( $remote_conf_portdir ne "" ) {
|
||||
system("rm -rf /etc/portage");
|
||||
system("git clone $remote_conf_portdir /etc/portage");
|
||||
system("chown -R portage:portage /etc/portage");
|
||||
system("chmod -R ug+w,a+rX /etc/portage");
|
||||
_system("rm -rf /etc/portage");
|
||||
_system("git clone $remote_conf_portdir /etc/portage");
|
||||
_system("chown -R portage:portage /etc/portage");
|
||||
_system("chmod -R ug+w,a+rX /etc/portage");
|
||||
}
|
||||
else {
|
||||
system("cd /etc/portage/;git checkout master; git stash; git pull");
|
||||
_system("cd /etc/portage/;git checkout master; git stash; git pull");
|
||||
}
|
||||
|
||||
# If defined, fetch a remote /usr/portage
|
||||
if ( $remote_portdir ne "" ) {
|
||||
system("rm -rf /usr/portage");
|
||||
system("git clone $remote_portdir /usr/portage");
|
||||
system("chown -R portage:portage /usr/portage");
|
||||
system("chmod -R ug+w,a+rX /usr/portage");
|
||||
_system("rm -rf /usr/portage");
|
||||
_system("git clone $remote_portdir /usr/portage");
|
||||
_system("chown -R portage:portage /usr/portage");
|
||||
_system("chmod -R ug+w,a+rX /usr/portage");
|
||||
}
|
||||
system("mkdir /var/lib/layman") if ( !-d "/var/lib/layman" );
|
||||
system("touch /var/lib/layman/make.conf && layman-updater -R")
|
||||
_system("mkdir /var/lib/layman") if ( !-d "/var/lib/layman" );
|
||||
_system("touch /var/lib/layman/make.conf && layman-updater -R")
|
||||
if ( !-e "/var/lib/layman/make.conf" );
|
||||
|
||||
system("echo 'y' | layman -f -a $_") for @overlays;
|
||||
_system("echo 'y' | layman -f -a $_") for @overlays;
|
||||
|
||||
my $reponame = "LocalOverlay";
|
||||
|
||||
# Setting up a local overlay if doesn't exists
|
||||
system(
|
||||
_system(
|
||||
"rm -rf /usr/local/portage;cp -rf /usr/local/local_portage /usr/local/portage"
|
||||
) if ( -d "/usr/local/local_portage" );
|
||||
|
||||
if ( !-f "/usr/local/portage/profiles/repo_name" ) {
|
||||
system("mkdir -p /usr/local/portage/{metadata,profiles}");
|
||||
system("echo 'LocalOverlay' > /usr/local/portage/profiles/repo_name");
|
||||
system(
|
||||
_system("mkdir -p /usr/local/portage/{metadata,profiles}");
|
||||
_system("echo 'LocalOverlay' > /usr/local/portage/profiles/repo_name");
|
||||
_system(
|
||||
"echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf");
|
||||
}
|
||||
else {
|
||||
@@ -374,8 +400,8 @@ else {
|
||||
chomp(@FILE);
|
||||
$reponame = $FILE[0];
|
||||
}
|
||||
system("chown -R portage:portage /usr/local/portage");
|
||||
system("chmod -R 755 /usr/local/portage");
|
||||
_system("chown -R portage:portage /usr/local/portage");
|
||||
_system("chmod -R 755 /usr/local/portage");
|
||||
|
||||
qx{
|
||||
echo '[$reponame]
|
||||
@@ -392,48 +418,48 @@ if ( $remote_overlay and $remote_overlay ne "" ) {
|
||||
if ( $remove_layman_overlay and $remove_layman_overlay ne "" ) {
|
||||
say "===== Removing overlays: $remove_remote_overlay =====";
|
||||
|
||||
system("layman -d $_") for ( split( / /, $remove_layman_overlay ) );
|
||||
_system("layman -d $_") for ( split( / /, $remove_layman_overlay ) );
|
||||
}
|
||||
if ( $remove_remote_overlay and $remove_remote_overlay ne "" ) {
|
||||
say "===== Removing overlays: $remove_remote_overlay =====";
|
||||
system( "rm -rfv /etc/portage/" . $_ . ".conf" )
|
||||
_system( "rm -rfv /etc/portage/" . $_ . ".conf" )
|
||||
for ( split( / /, $remote_overlay ) );
|
||||
}
|
||||
|
||||
system("mkdir -p /usr/portage/distfiles/git3-src");
|
||||
_system("mkdir -p /usr/portage/distfiles/git3-src");
|
||||
|
||||
unless ( $skip_portage_sync == 1 ) {
|
||||
|
||||
# sync portage and overlays
|
||||
system("layman -S");
|
||||
_system("layman -S");
|
||||
if ( $webrsync == 1 ) {
|
||||
system("emerge-webrsync");
|
||||
_system("emerge-webrsync");
|
||||
}
|
||||
else {
|
||||
system("emerge --sync");
|
||||
_system("emerge --sync");
|
||||
}
|
||||
}
|
||||
|
||||
# preparing for MOAR automation
|
||||
say "Setting new profile to $profile" if defined $profile;
|
||||
qx|eselect profile set $profile| if defined $profile;
|
||||
system("eselect profile list") if defined $profile;
|
||||
say "Setting new profile to $profile" if defined $profile;
|
||||
_system("eselect profile set $profile") if defined $profile;
|
||||
_system("eselect profile list") if defined $profile;
|
||||
|
||||
if ( $use_equo && $entropy_repository eq "weekly" ) {
|
||||
qx|equo repo disable sabayonlinux.org|;
|
||||
qx|equo repo enable sabayon-weekly|;
|
||||
_system("equo repo disable sabayonlinux.org");
|
||||
_system("equo repo enable sabayon-weekly");
|
||||
}
|
||||
elsif ( $use_equo && $entropy_repository eq "testing" ) {
|
||||
qx|equo repo disable sabayon-weekly|;
|
||||
qx|equo repo enable sabayonlinux.org|;
|
||||
qx|equo repo enable sabayon-limbo|;
|
||||
_system("equo repo disable sabayon-weekly");
|
||||
_system("equo repo enable sabayonlinux.org");
|
||||
_system("equo repo enable sabayon-limbo");
|
||||
}
|
||||
|
||||
if ($use_equo) {
|
||||
|
||||
say "Devkit version:";
|
||||
system("equo s -vq app-misc/sabayon-devkit");
|
||||
|
||||
_system("equo s -vq app-misc/sabayon-devkit");
|
||||
_system("enman list --installed -q");
|
||||
my $enman_list_output = qx|enman list --installed -q|;
|
||||
chomp($enman_list_output);
|
||||
my @installed_enman_repos = split( /\n/, $enman_list_output );
|
||||
@@ -456,25 +482,19 @@ if ($use_equo) {
|
||||
}
|
||||
}
|
||||
|
||||
system("enman add $repository_name")
|
||||
_system("enman add $repository_name")
|
||||
if ($enman_add_self
|
||||
and $repository_name
|
||||
and $repository_name ne "" );
|
||||
system("equo repo mirrorsort sabayonlinux.org") if $equo_mirrorsort;
|
||||
system("equo up && equo u");
|
||||
_system("equo repo mirrorsort sabayonlinux.org") if $equo_mirrorsort;
|
||||
_system("equo up && equo u");
|
||||
}
|
||||
|
||||
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;
|
||||
my @packages = @ARGV;
|
||||
my @injected_packages = ();
|
||||
if ($build_injected_args) {
|
||||
@injected_packages = split( / /, $build_injected_args );
|
||||
if (@injected_packages) {
|
||||
say "[*] Injected installs:";
|
||||
|
||||
say "\t* " . $_ for @injected_packages;
|
||||
|
||||
}
|
||||
|
||||
# Allow users to specify atoms as: media-tv/kodi[-alsa,avahi]
|
||||
@@ -532,51 +552,45 @@ if ($use_equo) {
|
||||
say "", "[install] Those dependencies will be installed with equo :",
|
||||
@packages_deps, "";
|
||||
if ($equo_split_install) {
|
||||
safe_call("equo i $equo_install_args --bdeps $_")
|
||||
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 and !$pretend ) {
|
||||
say "Removing with equo: @equo_remove";
|
||||
system("equo rm --nodeps $_") for (@equo_remove);
|
||||
_system("equo rm --nodeps '$_'") for (@equo_remove);
|
||||
}
|
||||
}
|
||||
else {
|
||||
safe_call(
|
||||
"equo i $equo_install_args --bdeps @packages_deps @equo_install")
|
||||
if ( @packages_deps > 0 or @equo_install > 0 )
|
||||
my @p = map {"'$_'"} ( @packages_deps, @equo_install );
|
||||
my @r = map {"'$_'"} @equo_remove;
|
||||
safe_call("equo i $equo_install_args --bdeps @p")
|
||||
if ( @p > 0 )
|
||||
; ## bail out here, if installs fails. emerge will compile a LOT of stuff
|
||||
system("equo rm --nodeps @equo_remove") if ( @equo_remove > 0 );
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
);
|
||||
_system("equo rm --nodeps @r") if ( @r > 0 );
|
||||
}
|
||||
}
|
||||
|
||||
say "*** Ready to compile, finger crossed ***";
|
||||
|
||||
system("emerge --info")
|
||||
_system("emerge --info")
|
||||
; #always give detailed information about the building environment, helpful to debug
|
||||
|
||||
my $rt;
|
||||
|
||||
if ( $emerge_remove and $emerge_remove ne "" ) {
|
||||
say "Removing with emerge: $emerge_remove";
|
||||
system("emerge -C $_") for split( / /, $emerge_remove );
|
||||
_system("emerge -C '$_'") for split( / /, $emerge_remove );
|
||||
}
|
||||
|
||||
_system("chmod +x /pre-script;./pre-script") if -e "/pre-script";
|
||||
|
||||
if ($emerge_split_install) {
|
||||
compile_packs( "targets", @packages );
|
||||
$rt = 0; #consider the build good anyway, like a "keep-going"
|
||||
}
|
||||
else {
|
||||
$rt = system("emerge $emerge_defaults_args -j $jobs @packages");
|
||||
my @p = map {"'$_'"} @packages;
|
||||
$rt = _system("emerge $emerge_defaults_args -j $jobs @p");
|
||||
}
|
||||
|
||||
my $return = $rt >> 8;
|
||||
@@ -584,25 +598,33 @@ my $return = $rt >> 8;
|
||||
# best effort -B
|
||||
compile_packs( "injected_targets", @injected_packages );
|
||||
|
||||
_system("chmod +x /post-script;./post-script") if -e "/post-script";
|
||||
|
||||
if ( $preserved_rebuild and !$pretend ) {
|
||||
|
||||
system("emerge -j $jobs --buildpkg \@preserved-rebuild");
|
||||
system("revdep-rebuild");
|
||||
_system("emerge -j $jobs --buildpkg \@preserved-rebuild");
|
||||
_system("revdep-rebuild");
|
||||
|
||||
}
|
||||
|
||||
if ( $qualityassurance_checks == 1 ) {
|
||||
say "*** Missing dependencies checks ***";
|
||||
for (@packages) {
|
||||
say "*** DEPEND for $_";
|
||||
system("dynlink-scanner $_");
|
||||
system("depcheck $_");
|
||||
say "*** Quality assurance ***";
|
||||
foreach my $pn ( map { abs_atom; $_ } ( @packages, @injected_packages ) )
|
||||
{
|
||||
say ">> Running repoman on $pn";
|
||||
_system(
|
||||
"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'");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $obsoleted and $target_overlay ) {
|
||||
say "*** Detecting obsoletes ***";
|
||||
system("sabayon-detectobsolete --overlay ${target_overlay}");
|
||||
_system("sabayon-detectobsolete --overlay ${target_overlay}");
|
||||
}
|
||||
|
||||
# Copy files to artifacts folder
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/env perl
|
||||
# This code is licenced GPLv2 or newer.
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use 5.010;
|
||||
|
||||
my $g_thres = shift // 3;
|
||||
|
||||
sub set_atoms {
|
||||
my %atoms = ();
|
||||
my $fh = shift;
|
||||
while (my $line = <$fh>) {
|
||||
chomp $line;
|
||||
my @words = split(' ', $line, 2);
|
||||
next if $words[0] eq "??"; # allow "dangling" files
|
||||
my $what = $words[1];
|
||||
@words = split(m:/:, $what);
|
||||
my $pkg;
|
||||
if (@words >= 2) {
|
||||
$pkg = join("/", @words[0..1]);
|
||||
} else {
|
||||
$pkg = $words[0]
|
||||
}
|
||||
$atoms{$pkg} = 1;
|
||||
}
|
||||
keys %atoms
|
||||
}
|
||||
|
||||
sub num {
|
||||
my $what = shift;
|
||||
my @arr = @_;
|
||||
my $num = 0;
|
||||
for (@arr) {
|
||||
$num++ if index($_, "$what-") == 0
|
||||
}
|
||||
$num
|
||||
}
|
||||
|
||||
sub replace {
|
||||
my $atom = shift;
|
||||
my @arr = @_;
|
||||
my @new_arr;
|
||||
for my $item (@arr) {
|
||||
if( index($item, $atom) == 0 ) {
|
||||
1;
|
||||
} else {
|
||||
push @new_arr, $item;
|
||||
}
|
||||
}
|
||||
push @new_arr, "$atom*";
|
||||
@new_arr;
|
||||
}
|
||||
|
||||
# try to make (a*, b, c*) from (a-1, a, a-2, b, c, c-1),
|
||||
# for example, if numberOf(/^a-?/) >= $thres
|
||||
sub do_reduce {
|
||||
my $thres = shift;
|
||||
my @atoms = @_;
|
||||
my @processed_atoms = @atoms;
|
||||
for my $atom (@atoms) {
|
||||
@processed_atoms = replace($atom, @processed_atoms)
|
||||
if (num($atom, @processed_atoms) >= $thres);
|
||||
}
|
||||
@processed_atoms
|
||||
}
|
||||
|
||||
#my @atoms = set_atoms(*DATA);
|
||||
my @atoms = set_atoms(*STDIN);
|
||||
@atoms = do_reduce($g_thres, @atoms);
|
||||
say join ",", sort @atoms;
|
||||
|
||||
__DATA__
|
||||
M net-p2p/transmission-base/metadata.xml
|
||||
M net-p2p/transmission-cli/metadata.xml
|
||||
M net-p2p/transmission-daemon/metadata.xml
|
||||
M net-p2p/transmission-gtk/metadata.xml
|
||||
M net-p2p/transmission-qt4/metadata.xml
|
||||
M net-p2p/transmission/metadata.xml
|
||||
M cat/pkg-1
|
||||
M cat/pkg-2
|
||||
M cat/pkg
|
||||
M net-p2p/nic
|
||||
?? betr.pl
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
# This code is licenced GPLv2 or newer.
|
||||
|
||||
# An example hook script to prepare the commit log message.
|
||||
# Called by "git commit" with the name of the file that has the
|
||||
# commit message, followed by the description of the commit
|
||||
# message's source. The hook's purpose is to edit the commit
|
||||
# message file. If the hook fails with a non-zero status,
|
||||
# the commit is aborted.
|
||||
|
||||
_out=$(git status -s | overlays-commit-msg.pl)
|
||||
_ver=$(git status -s | sed -rn 's/^[AR] *(.* -> )?.*-([^-]+)\.ebuild$/\2/p' | head -n 1)
|
||||
_bump=${_ver:+version bump to $_ver}
|
||||
|
||||
case $2 in
|
||||
#message)
|
||||
# sed -i -e "1s:^:[$_subdir/$_curdir] :" "$1" ;;
|
||||
"")
|
||||
sed -i -e "1i[$_out] $_bump" "$1" ;;
|
||||
esac
|
||||
@@ -41,6 +41,7 @@ docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
|
||||
[ -z "$ENMAN_REPOSITORIES" ] || docker_env+=(-e "ENMAN_REPOSITORIES=$ENMAN_REPOSITORIES")
|
||||
[ -z "$REMOVE_ENMAN_REPOSITORIES" ] || docker_env+=(-e "REMOVE_ENMAN_REPOSITORIES=$REMOVE_ENMAN_REPOSITORIES")
|
||||
[ -z "$DISTFILES" ] || docker_volumes+=(-v "$DISTFILES:/usr/portage/distfiles")
|
||||
[ -z "$INTERNAL_BUILDER" ] || docker_volumes+=(-v "$INTERNAL_BUILDER:/usr/sbin/builder")
|
||||
[ -z "$ENTROPY_DOWNLOADED_PACKAGES" ] || docker_volumes+=(-v "$ENTROPY_DOWNLOADED_PACKAGES:/var/lib/entropy/client/packages")
|
||||
[ -z "$DISTCC_HOSTS" ] || docker_env+=(-e "DISTCC_HOSTS=$DISTCC_HOSTS")
|
||||
[ -z "${PRUNE_VIRTUALS}" ] || docker_env+=(-e "PRUNE_VIRTUALS=$PRUNE_VIRTUALS")
|
||||
@@ -57,9 +58,13 @@ docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
|
||||
[ -z "$REMOTE_PORTDIR" ] || docker_env+=(-e "REMOTE_PORTDIR=$REMOTE_PORTDIR")
|
||||
[ -z "$ETP_NOCACHE" ] || docker_env+=(-e "ETP_NOCACHE=$ETP_NOCACHE")
|
||||
[ -z "$PRETEND" ] || docker_env+=(-e "PRETEND=$PRETEND")
|
||||
[ -z "$BUILDER_VERBOSE" ] || docker_env+=(-e "BUILDER_VERBOSE=$BUILDER_VERBOSE")
|
||||
[ -z "$DETECT_OBSOLETE" ] || docker_env+=(-e "DETECT_OBSOLETE=$DETECT_OBSOLETE")
|
||||
[ -z "$TARGET_OVERLAY" ] || docker_env+=(-e "TARGET_OVERLAY=$TARGET_OVERLAY")
|
||||
[ -d "$LOCAL_OVERLAY" ] && docker_volumes+=(-v "$LOCAL_OVERLAY:/usr/local/local_portage")
|
||||
[ -z "$SHARE_WORKSPACE" ] || docker_volumes+=(-v "$SAB_WORKSPACE:/devkit-workspace")
|
||||
[ -z "$PRE_SCRIPT" ] || docker_volumes+=(-v "$PRE_SCRIPT:/pre-script")
|
||||
[ -z "$POST_SCRIPT" ] || docker_volumes+=(-v "$POST_SCRIPT:/post-script")
|
||||
|
||||
if [ -e $MAKE_CONF ]; then
|
||||
echo "You specified a make.conf. I hope you know what are you doing"
|
||||
@@ -87,4 +92,4 @@ echo "Spawning the package builder container for '$@'."
|
||||
echo ""
|
||||
echo "docker run $DOCKER_OPTS \"${docker_env[@]}\" \"${docker_volumes[@]}\" $DOCKER_IMAGE $@"
|
||||
|
||||
docker run $DOCKER_OPTS "${docker_env[@]}" "${docker_volumes[@]}" $DOCKER_IMAGE $@
|
||||
docker run $DOCKER_OPTS "${docker_env[@]}" "${docker_volumes[@]}" $DOCKER_IMAGE "$@"
|
||||
|
||||
@@ -6,7 +6,7 @@ check_docker_requirements(){
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
groups | grep -q docker || echo "--> If you are not running the script as root, your user should be in the docker group to use it. (sudo gpasswd -a $USER docker)"
|
||||
fi
|
||||
ps aux | grep -q '[d]ocker' || echo "--> Be sure to have the docker daemon running (sudo systemctl start docker) of configure it to run on boot (sudo systemctl enable docker). Trying to start it anyway" && sudo systemctl start docker || true
|
||||
ps aux | grep -q '[d]ocker' || echo "--> Be sure to have the docker daemon running (sudo systemctl start docker) of configure it to run on boot (sudo systemctl enable docker). Trying to start it anyway" && systemctl start docker || true
|
||||
}
|
||||
|
||||
die() { echo "$@" 1>&2 ; exit 1; }
|
||||
|
||||
Reference in New Issue
Block a user