index : archiso32 | |
Archlinux32 iso tools | gitolite user |
summaryrefslogtreecommitdiff |
-rwxr-xr-x | .gitlab/ci/build-host.sh | 12 | ||||
-rwxr-xr-x | .gitlab/ci/build-inside-vm.sh | 7 |
diff --git a/.gitlab/ci/build-host.sh b/.gitlab/ci/build-host.sh index 1849420..be688bb 100755 --- a/.gitlab/ci/build-host.sh +++ b/.gitlab/ci/build-host.sh @@ -6,18 +6,20 @@ set -o nounset -o errexit readonly MIRROR="https://mirror.pkgbuild.com" +tmpdir="" + function init() { readonly ORIG_PWD="${PWD}" readonly OUTPUT="${PWD}/output" - readonly TMPDIR="$(mktemp --dry-run --directory --tmpdir="${PWD}/tmp")" - mkdir -p "${OUTPUT}" "${TMPDIR}" + tmpdir="$(mktemp --dry-run --directory --tmpdir="${PWD}/tmp")" + mkdir -p "${OUTPUT}" "${tmpdir}" - cd "${TMPDIR}" + cd "${tmpdir}" } # Do some cleanup when the script exits function cleanup() { - rm -rf -- "${TMPDIR}" + rm -rf -- "${tmpdir}" jobs -p | xargs --no-run-if-empty kill } trap cleanup EXIT @@ -146,7 +148,7 @@ function main() { ## Start build and copy output to local disk send "bash -x ./.gitlab/ci/build-inside-vm.sh ${PROFILE}\n " expect "# " 2400 # mksquashfs can take a very long time - send "cp -r --preserve=mode,timestamps -- output /mnt/project/tmp/$(basename "${TMPDIR}")/\n" + send "cp -r --preserve=mode,timestamps -- output /mnt/project/tmp/$(basename "${tmpdir}")/\n" expect "# " 60 mv output/* "${OUTPUT}/" diff --git a/.gitlab/ci/build-inside-vm.sh b/.gitlab/ci/build-inside-vm.sh index 151cc13..8e433b1 100755 --- a/.gitlab/ci/build-inside-vm.sh +++ b/.gitlab/ci/build-inside-vm.sh @@ -6,7 +6,8 @@ readonly orig_pwd="${PWD}" readonly output="${orig_pwd}/output" -readonly tmpdir="$(mktemp --dry-run --directory --tmpdir="${orig_pwd}/tmp")" +tmpdir="" +tmpdir="$(mktemp --dry-run --directory --tmpdir="${orig_pwd}/tmp")" cleanup() { # clean up temporary directories @@ -21,7 +22,7 @@ create_checksums() { sha256sum "${1}" >"${1}.sha256" sha512sum "${1}" >"${1}.sha512" b2sum "${1}" >"${1}.b2" - if [ -n "${SUDO_UID:-}" ]; then + if [[ -n "${SUDO_UID:-}" ]] && [[ -n "${SUDO_GID:-}" ]]; then chown "${SUDO_UID}:${SUDO_GID}" "${1}"{,.b2,.sha{256,512}} fi } @@ -30,7 +31,7 @@ create_zsync_delta() { # create a zsync control file for a file # $1: a file zsyncmake -C -u "${1##*/}" -o "${1}".zsync "${1}" - if [ -n "${SUDO_UID:-}" ]; then + if [[ -n "${SUDO_UID:-}" ]] && [[ -n "${SUDO_GID:-}" ]]; then chown "${SUDO_UID}:${SUDO_GID}" "${1}".zsync fi } |