nixpkgs/pkgs/applications/networking/msmtp/paths.patch
2022-08-25 10:50:36 +08:00

64 lines
2.4 KiB
Diff

diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index d8b4039..1f2a7b5 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -60,8 +60,8 @@ err() { dsp '' "$@" '' ; exit 1 ; }
## e.g. ( export MSMTP=/path/to/msmtp )
if [ "$MSMTP" = "" ] ; then # If MSMTP is unset or empty...
MSMTP=msmtp
-elif [ ! -x "$MSMTP" ] ; then
- log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]" # if not found - complain ; quit
+# elif [ ! -x "$MSMTP" ] ; then
+# log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]" # if not found - complain ; quit
fi
##
## set the queue var to the location of the msmtp queue directory
@@ -71,7 +71,7 @@ fi
## ( chmod 0700 msmtp.queue )
##
## the queue dir - export this variable to reflect where you'd like it to be (no quotes !!)
-Q=${Q:-~/.msmtp.queue}
+Q=${MSMTP_QUEUE:-~/.msmtp.queue}
[ -d "$Q" ] || mkdir -m 0700 -p "$Q" || \
err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" '' # if not present - complain ; quit
##
@@ -85,8 +85,10 @@ Q=${Q:-~/.msmtp.queue}
##
## the queue log file - export this variable to change where logs are stored (but no quotes !!)
## Set it to "" (empty string) to disable logging.
-[ -v LOG ] || LOG=~/log/msmtp.queue.log
+LOG=${MSMTP_LOG:-~/log/msmtp.queue.log}
[ -d "$(dirname "$LOG")" ] || mkdir -p "$(dirname "$LOG")"
+
+JOURNAL=@journal@
## ======================================================================================
## msmtpq can use the following environment variables :
@@ -139,6 +141,7 @@ on_exit() { # unlock the queue on exit if the lock was
## display msg to user, as well
##
log() {
+ local NAME=msmtpq
local ARG RC PFX
PFX="$('date' +'%Y %d %b %H:%M:%S')"
# time stamp prefix - "2008 13 Mar 03:59:45 "
@@ -156,10 +159,19 @@ log() {
done
fi
+ if [ "$JOURNAL" = "Y" ]; then
+ for ARG; do
+ [ -n "$ARG" ] &&
+ echo "$ARG" | systemd-cat -t "$NAME" -p info
+ done
+ fi
+
if [ -n "$RC" ] ; then # an error ; leave w/error return
[ -n "$LKD" ] && lock_queue -u # unlock here (if locked)
[ -n "$LOG" ] && \
echo " exit code = $RC" >> "$LOG" # logging ok ; send exit code to log
+ [ "$JOURNAL" = "Y" ] && \
+ echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg
exit "$RC" # exit w/return code
fi
}