X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fschroot%2Ffiles%2Fsetup-all-dchroots;h=c6efbb17e85e7072e0bd019861dd0eaef61b0092;hb=eedd9b7a5e400500547a9e40bb9bd2e415dfb701;hp=df7d66a4e4eb292d0d90f0fad8f9a6138348a336;hpb=8b67003b52bcfeb12af396cd9ea5cb2fc1e98440;p=mirror%2Fdsa-puppet.git diff --git a/modules/schroot/files/setup-all-dchroots b/modules/schroot/files/setup-all-dchroots index df7d66a4e..c6efbb17e 100755 --- a/modules/schroot/files/setup-all-dchroots +++ b/modules/schroot/files/setup-all-dchroots @@ -28,8 +28,41 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -DPKGARCH=$(dpkg --print-architecture) -UNAMEARCH=$(uname -m) +get_suites() { + case "$1" in + amd64|i386|armel|armhf) + echo "sid buster stretch jessie" + ;; + *) + echo "sid buster stretch" + ;; + esac +} + +do_one() { + local a="$1"; shift + local s="$1"; shift + + case "$MODE" in + buildd) + mkdir -p /srv/buildd/unpack + if ! $SILENT setup-dchroot $EXTRAARGS -f -a "$a" -D -d '/srv/buildd/unpack' -K "$s" + then + return 1 + fi + ;; + porterbox) + if ! $SILENT setup-dchroot $EXTRAARGS -f -a "$a" "$s" + then + return 1 + fi + ;; + *) + echo >&2 "Invalid mode $MODE" + exit 1 + esac + return 0 +} usage() { @@ -37,22 +70,39 @@ cat << EOF usage: $0 [] [buildd] OPTIONS: + -a limit to ARCH -c write config only -h this help + -s limit to SUITE EOF } -extraargs="" -while getopts "cu" OPTION +########## +# "main" +########## + + +# parse options +########## +EXTRAARGS="" +limitarch="" +limitsuite="" +while getopts "cha:s:" OPTION do case $OPTION in + a) + limitarch="$OPTARG" + ;; c) - extraargs="$extraargs -c" + EXTRAARGS="$EXTRAARGS -c" ;; h) usage exit 0 ;; + s) + limitsuite="$OPTARG" + ;; *) usage >&2 exit 1 @@ -61,6 +111,8 @@ do done shift $(($OPTIND - 1)) +# parse arguments +########## if [ "$#" -gt 1 ]; then usage >&2 exit 1 @@ -79,25 +131,17 @@ else MODE=porterbox fi +# figure out whether to be verbose or not +########## if [ -t 0 ] ; then SILENT="" else SILENT="chronic" fi -get_suites() { - case "$1" in - amd64|i386|armel|armhf) - echo "sid buster stretch jessie" - ;; - *) - echo "sid buster stretch" - ;; - esac -} - -extra="" - +# get list of archs based on dpkg architecture +########## +DPKGARCH=$(dpkg --print-architecture) archs="$DPKGARCH" case "$DPKGARCH" in amd64) @@ -127,33 +171,10 @@ esac err=0 -do_one() { - local a="$1"; shift - local s="$1"; shift - - case "$MODE" in - buildd) - mkdir -p /srv/buildd/unpack - if ! $SILENT setup-dchroot $extraargs -f -a "$a" $extra -D -d '/srv/buildd/unpack' -K "$s" - then - return 1 - fi - ;; - porterbox) - if ! $SILENT setup-dchroot $extraargs -f -a "$a" $extra "$s" - then - return 1 - fi - ;; - *) - echo >&2 "Invalid mode $MODE" - exit 1 - esac - return 0 -} - for a in $archs; do + [ "$limitarch" != "" ] && [ "$limitarch" != "$a" ] && continue for s in `get_suites "$a"`; do + [ "$limitsuite" != "" ] && [ "$limitsuite" != "$s" ] && continue if ! do_one "$a" "$s"; then err=1 echo >&2