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:
parent
a837285ae3
commit
8ea4e089c6
80
tools/toolbox/create-toolbox.sh
Executable file
80
tools/toolbox/create-toolbox.sh
Executable 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
|
Loading…
Reference in New Issue
Block a user