summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-12-31 05:15:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-12-31 05:15:23 +0000
commit67eea7aa67c3b53203176010bed23eb128095bf9 (patch)
tree82e62bff20996bcef7c56ac5b5c812d0c97c34cd /libexec
parentAdding upstream version 20211117. (diff)
downloadopen-infrastructure-compute-tools-upstream/20211231.tar.xz
open-infrastructure-compute-tools-upstream/20211231.zip
Adding upstream version 20211231.upstream/20211231
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'libexec')
-rwxr-xr-xlibexec/container/update59
1 files changed, 56 insertions, 3 deletions
diff --git a/libexec/container/update b/libexec/container/update
index adfee65..c5ff6c2 100755
--- a/libexec/container/update
+++ b/libexec/container/update
@@ -28,8 +28,8 @@ HOOKS="/etc/${SOFTWARE}/hooks"
Parameters ()
{
- GETOPT_LONGOPTIONS="name:,full-upgrade,autoremove,purge,yes,"
- GETOPT_OPTIONS="n:,f,r,p,y,"
+ GETOPT_LONGOPTIONS="name:,full-upgrade,interactive,autoremove,purge,yes,"
+ GETOPT_OPTIONS="n:,f,i,r,p,y,"
PARAMETERS="$(getopt --longoptions ${GETOPT_LONGOPTIONS} --name=${COMMAND} --options ${GETOPT_OPTIONS} --shell sh -- ${@})"
@@ -54,6 +54,11 @@ Parameters ()
shift 1
;;
+ -i|--interactive)
+ INTERACTIVE="true"
+ shift 1
+ ;;
+
-r|--autoremove)
AUTOREMOVE="true"
shift 1
@@ -84,7 +89,7 @@ Parameters ()
Usage ()
{
- echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-f|--full-upgrade] [-r|--autoremove] [-p|--purge] [-y|--yes]" >&2
+ echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-f|--full-upgrade] [-i|--interactive] [-r|--autoremove] [-p|--purge] [-y|--yes]" >&2
echo
echo "See ${COMMAND}(1), ${PROGRAM}(1) and ${PROJECT}(7) for more information."
@@ -93,6 +98,11 @@ Usage ()
Parameters "${@}"
+if [ -z "${NAME}" ]
+then
+ Usage
+fi
+
Notification ()
{
TYPE="${1}"
@@ -152,9 +162,52 @@ do
fi
done
+if [ $(echo ${NAMES} | wc -w) -gt 1 ]
+then
+ NAME_LOOP="true"
+else
+ NAME_LOOP="false"
+fi
+
# Run
for NAME in ${NAMES}
do
+ case "${INTERACTIVE}" in
+ true)
+ case "${NAME_LOOP}" in
+ true)
+ echo
+ ;;
+ esac
+
+ echo -n "'${NAME}': update container '${NAME}' [y|N|a]? "
+ read UPDATE
+
+ UPDATE="$(echo ${UPDATE} | tr '[A-Z]' '[a-z]')"
+
+ case "${UPDATE}" in
+ a|all)
+ INTERACTIVE="false"
+ ;;
+
+ y|yes)
+ ;;
+
+ *)
+ case "${NAME_LOOP}" in
+ true)
+ continue
+ ;;
+
+ *)
+ exit 1
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+
echo "################################################################################"
echo "Updating ${NAME}"
echo "################################################################################"