From 3cb9ce1fba47676a4c9721a9cc33fa427c12d5e0 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 20 Dec 2017 22:58:21 +0100 Subject: [SSUS] Fix/Simplify conditions and logic flow --- satellit_upgrader/updater.template.sh | 67 ++++++++++++++--------------------- 1 file changed, 27 insertions(+), 40 deletions(-) (limited to 'satellit_upgrader') diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh index eb56e41..b1b7d17 100644 --- a/satellit_upgrader/updater.template.sh +++ b/satellit_upgrader/updater.template.sh @@ -406,19 +406,22 @@ fi # ********************** dnbd3 config ******************* echo "* Checking dnbd3 stuff ... " + +mkdir -p /etc/dnbd3-server || perror "Could not mkdir /etc/dnbd3-server" +mkdir -p "$PATH_DNBD3" || perror "Could not create $PATH_DNBD3" # check for dnbd3 user: dnbd3, 10002, group dnbd3, 10002 -dnbd3group=10002 echo -n "* Checking for dnbd3 user ... " -if [[ ! "$(id -u dnbd3 > /dev/null 2>&1; echo $?)" == "0" ]]; then +if id -u dnbd3 &> /dev/null; then echo "not found." echo -n "* Checking for dnbd3 group ... " - if [[ "$(getent group dnbd3; echo $? > /dev/null 2>&1; echo $?)" == "0" ]]; then - groupadd -g "$dnbd3group" dnbd3 || perror "Could not add dnbd3 group!" - echo "group added." - else + dnbd3group=$(getent group dnbd3 2>/dev/null | cut -d ":" -f 3) + if [ -z "$dnbd3group" ]; then + dnbd3group=10002 + groupadd -g "$dnbd3group" dnbd3 || perror "Could not add dnbd3 group!" + echo "group added." + else echo "group already there: adding user to group." - dnbd3group=$(getent group dnbd3 | cut -d ":" -f 3) fi echo -n "* Adding user dnbd3 ... " @@ -430,9 +433,9 @@ else fi echo -n "* Checking for $PACKAGE_LIBJANSSON ... " -if [[ $(dpkg -l|grep "$PACKAGE_LIBJANSSON"|cut -f 1 -d " ") != "ii" ]]; then +if dpkg -l | grep -q "^ii\\s.*$PACKAGE_LIBJANSSON"; then echo -n "not found. Trying to install ... " - if ! apt-get install "$PACKAGE_LIBJANSSON" 2>/dev/null 1>&2; then + if ! apt-get install -y "$PACKAGE_LIBJANSSON" 2>/dev/null 1>&2; then pwarning "*" pwarning "* Warning: Could not install $PACKAGE_LIBJANSSON!" pwarning "*" @@ -449,43 +452,27 @@ fi # config if [ -e "$FILEDIR/server.conf" ]; then - echo "* dnbd3 triggered via $FILEDIR/server.conf" - if [ -e "/etc/dnbd3-server/server.conf" ]; then - echo "* Replacing server.conf (dnbd3)" - cp "$FILEDIR/server.conf" "/etc/dnbd3-server/server.conf" || perror "Could not replace /etc/dnbd3-server/server.conf" - echo "dnbd3 config upgrade complete" - else - echo "* Inserting server.conf (dnbd3)" - mkdir -p /etc/dnbd3-server || perror "Could not mkdir /etc/dnbd3-server" - cp "$FILEDIR/server.conf" "/etc/dnbd3-server/server.conf" || perror "Could not write /etc/dnbd3-server/server.conf" - echo "dnbd3 config inserted" - fi - - [ -e "$PATH_DNBD3" ] || mkdir -p "$PATH_DNBD3" - if [ -e "$FILEDIR/is-enabled" ]; then - echo "* Inserting is-enabled to $PATH_DNBD3 (dnbd3)" - cp "$FILEDIR/is-enabled" "$PATH_DNBD3/is-enabled" || perror "Could not write /opt/openslx/dnbd3/is-enabled" - echo "is-enabled inserted (dnbd3)" - else - echo "* NOT Inserting is-enabled to $PATH_DNBD3 (dnbd3)" - fi - if [ -e "$FILEDIR/rpc.acl" ]; then - echo "* Inserting rpc.acl to $PATH_DNBD3 (dnbd3)" - cp "$FILEDIR/rpc.acl" "/etc/dnbd3-server/rpc.acl" || perror "Could not write /etc/dnbd3-server/rpc.acl" - echo "rpc.acl inserted (dnbd3)" - else - echo "* NOT inserting rpc.acl to $PATH_DNBD3 (dnbd3)" - fi -else - echo "* dnbd3 NOT triggered (no $FILEDIR/server.conf)" + echo "* Inserting server.conf (dnbd3)" + cp "$FILEDIR/server.conf" "/etc/dnbd3-server/server.conf" || perror "Could not write /etc/dnbd3-server/server.conf" + echo "dnbd3 config inserted" +fi +if [ -e "$FILEDIR/is-enabled" ]; then + echo "* Inserting is-enabled to $PATH_DNBD3 (dnbd3)" + cp "$FILEDIR/is-enabled" "$PATH_DNBD3/is-enabled" || perror "Could not write /opt/openslx/dnbd3/is-enabled" + echo "is-enabled inserted (dnbd3)" +fi +if [ -e "$FILEDIR/rpc.acl" ]; then + echo "* Inserting rpc.acl to $PATH_DNBD3 (dnbd3)" + cp "$FILEDIR/rpc.acl" "/etc/dnbd3-server/rpc.acl" || perror "Could not write /etc/dnbd3-server/rpc.acl" + echo "rpc.acl inserted (dnbd3)" fi # ********************** dnbd3.service ******************* tar -x -C "$PATH_DNBD3" -f "$TMPDIR/$TGZ_DNBD3" || perror "Could not extract $TGZ_DNBD3 to $PATH_DNBD3" if [ -e "$FILEDIR/dnbd3-server.service" ]; then echo "* Replacing/writing dnbd3-server.service" - cp "$FILEDIR/dnbd3-server.service" "/etc/systemd/system/dnbd3-server.service" || \ - perror "Could not replace/write /etc/systemd/system/dnbd3-server.service" + cp "$FILEDIR/dnbd3-server.service" "/etc/systemd/system/dnbd3-server.service" \ + || perror "Could not replace/write /etc/systemd/system/dnbd3-server.service" ln -s -f "../dnbd3-server.service" "/etc/systemd/system/multi-user.target.wants/" systemctl daemon-reload echo "Service file replaced" -- cgit v1.2.3-55-g7522