Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d1481e915f | |||
| b185a1536b | |||
| b089771d17 | |||
| f81e90d555 | |||
| fb930cdeb3 | |||
| a904bbcbe1 | |||
| ccd4a760f4 | |||
| 0944d27ce9 | |||
| d248206aaa | |||
| 65c62a3d8a | |||
| 3be8ff13d1 | |||
| 99cae9c7d1 | |||
| d0df62c8f6 | |||
| 6ee7ef7845 | |||
| b212b4ce8b | |||
| c7fce5fd62 | |||
| 330eb6faef |
@@ -26,21 +26,24 @@ my $emerge_split_install = $ENV{EMERGE_SPLIT_INSTALL} // 0;
|
||||
my $webrsync = $ENV{WEBRSYNC} // 0;
|
||||
my $enman_repositories = $ENV{ENMAN_REPOSITORIES};
|
||||
my $prune_virtuals = $ENV{PRUNE_VIRTUALS} // 0;
|
||||
my $repository_name = $ENV{REPOSITORY_NAME};
|
||||
my $enman_add_self = $ENV{ENMAN_ADD_SELF} // 1;
|
||||
my $build_injected_args = $ENV{BUILD_INJECTED_ARGS};
|
||||
my $equo_masks = $ENV{EQUO_MASKS};
|
||||
my $equo_unmasks = $ENV{EQUO_UNMASKS};
|
||||
|
||||
my $make_conf = $ENV{MAKE_CONF};
|
||||
|
||||
my @overlays;
|
||||
|
||||
my $help = 0;
|
||||
GetOptions(
|
||||
'layman|overlay:s{,}' => \@overlays,
|
||||
'equo|install:s{,}' => \@equo_install,
|
||||
'equorm|remove:s{,}' => \@equo_remove
|
||||
'equorm|remove:s{,}' => \@equo_remove,
|
||||
'help|?' => \$help
|
||||
);
|
||||
|
||||
if ( @ARGV == 0 ) {
|
||||
help();
|
||||
die();
|
||||
}
|
||||
help() if $help;
|
||||
|
||||
$ENV{LC_ALL} = "en_US.UTF-8"; #here be dragons
|
||||
|
||||
@@ -159,6 +162,7 @@ sub help {
|
||||
"You can supply multiple overlays as well: $0 plasma-meta --layman kde plab",
|
||||
"The documentation is available at https://github.com/Sabayon/devkit",
|
||||
"";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
say "****************************************************";
|
||||
@@ -178,11 +182,11 @@ say "[*] Syncing configurations files, Layman and Portage";
|
||||
|
||||
# Syncronizing portage configuration and adding overlays
|
||||
system("echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen"); #be sure about that.
|
||||
system( "cd /etc/portage/;git checkout master; git stash; git pull" );
|
||||
system("cd /etc/portage/;git checkout master; git stash; git pull");
|
||||
|
||||
if ( `uname -m` eq "x86_64\n" ) {
|
||||
system(
|
||||
"cd /etc/portage/;rm -rfv make.conf;ln -s make.conf.amd64 make.conf" );
|
||||
"cd /etc/portage/;rm -rfv make.conf;ln -s make.conf.amd64 make.conf");
|
||||
}
|
||||
|
||||
system("echo 'y' | layman -f -a $_") for @overlays;
|
||||
@@ -244,8 +248,11 @@ elsif ( $use_equo && $entropy_repository eq "testing" ) {
|
||||
if ($use_equo) {
|
||||
if ( $enman_repositories and $enman_repositories ne "" ) {
|
||||
my @enman_toadd = split( / /, $enman_repositories );
|
||||
system("enman add $_") for @enman_toadd;
|
||||
safe_call("enman add $_") for @enman_toadd;
|
||||
}
|
||||
|
||||
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");
|
||||
}
|
||||
@@ -257,6 +264,17 @@ qx|echo 'ACCEPT_LICENSE="*"' >> /etc/portage/make.conf|; #just plain evil
|
||||
my @packages = @ARGV;
|
||||
|
||||
if ($use_equo) {
|
||||
|
||||
# best effort mask
|
||||
if ($equo_masks) {
|
||||
system("equo mask $_") for ( split( / /, $equo_masks ) );
|
||||
}
|
||||
|
||||
# best effort unmask
|
||||
if ($equo_unmasks) {
|
||||
system("equo unmask $_") for ( split( / /, $equo_unmasks ) );
|
||||
}
|
||||
|
||||
my @packages_deps;
|
||||
my @Installed_Packages = qx/equo q list installed --quiet/;
|
||||
my @Available_Packages = available_packages();
|
||||
@@ -286,14 +304,17 @@ if ($use_equo) {
|
||||
say "", "[install] Those dependencies will be installed with equo :",
|
||||
@packages_deps, "";
|
||||
if ($equo_split_install) {
|
||||
safe_call("equo i --bdeps $_") for ( @packages_deps, @equo_install );
|
||||
safe_call("equo i --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 {
|
||||
safe_call("equo i --bdeps @packages_deps @equo_install")
|
||||
if ( @packages_deps > 0 or @equo_install > 0 );
|
||||
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 );
|
||||
}
|
||||
}
|
||||
@@ -303,6 +324,9 @@ say "*** Ready to compile, finger crossed ***";
|
||||
system("emerge --info")
|
||||
; #always give detailed information about the building environment, helpful to debug
|
||||
|
||||
say "Devkit version:";
|
||||
system("equo s -vq app-misc/sabayon-devkit");
|
||||
|
||||
my $rt;
|
||||
|
||||
if ($emerge_split_install) {
|
||||
@@ -319,9 +343,16 @@ else {
|
||||
|
||||
my $return = $rt >> 8;
|
||||
|
||||
# best effort -B
|
||||
if ($build_injected_args) {
|
||||
system("emerge $emerge_defaults_args -j $jobs -B $_")
|
||||
for ( split( / /, $build_injected_args ) );
|
||||
}
|
||||
|
||||
if ($preserved_rebuild) {
|
||||
|
||||
system("emerge -j $jobs --buildpkg \@preserved-rebuild");
|
||||
system("revdep-rebuild");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,10 @@ docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
|
||||
[ -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")
|
||||
[ -z "$REPOSITORY_NAME" ] || docker_env+=(-e "REPOSITORY_NAME=$REPOSITORY_NAME")
|
||||
[ -z "$ENMAN_ADD_SELF" ] || docker_env+=(-e "ENMAN_ADD_SELF=$ENMAN_ADD_SELF")
|
||||
[ -z "$EQUO_MASKS" ] || docker_env+=(-e "EQUO_MASKS=$EQUO_MASKS")
|
||||
[ -z "$EQUO_UNMASKS" ] || docker_env+=(-e "EQUO_UNMASKS=$EQUO_UNMASKS")
|
||||
|
||||
if [ -n "$REMOTE_OVERLAY" ]; then
|
||||
git clone "$REMOTE_OVERLAY" "$TEMPDIR"
|
||||
|
||||
+8
-3
@@ -54,19 +54,24 @@ mkdir -p /sabayon/artifacts
|
||||
[[ -z "\${built_pkgs}" ]] && echo "ERROR: no tbz2s found" && exit 2
|
||||
|
||||
if [ -d "/sabayon/artifacts/standard" ]; then
|
||||
echo "=== Repository already exists, syncronizing ==="
|
||||
eit unlock \$repo || true
|
||||
eit pull --quick \$repo || true
|
||||
#eit sync \$repo
|
||||
else
|
||||
echo "=== Repository is empty, intializing ==="
|
||||
echo "Yes" | eit init --quick \$repo
|
||||
eit push --quick --force
|
||||
fi
|
||||
|
||||
[ -f "/etc/entropy/mykeys/key.pub" ] && [ -f "/etc/entropy/mykeys/private.key" ] && { ! eit key status \$repo; } && \
|
||||
eit key import \$repo /etc/entropy/mykeys/private.key /etc/entropy/mykeys/key.pub && { eit key sign \$repo || true; } && { echo "=== Repository key imported successfully ==="; }
|
||||
|
||||
echo "=== Injecting packages ==="
|
||||
echo "Yes" | eit inject \${built_pkgs} || { echo "ouch unable to inject" && exit 3; }
|
||||
echo "Yes Yes Yes" | eit commit --quick
|
||||
|
||||
[ -f "/etc/entropy/mykeys/key.pub" ] && [ -f "/etc/entropy/mykeys/private.key" ] &&\
|
||||
eit key import \$repo /etc/entropy/mykeys/private.key /etc/entropy/mykeys/key.pub && { eit key sign \$repo || true; }
|
||||
|
||||
echo "=== Pushing built packages locally ==="
|
||||
eit push --quick --force
|
||||
|
||||
EOF
|
||||
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo bash << EOF
|
||||
echo "Grabbing system informations, the url to share will happear in a minute"
|
||||
(echo 'lspci'; lspci; echo 'network'; ifconfig -a; echo 'drivers'; lsmod; find /lib/modules; echo 'kernel'; uname -a) | pastebunz
|
||||
EOF
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Reference in New Issue
Block a user