Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0f1f702c66 | |||
| c9effe3053 | |||
| 20056cb0d5 | |||
| 1076f1c2e3 | |||
| f29cd8dabc | |||
| a228567ab9 | |||
| 26389080f2 | |||
| 59ef11dc13 | |||
| aa11986503 | |||
| a37db57b82 | |||
| 88fb0d890a | |||
| 1d14348bd8 |
@@ -21,7 +21,7 @@ my $make_conf = $ENV{MAKE_CONF};
|
|||||||
|
|
||||||
my @overlays;
|
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 ) {
|
if ( @ARGV == 0 ) {
|
||||||
help();
|
help();
|
||||||
@@ -197,9 +197,15 @@ if ($use_equo) {
|
|||||||
say "", "[install] Installing missing dependencies with equo", @packages_deps, "";
|
say "", "[install] Installing missing dependencies with equo", @packages_deps, "";
|
||||||
if ($equo_split_install) {
|
if ($equo_split_install) {
|
||||||
system("equo i --bdeps $_") for (@packages_deps,@equo_install);
|
system("equo i --bdeps $_") for (@packages_deps,@equo_install);
|
||||||
|
if (@equo_remove > 0){
|
||||||
|
system("equo rm --nodeps $_") for (@equo_remove);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
system("equo i --bdeps @packages_deps @equo_install");
|
system("equo i --bdeps @packages_deps @equo_install");
|
||||||
|
if (@equo_remove > 0){
|
||||||
|
system("equo rm --nodeps @equo_remove");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+18
-2
@@ -8,6 +8,8 @@ MAKE_CONF="${MAKE_CONF:-$SAB_WORKSPACE/specs/make.conf}"
|
|||||||
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/portage_artifacts/}"
|
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/portage_artifacts/}"
|
||||||
LOCAL_OVERLAY="${LOCAL_OVERLAY:-$SAB_WORKSPACE/local_overlay}"
|
LOCAL_OVERLAY="${LOCAL_OVERLAY:-$SAB_WORKSPACE/local_overlay}"
|
||||||
ENTROPY_REPOSITORY="${ENTROPY_REPOSITORY:-main}" # Can be weekly, main, testing
|
ENTROPY_REPOSITORY="${ENTROPY_REPOSITORY:-main}" # Can be weekly, main, testing
|
||||||
|
DOCKER_OPTS="${DOCKER_OPTS:--ti --rm}"
|
||||||
|
TEMPDIR=$(mktemp -d)
|
||||||
|
|
||||||
. /sbin/sabayondevkit-functions.sh
|
. /sbin/sabayondevkit-functions.sh
|
||||||
|
|
||||||
@@ -20,6 +22,7 @@ fi
|
|||||||
docker_env=(-e "LC_ALL=en_US.UTF-8")
|
docker_env=(-e "LC_ALL=en_US.UTF-8")
|
||||||
docker_volumes=( -v "$OUTPUT_DIR:/usr/portage/packages" )
|
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_PROFILE" ] || docker_env+=(-e "BUILDER_PROFILE=$BUILDER_PROFILE")
|
||||||
[ -z "$BUILDER_JOBS" ] || docker_env+=(-e "BUILDER_JOBS=$BUILDER_JOBS")
|
[ -z "$BUILDER_JOBS" ] || docker_env+=(-e "BUILDER_JOBS=$BUILDER_JOBS")
|
||||||
[ -z "$USE_EQUO" ] || docker_env+=(-e "USE_EQUO=$USE_EQUO")
|
[ -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 "$EQUO_SPLIT_INSTALL" ] || docker_env+=(-e "EQUO_SPLIT_INSTALL=$EQUO_SPLIT_INSTALL")
|
||||||
[ -z "$ARTIFACTS_DIR" ] || docker_env+=(-e "ARTIFACTS_DIR=$ARTIFACTS_DIR")
|
[ -z "$ARTIFACTS_DIR" ] || docker_env+=(-e "ARTIFACTS_DIR=$ARTIFACTS_DIR")
|
||||||
[ -z "$ENTROPY_REPOSITORY" ] || docker_env+=(-e "ENTROPY_REPOSITORY=$ENTROPY_REPOSITORY")
|
[ -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")
|
[ -d "$LOCAL_OVERLAY" ] && docker_volumes+=(-v "$LOCAL_OVERLAY:/usr/local/portage")
|
||||||
|
|
||||||
@@ -55,6 +71,6 @@ fi
|
|||||||
|
|
||||||
echo "Spawning the package builder container for '$@'."
|
echo "Spawning the package builder container for '$@'."
|
||||||
echo ""
|
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
@@ -10,6 +10,7 @@ REPOSITORY_DESCRIPTION="${REPOSITORY_DESCRIPTION:-My Sabayon repository}"
|
|||||||
DOCKER_IMAGE="${DOCKER_IMAGE:-sabayon/eit-amd64}"
|
DOCKER_IMAGE="${DOCKER_IMAGE:-sabayon/eit-amd64}"
|
||||||
PORTAGE_ARTIFACTS="${PORTAGE_ARTIFACTS:-$SAB_WORKSPACE/portage_artifacts}"
|
PORTAGE_ARTIFACTS="${PORTAGE_ARTIFACTS:-$SAB_WORKSPACE/portage_artifacts}"
|
||||||
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/entropy_artifacts}"
|
OUTPUT_DIR="${OUTPUT_DIR:-$SAB_WORKSPACE/entropy_artifacts}"
|
||||||
|
DOCKER_OPTS="${DOCKER_OPTS:--ti --rm}"
|
||||||
|
|
||||||
args=("$@")
|
args=("$@")
|
||||||
EDITOR=cat
|
EDITOR=cat
|
||||||
@@ -95,12 +96,12 @@ function cleanup {
|
|||||||
|
|
||||||
trap cleanup EXIT
|
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
|
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 "Now you can upload its content where you want"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
@@ -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())
|
||||||
@@ -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())
|
||||||
Reference in New Issue
Block a user