From 77bf357f503fd0f80104353aae062b7bbab7053f Mon Sep 17 00:00:00 2001 From: John Mertz Date: Wed, 12 Apr 2023 21:43:51 -0400 Subject: [PATCH] WIP generalization of waybar-pkg for all OSes/boxes --- waybar/waybar-pkg.sh | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/waybar/waybar-pkg.sh b/waybar/waybar-pkg.sh index e7dabc5..7e46a75 100755 --- a/waybar/waybar-pkg.sh +++ b/waybar/waybar-pkg.sh @@ -1,10 +1,26 @@ #!/bin/bash -# Get OS "ID" (lowercase name) and "VARIANT_ID" -ID="`grep '^ID=' /etc/os-release | cut -d= -f2`-`grep 'VARIANT_ID=' /etc/os-release | cut -d= -f2`" +# Identify OS and Variant +OS="$(grep '^ID=' /etc/os-release | cut -d= -f2)" +VARIANT="$(grep '^VARIANT_ID=' /etc/os-release | cut -d= -f2)" +if [ -n "$VARIANT" ]; then + OS="${OS}-${VARIANT}" +fi -# Trim if no VARIANT exists (eg. 'debian') -ID=`echo $ID | sed -e 's/\-$//'` +# Build log file for upgradeable package counts/errors +COUNT_FILE="$HOME/.spool/upgradeable" +if [ -f "/run/.containerenv" ] || [ -f "/.dockerenv" ]; then + COUNT_FILE="$COUNT_FILE.$(echo "$HOSTNAME" | cut -d'.' -f1)" +fi + +# Build command +CMD=${0//pkg/pkg-$OS} + +# Log error if command does not exist and exit +if [ ! -f "$CMD" ]; then + echo "ERROR: unsupported OS/variant '$OS' due to missing script: $CMD" > "$COUNT_FILE" + exit +fi # Run appropriate script from same path as this one -eval `echo $0 $1| sed -e "s/pkg/${ID}/"` +$CMD "$@"