tools/create-toolbox: Add convenience script

The script is a thin wrapper around `toolbox create`, mainly to
avoid the tedious image names. In addition, it allows us to
ensure that the container includes a matching mutter version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
This commit is contained in:
Florian Müllner 2023-03-17 01:07:56 +01:00 committed by Marge Bot
parent a837285ae3
commit 8ea4e089c6

80
tools/toolbox/create-toolbox.sh Executable file
View File

@ -0,0 +1,80 @@
#!/bin/sh
# vi: sw=2 ts=4
set -e
TOOLBOX_IMAGE=registry.gitlab.gnome.org/gnome/gnome-shell/toolbox
DEFAULT_NAME=gnome-shell-devel
usage() {
cat <<-EOF
Usage: $(basename $0) [OPTION…]
Create a toolbox for gnome-shell development
Options:
-n, --name=NAME Create container as NAME instead of the
default "$DEFAULT_NAME"
-v, --version=VERSION Create container for stable version VERSION
(like 44) instead of the main branch
-h, --help Display this help
EOF
}
die() {
echo "$@" >&2
exit 1
}
toolbox_run() {
toolbox run --container $NAME "$@"
}
TEMP=$(getopt \
--name $(basename $0) \
--options 'n:v:h' \
--longoptions 'name:' \
--longoptions 'version:' \
--longoptions 'help' \
-- "$@")
eval set -- "$TEMP"
unset TEMP
NAME=$DEFAULT_NAME
while true; do
case "$1" in
-n|--name)
NAME="$2"
shift 2
;;
-v|--version)
VERSION="$2"
shift 2
;;
-h|--help)
usage
exit 0
;;
--)
shift
break
;;
esac
done
TAG=${VERSION:-main}
if podman container exists $NAME; then
die "Container $NAME" already exists
fi
podman pull $TOOLBOX_IMAGE:$TAG
toolbox create --image $TOOLBOX_IMAGE:$TAG $NAME
toolbox_run update-mutter