#!/bin/bash set -e . /sbin/sabayondevkit-functions.sh SAB_WORKSPACE="${SAB_WORKSPACE:-$PWD}" entropysrv=$(mktemp) createrepo=$(mktemp) REPOSITORY_NAME="${REPOSITORY_NAME:-default}" 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 docker_env=(-e "EDITOR=$EDITOR" -e "REPOSITORY=$REPOSITORY_NAME" -e "LC_ALL=en_US.UTF-8") docker_volumes=( -v "$OUTPUT_DIR:/sabayon/artifacts" -v "$createrepo:/sabayon/bin/create_repo.sh" -v "$entropysrv:/etc/entropy/server.conf" -v "$PORTAGE_ARTIFACTS:/usr/portage/packages" ) [ -z "$PUBKEY" ] || docker_volumes+=(-v "$PUBKEY:/etc/entropy/mykeys/key.pub") [ -z "$PRIVATEKEY" ] || docker_volumes+=(-v "$PRIVATEKEY:/etc/entropy/mykeys/private.key") check_docker_requirements echo "Repository: $REPOSITORY_NAME" echo "Repository Description: $REPOSITORY_DESCRIPTION" echo "Remove: ${args[@]}" # Creating the building script on-the-fly cat >$createrepo <$entropysrv < community-mode = enable weak-package-files = disable database-format = bz2 # sync-speed-limit = # server-basic-languages = en_US C # disabled-eapis = 1,2 # expiration-based-scope = disable # nonfree-packages-directory-support = disable rss-feed = disable changelog = disable rss-name = packages.rss rss-base-url = http://packages.sabayon.org/?quicksearch= rss-website-url = http://www.sabayon.org/ max-rss-entries = 10000 # max-rss-light-entries = 100 rss-light-name = updates.rss managing-editor = broken-reverse-deps = disable default-repository = $REPOSITORY_NAME repository=$REPOSITORY_NAME|$REPOSITORY_DESCRIPTION|file:///sabayon/artifacts EOF function cleanup { rm -rf $createrepo rm -rf $entropysrv } trap cleanup EXIT echo "docker run $DOCKER_OPTS --entrypoint /bin/bash ${docker_env[@]} ${docker_volumes[@]} $DOCKER_IMAGE /sabayon/bin/create_repo.sh" docker run $DOCKER_OPTS --entrypoint /bin/bash "${docker_env[@]}" "${docker_volumes[@]}" $DOCKER_IMAGE /sabayon/bin/create_repo.sh || true