From b8457dcd95a0abba2b3f3d3c5ce8b930bfd2be00 Mon Sep 17 00:00:00 2001 From: John-Paul Bader Date: Tue, 12 Dec 2023 11:58:34 +0100 Subject: [PATCH] Create quicketc.sh --- quicketc.sh | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 quicketc.sh diff --git a/quicketc.sh b/quicketc.sh new file mode 100644 index 0000000..74a8dd2 --- /dev/null +++ b/quicketc.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +unset JAIL_DIR TARBALL + +usage() { + echo "USAGE: quicketc -h | -t directory_or_glob_pattern" + exit 1 +} + +while getopts j:t:h opt; do + case $opt in + t) TARBALL=$OPTARG + ;; + h) echo $USAGE + exit 0 + ;; + '?') echo "$0: invalid option -$OPTARG" >&2 + usage + ;; + esac done + shift $((OPTIND - 1)) + +[ -z "$TARBALL" ] && usage + +NUMBER_OF_JAILS=0 +NUMBER_OF_JAIL_ARGS=$# +JAILS="" + +while [ $NUMBER_OF_JAILS -lt $NUMBER_OF_JAIL_ARGS ] +do + JAILS="$JAILS$1 " + NUMBER_OF_JAILS=$(($NUMBER_OF_JAILS+1)) + shift +done + +echo $NUMBER_OF_JAIL_ARGS +echo $JAILS + + +# Build Tarball if specified file does not yet exist +if [ -f $TARBALL ] +then + echo "Found existing Tarball at $TARBALL" +else + echo "Generate Source Tarball $TARBALL" + etcupdate build $TARBALL +fi + +# Loop through each subdirectory in JAIL_DIR +for jail_sub_dir in $JAILS; do + # Check if the directory exists + if [ -d "$jail_sub_dir" ]; then + # Run etcupdate commands with the current subdirectory + echo "Updating: $jail_sub_dir" + etcupdate -t $TARBALL -D "$jail_sub_dir" + etcupdate resolve -D "$jail_sub_dir" + fi +done