Merge pull request 'wraps stat for bsd support' (#2) from tomasino/tilde-launcher:master into master

This commit is contained in:
Ben Harris 2020-06-10 21:22:37 -04:00
commit a137bff6c0
1 changed files with 26 additions and 11 deletions

29
tilde
View File

@ -22,6 +22,19 @@
PROGNAME=${0##*/} PROGNAME=${0##*/}
VERSION="0.0.1" 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 -c '%U' "$1"
}
else
# BSD environment
stat_func () {
stat -f %Su "$1"
}
fi
clean_up() { # Perform pre-exit housekeeping clean_up() { # Perform pre-exit housekeeping
return return
@ -126,11 +139,11 @@ _EOF_
mail_body() { mail_body() {
cat <<- _EOF_ cat <<- _EOF_
Subject: tilde script submission from $USER Subject: tilde script submission from ${USER}
From: $USER@tilde.team From: ${USER}@${HOSTNAME}
To: ben@tilde.team To: root@${HOSTNAME}
tilde script submission from $USER tilde script submission from ${USER}
script name: $1 script name: $1
@ -170,11 +183,13 @@ case $1 in
list | ls) list | ls)
echo -e "available scripts:\n" echo -e "available scripts:\n"
for scr in /tilde/bin/*; do for scr in /tilde/bin/*; do
if [ -f "$scr" ]; then
script_name=$(basename $scr) script_name=$(basename $scr)
target=$(readlink -f "$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 cat /tilde/descriptions/$script_name
echo "" echo ""
fi
done ;; done ;;
about | apropos | description) about | apropos | description)
@ -210,7 +225,7 @@ case $1 in
mkdir -p /tilde/pending-submissions/$USER/$script_name mkdir -p /tilde/pending-submissions/$USER/$script_name
ln -s $HOME/bin/$script_name /tilde/pending-submissions/$USER/$script_name/$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 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! :)" ;; echo "script submitted. thanks! :)" ;;
approve) approve)
@ -246,7 +261,7 @@ case $1 in
read reason read reason
original_script=$(readlink -f /tilde/bin/$2) 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 /tilde/{bin,descriptions}/$2
sudo rm -rf /tilde/pending-submissions/$author/$2 sudo rm -rf /tilde/pending-submissions/$author/$2