From f1521a7dbf5403921539823c07d447fc0fb6b7f0 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Sun, 21 Nov 2021 02:24:02 +0000 Subject: [PATCH] Include error codes --- baker/bin/baker | 16 +++++++++------- bread/bin/bread | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/baker/bin/baker b/baker/bin/baker index 3f44c6b..0c00a66 100755 --- a/baker/bin/baker +++ b/baker/bin/baker @@ -60,16 +60,16 @@ bakeradd() esac done - [ -z "$user" ] && die "Need a user" - [ -z "$name" ] && die "Need a name" - [ -z "$keyfile" ] && die "Need a keyfile" + [ -z "$user" ] && die 2 "Need a user" + [ -z "$name" ] && die 2 "Need a name" + [ -z "$keyfile" ] && die 2 "Need a keyfile" log "Adding user $user" adduser \ --shell="$shell" \ --gecos="$name" \ --disabled-password "$user" && - ok + ok || die 4 "Couldn't add user \"$user\"" log "Adding user $user to groups $groups" usermod -a -G "$groups" "$user" && ok @@ -87,6 +87,8 @@ bakeradd() mkdir "/var/gemini/bakers/$user" chown "$user:$user" "/var/gemini/bakers/$user" chmod 755 "/var/gemini/bakers/$user" + sudo --user="$user" \ + ln -s /var/gemini/bakers/$user /home/$user/public_gemini } && ok echo "$user added." @@ -144,7 +146,7 @@ bakerdemote() main() { # entry point (( $# == 0 )) && usage 1 - cmd="$1"; shift || die "Not enough arguments for \"$cmd\"" + cmd="$1"; shift || die 2 "Not enough arguments for \"$cmd\"" case "$cmd" in help|h|usage|-h|--help) (( $# == 0 )) && usage 0 @@ -153,7 +155,7 @@ main() awk "BEGIN{FS=\"\\n\";RS=\"\";}/baker$1/{print}" "$0" | sed -n 's/# //p' exit - } || die "No command \"$1\"" + } || die 2 "No command \"$1\"" ;; add|hire) cmd=add ;; @@ -165,7 +167,7 @@ main() cmd=demote ;; esac - (( $(id -u) == 0 )) || die "Script must be run as root" + (( $(id -u) == 0 )) || die 3 "Script must be run as root" "baker$cmd" "$@" } diff --git a/bread/bin/bread b/bread/bin/bread index c441781..f9e297d 100755 --- a/bread/bin/bread +++ b/bread/bin/bread @@ -170,6 +170,8 @@ bread_publish() groupck admin git -C /bread/site pull make -C /bread/site publish + # also publish gemini + /bread/update-gemini-index.sh } main()