From cb38117dbd3d107318b49e58723236a84b69e3b3 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Wed, 9 Oct 2024 14:06:57 +0200 Subject: [PATCH] bin/crontab_install --- bin/crontab_install | 4 ++-- bin/nb-repo-install | 20 +++++++++----------- bin/nb-update | 3 ++- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bin/crontab_install b/bin/crontab_install index b20198ed..d77c231f 100755 --- a/bin/crontab_install +++ b/bin/crontab_install @@ -109,10 +109,10 @@ done # ################################################################################# cd ~ || exit -which crontab > /dev/null || exit +which crontab > /dev/null || exit 0 CRON="$(cat_crontab)" [ -n "$CRON" ] || exit -[ "$(crontab -l)" != "$CRON" ] || exit +[ "$(crontab -l)" = "$CRON" ] && exit [ "$VERBOSE" -gt "0" ] && echo "Update crontab" #echo "<$CRON>" echo "$CRON" | crontab diff --git a/bin/nb-repo-install b/bin/nb-repo-install index 04d43f6b..ddfb918a 100755 --- a/bin/nb-repo-install +++ b/bin/nb-repo-install @@ -5,28 +5,26 @@ # ################################################################################# +################################################################################ # # Checks and globals # +################################################################################ + +# Ensure this script is run from the root of the repository +REPO_ROOT="$(git rev-parse --show-toplevel)" +[ -n "$REPO_ROOT" ] || exit +cd "$REPO_ROOT" || exit -#exec echo $0 -#eval "ls -1 "$0" | awk '{print $3}'" CURRENT_USER="$(whoami)" -FILE_USER="$(stat --format '%U' "$0")" -#if [ "$(whoami)" != "$(stat --format '%U' "$0")" ] +FILE_USER="$(stat --format '%U' "$REPO_ROOT")" if [ "$CURRENT_USER" != "$FILE_USER" ] then - echo "Wrong user: $CURRENT_USER != $FILE_USER" + echo "Wrong user: $CURRENT_USER != $FILE_USER repo=$REPO_ROOT" #exec sudo -u "$FILE_USER" "$0" #su "$FILE_USER" -c "$0" exit -1 fi -#[ -z "$UID" ] && UID=`id -u` -# NB 08.10.24 if [ "$UID" != "0" ] && echo "$NAME: please login as root." 1>&2 && exit 1 - -# Ensure this script is run from the root of the repository -REPO_ROOT="$(git rev-parse --show-toplevel)" -[ -n "$REPO_ROOT" ] || exit REPO_NAME="$(basename -s .git $(git remote get-url origin))" [ -n "$REPO_NAME" ] || exit diff --git a/bin/nb-update b/bin/nb-update index eafbf1a0..3ffc0f69 100755 --- a/bin/nb-update +++ b/bin/nb-update @@ -129,10 +129,11 @@ for dir in $(nb_repos); do # # Get user # - user=`ls -dl "$dir/.git" | awk '{print $3}'` + user=$(stat --format '%U' "$dir/.git") if [ -z "$user" ] then echo "Can't read user owner for '$dir'" 1>&2 + continue fi cd "$dir" || continue -- 2.47.3