tools/create-toolbox: Allow replacing existing toolbox
A toolbox created by the script can be used as the base of a pet container that is manually updated with new dependencies over time and accumalates additional packages; or it can be used as a deposable container that is recreated each time the dependencies change. To make the latter case more convenient, add a --replace option that deletes an existing toolbox before creating the new one. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
This commit is contained in:
parent
8ea4e089c6
commit
36e9db4fb7
@ -17,6 +17,7 @@ usage() {
|
|||||||
default "$DEFAULT_NAME"
|
default "$DEFAULT_NAME"
|
||||||
-v, --version=VERSION Create container for stable version VERSION
|
-v, --version=VERSION Create container for stable version VERSION
|
||||||
(like 44) instead of the main branch
|
(like 44) instead of the main branch
|
||||||
|
-r, --replace Replace an existing container
|
||||||
-h, --help Display this help
|
-h, --help Display this help
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
@ -33,9 +34,10 @@ toolbox_run() {
|
|||||||
|
|
||||||
TEMP=$(getopt \
|
TEMP=$(getopt \
|
||||||
--name $(basename $0) \
|
--name $(basename $0) \
|
||||||
--options 'n:v:h' \
|
--options 'n:v:rh' \
|
||||||
--longoptions 'name:' \
|
--longoptions 'name:' \
|
||||||
--longoptions 'version:' \
|
--longoptions 'version:' \
|
||||||
|
--longoptions 'replace' \
|
||||||
--longoptions 'help' \
|
--longoptions 'help' \
|
||||||
-- "$@")
|
-- "$@")
|
||||||
|
|
||||||
@ -56,6 +58,11 @@ while true; do
|
|||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
-r|--replace)
|
||||||
|
REPLACE=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage
|
usage
|
||||||
exit 0
|
exit 0
|
||||||
@ -71,7 +78,9 @@ done
|
|||||||
TAG=${VERSION:-main}
|
TAG=${VERSION:-main}
|
||||||
|
|
||||||
if podman container exists $NAME; then
|
if podman container exists $NAME; then
|
||||||
die "Container $NAME" already exists
|
[[ $REPLACE ]] ||
|
||||||
|
die "Container $NAME already exists and --replace was not specified"
|
||||||
|
toolbox rm --force $NAME
|
||||||
fi
|
fi
|
||||||
|
|
||||||
podman pull $TOOLBOX_IMAGE:$TAG
|
podman pull $TOOLBOX_IMAGE:$TAG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user