aports/main/util-vserver/setup-vs-template
Natanael Copa 688d54df37 main/util-vserver: upgrade to 0.30.216_pre2994
also add supporrt for creating 32bit guests on x86_64 hosts
2011-10-19 09:45:43 +00:00

46 lines
883 B
Bash

#!/bin/sh
# create a vserver template
PROG=$0
usage() {
echo "usage: $PROG [-fhq] [-o OUTFILE] [-X repository] [packages...]"
exit $1
}
clean_exit() {
rm -rf "$tmpdir"
exit $1
}
outfile=template.tar.gz
fakeroot=
repos=
while getopts "a:ho:qX:" opt; do
case "$opt" in
a) arch_opt="--arch $OPTARG";;
h) usage 0;;
o) outfile="$OPTARG";;
q) quiet=-q;;
X) repos="$repos --repository $OPTARG";;
esac
done
shift $(( $OPTIND - 1 ))
if [ "$(whoami)" != "root" ]; then
echo "Warning: you need root permissions" >&2
fi
tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/setup-vs-template-XXXXXX)
apk add --root "$tmpdir" --initdb --keys-dir /etc/apk/keys -U $arch_opt \
$quiet ${repos:---repositories-file /etc/apk/repositories} \
alpine-base $@ \
|| clean_exit 1
tar -czf "$outfile" -C "$tmpdir" $(ls "$tmpdir") || clean_exit 1
[ -z "$quiet" ] && echo "Created $outfile"
clean_exit 0