msmtp: 1.8.22 -> 1.8.25
msmtpq patches had to be recreated: - removal of the executable check and addition of systemd logging were kept and split into two patches. - renaming of queue and log files was removed as the upstream script had renamed these to add the `MSMTPQ_` prefix (noted as a backwards incompatible change).
This commit is contained in:
parent
1efde08d47
commit
2f2010f63c
@ -112,6 +112,8 @@
|
||||
it is set, instead of the previous hardcoded default of
|
||||
`${networking.hostName}.${security.ipa.domain}`.
|
||||
|
||||
- The `MSMTP_QUEUE` and `MSMTP_LOG` environment variables accepted by `msmtpq` have now been renamed to `MSMTPQ_Q` and `MSMTPQ_LOG` respectively.
|
||||
|
||||
- The fcgiwrap module now allows multiple instances running as distinct users.
|
||||
The option `services.fgciwrap` now takes an attribute set of the
|
||||
configuration of each individual instance.
|
||||
|
@ -25,13 +25,13 @@
|
||||
let
|
||||
inherit (lib) getBin getExe optionals;
|
||||
|
||||
version = "1.8.22";
|
||||
version = "1.8.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "marlam";
|
||||
repo = "msmtp";
|
||||
rev = "msmtp-${version}";
|
||||
hash = "sha256-Jt/uvGBrYYr6ua6LVPiP0nuRiIkxBJASdgHBNHivzxQ=";
|
||||
hash = "sha256-UZKUpF/ZwYPM2rPDudL1O8e8LguKJh9sTcJRT3vgsf4=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -68,7 +68,10 @@ let
|
||||
pname = "msmtp-scripts";
|
||||
inherit version src meta;
|
||||
|
||||
patches = [ ./paths.patch ];
|
||||
patches = [
|
||||
./msmtpq-remove-binary-check.patch
|
||||
./msmtpq-systemd-logging.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace scripts/msmtpq/msmtpq \
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
|
||||
index bcb384e..9622e47 100755
|
||||
--- a/scripts/msmtpq/msmtpq
|
||||
+++ b/scripts/msmtpq/msmtpq
|
||||
@@ -60,8 +60,6 @@ err() { dsp '' "$@" '' ; exit 1 ; }
|
||||
## export the location of the msmtp executable before running this script (no quotes !!)
|
||||
## e.g. ( export MSMTP=/path/to/msmtp )
|
||||
MSMTP="${MSMTP:-msmtp}"
|
||||
-"$MSMTP" --version >/dev/null 2>&1 || \
|
||||
- log_later -e 1 "msmtpq : can't run the msmtp executable [ $MSMTP ]" # if not found - complain ; quit
|
||||
##
|
||||
## set the queue var to the location of the msmtp queue directory
|
||||
## if the queue dir doesn't yet exist, create it (0700)
|
@ -0,0 +1,41 @@
|
||||
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
|
||||
index bcb384e..dbaf1b5 100755
|
||||
--- a/scripts/msmtpq/msmtpq
|
||||
+++ b/scripts/msmtpq/msmtpq
|
||||
@@ -92,6 +92,8 @@ if [ ! -v MSMTPQ_LOG ] ; then
|
||||
fi
|
||||
fi
|
||||
[ -d "$(dirname "$MSMTPQ_LOG")" ] || mkdir -p "$(dirname "$MSMTPQ_LOG")"
|
||||
+
|
||||
+JOURNAL=@journal@
|
||||
## ======================================================================================
|
||||
|
||||
## msmtpq can use the following environment variables :
|
||||
@@ -144,6 +146,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 "
|
||||
@@ -161,10 +164,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 "$MSMTPQ_LOG" ] && \
|
||||
echo " exit code = $RC" >> "$MSMTPQ_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
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
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
|
||||
}
|
Loading…
Reference in New Issue
Block a user