Compare commits

...

13 Commits

6 changed files with 139 additions and 6 deletions
+7 -1
View File
@@ -21,7 +21,7 @@ my $make_conf = $ENV{MAKE_CONF};
my @overlays;
GetOptions( 'layman|overlay:s{,}' => \@overlays, 'equo|install:s{,}' => \@equo_install );
GetOptions( 'layman|overlay:s{,}' => \@overlays, 'equo|install:s{,}' => \@equo_install,'equorm|remove:s{,}' => \@equo_remove );
if ( @ARGV == 0 ) {
help();
@@ -197,9 +197,15 @@ if ($use_equo) {
say "", "[install] Installing missing dependencies with equo", @packages_deps, "";
if ($equo_split_install) {
system("equo i --bdeps $_") for (@packages_deps,@equo_install);
if (@equo_remove > 0){
system("equo rm --nodeps $_") for (@equo_remove);
}
}
else {
system("equo i --bdeps @packages_deps @equo_install");
if (@equo_remove > 0){
system("equo rm --nodeps @equo_remove");
}
}
}
+18 -2
View File
@@ -8,6 +8,8 @@ MAKE_CONF="${MAKE_CONF:-$SAB_WORKSPACE/specs/make.conf}"
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/portage_artifacts/}"
LOCAL_OVERLAY="${LOCAL_OVERLAY:-$SAB_WORKSPACE/local_overlay}"
ENTROPY_REPOSITORY="${ENTROPY_REPOSITORY:-main}" # Can be weekly, main, testing
DOCKER_OPTS="${DOCKER_OPTS:--ti --rm}"
TEMPDIR=$(mktemp -d)
. /sbin/sabayondevkit-functions.sh
@@ -20,6 +22,7 @@ fi
docker_env=(-e "LC_ALL=en_US.UTF-8")
docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
[ -z "$PORTAGE_CACHE" ] || docker_volumes+=(-v "$PORTAGE_CACHE:/usr/portage")
[ -z "$BUILDER_PROFILE" ] || docker_env+=(-e "BUILDER_PROFILE=$BUILDER_PROFILE")
[ -z "$BUILDER_JOBS" ] || docker_env+=(-e "BUILDER_JOBS=$BUILDER_JOBS")
[ -z "$USE_EQUO" ] || docker_env+=(-e "USE_EQUO=$USE_EQUO")
@@ -30,6 +33,19 @@ docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
[ -z "$EQUO_SPLIT_INSTALL" ] || docker_env+=(-e "EQUO_SPLIT_INSTALL=$EQUO_SPLIT_INSTALL")
[ -z "$ARTIFACTS_DIR" ] || docker_env+=(-e "ARTIFACTS_DIR=$ARTIFACTS_DIR")
[ -z "$ENTROPY_REPOSITORY" ] || docker_env+=(-e "ENTROPY_REPOSITORY=$ENTROPY_REPOSITORY")
[ -z "$DISTFILES" ] || docker_volumes+=(-v "$DISTFILES:/usr/portage/distfiles")
[ -z "$ENTROPY_DOWNLOADED_PACKAGES" ] || docker_volumes+=(-v "$ENTROPY_DOWNLOADED_PACKAGES:/var/lib/entropy/client/packages")
if [ -n "$REMOTE_OVERLAY" ]; then
git clone "$REMOTE_OVERLAY" "$TEMPDIR"
LOCAL_OVERLAY=$TEMPDIR
fi
function cleanup {
rm -rf "$TEMPDIR"
}
trap cleanup EXIT
[ -d "$LOCAL_OVERLAY" ] && docker_volumes+=(-v "$LOCAL_OVERLAY:/usr/local/portage")
@@ -55,6 +71,6 @@ fi
echo "Spawning the package builder container for '$@'."
echo ""
echo "docker run --rm ${docker_env[@]} ${docker_volumes[@]} -ti $DOCKER_IMAGE $@"
echo "docker run $DOCKER_OPTS ${docker_env[@]} ${docker_volumes[@]} $DOCKER_IMAGE $@"
docker run --rm "${docker_env[@]}" "${docker_volumes[@]}" -ti $DOCKER_IMAGE $@
docker run $DOCKER_OPTS "${docker_env[@]}" "${docker_volumes[@]}" $DOCKER_IMAGE $@
+4 -3
View File
@@ -10,6 +10,7 @@ REPOSITORY_DESCRIPTION="${REPOSITORY_DESCRIPTION:-My Sabayon repository}"
DOCKER_IMAGE="${DOCKER_IMAGE:-sabayon/eit-amd64}"
PORTAGE_ARTIFACTS="${PORTAGE_ARTIFACTS:-$SAB_WORKSPACE/portage_artifacts}"
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/entropy_artifacts}"
DOCKER_OPTS="${DOCKER_OPTS:--ti --rm}"
args=("$@")
EDITOR=cat
@@ -95,12 +96,12 @@ function cleanup {
trap cleanup EXIT
echo "docker run --rm --entrypoint /bin/bash ${docker_env[@]} ${docker_volumes[@]} -ti $DOCKER_IMAGE /sabayon/bin/create_repo.sh"
echo "docker $DOCKER_OPTS ${docker_env[@]} ${docker_volumes[@]} $DOCKER_IMAGE /sabayon/bin/create_repo.sh"
docker run --rm --entrypoint /bin/bash "${docker_env[@]}" "${docker_volumes[@]}" -ti $DOCKER_IMAGE /sabayon/bin/create_repo.sh || true
docker run $DOCKER_OPTS --entrypoint /bin/bash "${docker_env[@]}" "${docker_volumes[@]}" $DOCKER_IMAGE /sabayon/bin/create_repo.sh || true
if [ -d "$OUTPUT_DIR/standard" ]; then
echo "The Sabayon repository files are in $SAB_WORKSPACE/entropy_artifacts"
echo "The Sabayon repository files are in $OUTPUT_DIR"
echo "Now you can upload its content where you want"
echo ""
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/python
# mudler <mudler@sabayon.org>
# Edit: create a truncated tbz2 with just data
import os
import sys
from portage import xpak
def usage():
sys.stderr.write("usage: %s <tbz2_file>\n" % os.path.basename(sys.argv[0]))
def main():
if len(sys.argv) != 2:
usage()
return 1
input_file = sys.argv[1]
if not os.path.isfile(input_file):
usage()
return 1
output_file = input_file
if output_file.endswith('.tbz2'):
output_file = output_file[:-5]
output_file += '.truncated'
t = xpak.tbz2(input_file)
t.scan()
f = open(input_file, 'rb')
data = f.read(os.stat(input_file).st_size - t.xpaksize)
f.close()
f = open(output_file, 'wb')
f.write(data)
f.close()
return 0
if __name__ == '__main__':
sys.exit(main())
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/python
# mudler <mudler@sabayon.org>
# Edit: truncate a tbz2 with just data
import os
import sys
from portage import xpak
def usage():
sys.stderr.write("usage: %s <tbz2_file>\n" % os.path.basename(sys.argv[0]))
def main():
if len(sys.argv) != 2:
usage()
return 1
input_file = sys.argv[1]
if not os.path.isfile(input_file):
usage()
return 1
t = xpak.tbz2(input_file)
t.scan()
f = open(input_file, 'r+')
f.seek(-t.xpaksize, os.SEEK_END)
f.truncate()
f.close()
return 0
if __name__ == '__main__':
sys.exit(main())
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/python
import os
import sys
from portage import xpak
def usage():
sys.stderr.write("usage: %s <tbz2_file>\n" % os.path.basename(sys.argv[0]))
def main():
if len(sys.argv) != 2:
usage()
return 1
input_file = sys.argv[1]
if not os.path.isfile(input_file):
usage()
return 1
output_file = input_file
if output_file.endswith('.tbz2'):
output_file = output_file[:-5]
output_file += '.xpak'
t = xpak.tbz2(input_file)
t.scan()
f = open(input_file, 'rb')
f.seek(-t.xpaksize, 2)
data = f.read()
f.close()
f = open(output_file, 'wb')
f.write(data)
f.close()
return 0
if __name__ == '__main__':
sys.exit(main())