diff --git a/Dockerfile b/Dockerfile index cb2b4ba..837e430 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get -y update && \ apt-get -y install --no-install-recommends \ git vim parted \ quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools \ - bsdtar libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc\ + libarchive-tools libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc\ binfmt-support ca-certificates qemu-utils kpartx \ && rm -rf /var/lib/apt/lists/* diff --git a/README.md b/README.md index f0a757a..62938e9 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ To install the required dependencies for `pi-gen` you should run: ```bash apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \ -dosfstools bsdtar libcap2-bin grep rsync xz-utils file git curl bc \ +dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \ qemu-utils kpartx ``` diff --git a/build-docker.sh b/build-docker.sh index 9538a8b..01fd517 100755 --- a/build-docker.sh +++ b/build-docker.sh @@ -48,6 +48,7 @@ fi CONTAINER_NAME=${CONTAINER_NAME:-pigen_work} CONTINUE=${CONTINUE:-0} PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0} +PIGEN_DOCKER_OPTS=${PIGEN_DOCKER_OPTS:-""} if [ -z "${IMG_NAME}" ]; then echo "IMG_NAME not set in 'config'" 1>&2 diff --git a/depends b/depends index cb029fd..eeb2490 100644 --- a/depends +++ b/depends @@ -7,7 +7,7 @@ zerofree zip mkdosfs:dosfstools capsh:libcap2-bin -bsdtar +bsdtar:libarchive-tools grep rsync xz:xz-utils diff --git a/scripts/common b/scripts/common index 6586052..2733fd8 100644 --- a/scripts/common +++ b/scripts/common @@ -22,8 +22,10 @@ bootstrap(){ capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true - if [ -d "$2/debootstrap" ]; then - rmdir "$2/debootstrap" + if [ -d "$2/debootstrap" ] && ! rmdir "$2/debootstrap"; then + cp "$2/debootstrap/debootstrap.log" "${STAGE_WORK_DIR}" + log "bootstrap failed: please check ${STAGE_WORK_DIR}/debootstrap.log" + return 1 fi } export -f bootstrap