[Merge] ~3v1n0/ubuntu-dev-tools:mksbuild-hook into ubuntu-dev-tools:master

Marco Trevisan (TreviƱo) mail at 3v1n0.net
Mon May 3 12:16:33 UTC 2021



Diff comments:

> diff --git a/mk-sbuild b/mk-sbuild
> old mode 100755
> new mode 100644
> index 75abfda..ec61f55
> --- a/mk-sbuild
> +++ b/mk-sbuild
> @@ -911,6 +944,82 @@ esac
>  # Run finalization script on the "golden" copy via schroot.
>  sudo schroot -c source:$CHROOT_NAME -u root /finish.sh
>  
> +if [ -x ~/.mk-sbuild.finish.sh ]; then
> +    sudo cp ~/.mk-sbuild.finish.sh "$MNT"/tmp/local-finish-hook.sh
> +
> +    sudo bash -c "cat > $MNT/tmp/local-finish-loader.sh" <<EOM
> +#!/bin/bash
> +if [ "$DEBUG" = 1 ]; then
> +    set -x
> +fi
> +set -e
> +EOM
> +
> +    environment=(
> +        BUILD_PKGS
> +        CCACHE
> +        CHROOT_ARCH
> +        CHROOT_NAME
> +        COMPONENTS
> +        DEBOOTSTRAP_EXCLUDE
> +        DEBOOTSTRAP_INCLUDE
> +        DEBOOTSTRAP_KEYRING
> +        DEBOOTSTRAP_MIRROR
> +        DEBOOTSTRAP_NO_CHECK_GPG
> +        DEBOOTSTRAP_OPTS
> +        DEBOOTSTRAP_PROXY
> +        DEBUG
> +        DISTRO
> +        EATMYDATA
> +        EXPERIMENTAL
> +        HOST_ARCH
> +        LV_SIZE
> +        OVERLAY_FS
> +        RELEASE
> +        SCHROOT_PROFILE
> +        SCHROOT_TYPE
> +        SKIP_PROPOSED
> +        SKIP_RECOMMENDS
> +        SKIP_SECURITY
> +        SKIP_UPDATES
> +        SNAPSHOT_SIZE
> +        SOURCES_PROPOSED_SUITE
> +        SOURCES_SECURITY_SUITE
> +        SOURCES_SECURITY_URL
> +        TARGET_ARCH
> +        VG
> +        name
> +        personality
> +        proxy
> +    )
> +
> +    for var in ${environment[@]}; do
> +        value="${!var}"
> +        sudo bash -c "cat >> $MNT/tmp/local-finish-loader.sh" <<EOM
> +export $var="$value"
> +EOM
> +    done
> +
> +sudo bash -c "cat >> $MNT/tmp/local-finish-loader.sh" <<EOM
> +source /tmp/local-finish-hook.sh

So, mostly that was the point... So force bash usage. Even if someone could install other languages at previous stage, IMHO it would be better to restrict this (as it may be used by multiple archs, or distros).

> +
> +rm /tmp/local-finish-hook.sh
> +rm \$0
> +EOM
> +
> +    sudo chmod a+x "$MNT"/tmp/local-finish-loader.sh
> +
> +    ret=0
> +    sudo schroot -c source:$CHROOT_NAME -u root /tmp/local-finish-loader.sh || ret=$?
> +
> +    if [ $ret != 0 ]; then
> +        echo "Local finish script failed, removing the schroot"
> +        sudo rm --recursive --one-file-system "$CHROOT_PATH" \
> +            /etc/schroot/chroot.d/sbuild-"$CHROOT_NAME"
> +        exit $ret
> +    fi
> +fi
> +
>  # Finished
>  echo ""
>  echo "Done building $CHROOT_NAME."


-- 
https://code.launchpad.net/~3v1n0/ubuntu-dev-tools/+git/ubuntu-dev-tools/+merge/401824
Your team Ubuntu Development Team is subscribed to branch ubuntu-dev-tools:master.



More information about the Ubuntu-reviews mailing list