From 4fe8a4f229bf31de257aae5575f0cbc9d5b0506f Mon Sep 17 00:00:00 2001 From: Tilde Black Admin Date: Thu, 11 Jun 2020 00:45:17 +0000 Subject: [PATCH 1/4] wraps stat for bsd support --- tilde | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tilde b/tilde index 35de8de..ddf5f4e 100755 --- a/tilde +++ b/tilde @@ -22,6 +22,19 @@ PROGNAME=${0##*/} VERSION="0.0.1" +# check coreutils and wrap stat for portability +if stat -c"%U" /dev/null >/dev/null 2>/dev/null ; then + # GNU environment + stat_func () { + stat -f %Su "$1" + } +else + # BSD environment + stat_func () { + stat "$1" | awk '{print $5}' + } +fi + clean_up() { # Perform pre-exit housekeeping return @@ -172,7 +185,7 @@ case $1 in for scr in /tilde/bin/*; do script_name=$(basename $scr) target=$(readlink -f "$scr") - echo "$script_name by "$(stat -c '%U' $target) + echo "$script_name by "$(stat_func $target) cat /tilde/descriptions/$script_name echo "" done ;; @@ -246,7 +259,7 @@ case $1 in read reason original_script=$(readlink -f /tilde/bin/$2) - author=$(stat -c '%U' $original_script) + author=$(stat_func $original_script) sudo rm /tilde/{bin,descriptions}/$2 sudo rm -rf /tilde/pending-submissions/$author/$2 From f8dd46482bc0033a9f2e33869211da22e1c982cf Mon Sep 17 00:00:00 2001 From: Tilde Black Admin Date: Thu, 11 Jun 2020 00:48:12 +0000 Subject: [PATCH 2/4] corrects gnu version of stat --- tilde | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tilde b/tilde index ddf5f4e..282301f 100755 --- a/tilde +++ b/tilde @@ -26,12 +26,12 @@ VERSION="0.0.1" if stat -c"%U" /dev/null >/dev/null 2>/dev/null ; then # GNU environment stat_func () { - stat -f %Su "$1" + stat -c '%U' "$1" } else # BSD environment stat_func () { - stat "$1" | awk '{print $5}' + stat -f %Su "$1" } fi From 3b1057a4346b05df854dc656cf3e4ff3a0d7053d Mon Sep 17 00:00:00 2001 From: Tilde Black Admin Date: Thu, 11 Jun 2020 00:51:47 +0000 Subject: [PATCH 3/4] test if files exist in bin dir when using list --- tilde | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tilde b/tilde index 282301f..5a07a12 100755 --- a/tilde +++ b/tilde @@ -183,11 +183,13 @@ case $1 in list | ls) echo -e "available scripts:\n" for scr in /tilde/bin/*; do - script_name=$(basename $scr) - target=$(readlink -f "$scr") - echo "$script_name by "$(stat_func $target) - cat /tilde/descriptions/$script_name - echo "" + if [ -f "$scr" ]; then + script_name=$(basename $scr) + target=$(readlink -f "$scr") + echo "$script_name by "$(stat_func $target) + cat /tilde/descriptions/$script_name + echo "" + fi done ;; about | apropos | description) From 67bf3b918d41a840cc227f49542a819cecffa7ec Mon Sep 17 00:00:00 2001 From: Tilde Black Admin Date: Thu, 11 Jun 2020 01:09:03 +0000 Subject: [PATCH 4/4] mail addresses use variables for host portability --- tilde | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tilde b/tilde index 5a07a12..b584020 100755 --- a/tilde +++ b/tilde @@ -139,11 +139,11 @@ _EOF_ mail_body() { cat <<- _EOF_ -Subject: tilde script submission from $USER -From: $USER@tilde.team -To: ben@tilde.team +Subject: tilde script submission from ${USER} +From: ${USER}@${HOSTNAME} +To: root@${HOSTNAME} -tilde script submission from $USER +tilde script submission from ${USER} script name: $1 @@ -225,7 +225,7 @@ case $1 in mkdir -p /tilde/pending-submissions/$USER/$script_name ln -s $HOME/bin/$script_name /tilde/pending-submissions/$USER/$script_name/$script_name echo $description > /tilde/pending-submissions/$USER/$script_name/description.txt - mail_body $script_name "$description" | sendmail ben + mail_body $script_name "$description" | sendmail root echo "script submitted. thanks! :)" ;; approve)