Compare commits

...

4 Commits

Author SHA1 Message Date
Tilde Black Admin e1ed2c2309 mail addresses use variables for host portability 2020-06-11 01:09:03 +00:00
Tilde Black Admin 1892db973b test if files exist in bin dir when using list 2020-06-11 00:51:47 +00:00
Tilde Black Admin bc7406fbea corrects gnu version of stat 2020-06-11 00:48:12 +00:00
Tilde Black Admin b05cd9d821 wraps stat for bsd support 2020-06-11 00:45:17 +00:00
1 changed files with 26 additions and 11 deletions

37
tilde
View File

@ -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 -c '%U' "$1"
}
else
# BSD environment
stat_func () {
stat -f %Su "$1"
}
fi
clean_up() { # Perform pre-exit housekeeping
return
@ -126,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
@ -170,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 -c '%U' $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)
@ -210,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)
@ -246,7 +261,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