SummaryRefsLogTreeCommitDiffStats
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2018-10-01 14:07:48 +0800
committerMathieu Lirzin <mthl@gnu.org>2018-10-07 12:22:53 +0200
commit7228d3048a89facee77689e390d5f5c091c57d73 (patch)
tree15cae4dffc52f760eea3be9f9a04de2fc19473a8
parentefa2f51ae329c07c54dd9d90615c96fb4045f4c8 (diff)
downloadmcron-7228d3048a89facee77689e390d5f5c091c57d73.tar.gz
mcron-7228d3048a89facee77689e390d5f5c091c57d73.tar.bz2
mcron-7228d3048a89facee77689e390d5f5c091c57d73.zip
build: Add '--with-sendmail' configure option
This allows users to configure the Mail Transfert Agent (MTA) of their choice. * configure.ac: Add '--with-sendmail' option. (SENDMAIL): Default to 'sendmail -t'. * NEWS: Announce it. * src/mcron/redirect.scm (with-mail-out): Assume the MTA is reading the message for recipients. * build-aux/guix.scm: Remove 'which' from the native-inputs.
-rw-r--r--NEWS6
-rw-r--r--build-aux/guix.scm4
-rw-r--r--configure.ac30
-rw-r--r--src/mcron/redirect.scm8
4 files changed, 22 insertions, 26 deletions
diff --git a/NEWS b/NEWS
index d3f31cd..432e586 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@ GNU Mcron NEWS -*- outline -*-
* Noteworthy changes in release ?.? (????-??-??) [?]
+** Improvements
+
+ The "--with-sendmail" configure variable has been added to allow the usage
+ of a different Mail Transfert Agent (MTA) than 'sendmail -t'. The MTA must
+ be able to guess the actual recipients from the 'To:' message header.
* Noteworthy changes in release 1.1.1 (2018-04-08) [stable]
@@ -157,6 +162,7 @@ GNU Mcron NEWS -*- outline -*-
Copyright © 2003, 2005, 2006 Dale Mellor <dale_mellor@users.sourceforge.net>
Copyright © 2017, 2018 Mathieu Lirzin <mthl@gnu.org>
+Copyright © 2018 宋文武 <iyzsong@member.fsf.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/build-aux/guix.scm b/build-aux/guix.scm
index d90e0be..24927ad 100644
--- a/build-aux/guix.scm
+++ b/build-aux/guix.scm
@@ -1,5 +1,6 @@
;;;; guix.scm -- Guix package definition
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2018 宋文武 <iyzsong@member.fsf.org>
;;;
;;; This file is part of GNU Mcron.
;;;
@@ -62,5 +63,4 @@
("automake" ,(specification->package "automake"))
("help2man" ,(specification->package "help2man"))
("pkg-config" ,(specification->package "pkg-config"))
- ("texinfo" ,(specification->package "texinfo"))
- ("which" ,(specification->package "which")))))
+ ("texinfo" ,(specification->package "texinfo")))))
diff --git a/configure.ac b/configure.ac
index 0bb9262..f7e3c34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,6 +2,7 @@
# Copyright © 2003, 2005, 2012, 2014 Dale Mellor
# <dale_mellor@users.sourceforge.net>
# Copyright © 2015, 2016, 2017, 2018 Mathieu Lirzin <mthl@gnu.org>
+# Copyright © 2018 宋文武 <iyzsong@member.fsf.org>
#
# This file is part of GNU Mcron.
#
@@ -55,26 +56,15 @@ GUILE_PROGS
AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
-# Now find a sendmail or equivalent.
-
-AC_CHECK_PROGS(SENDMAIL, sendmail)
-if test "x$ac_cv_prog_SENDMAIL" != "x"; then
- AC_MSG_CHECKING(sendmail path and arguments)
- ac_cv_prog_SENDMAIL="`$ac_cv_prog_WHICH sendmail` -FCronDaemon -odi -oem "
-dnl -or0s"
- AC_MSG_RESULT($ac_cv_prog_SENDMAIL)
-
-else
- AC_CHECK_PROGS(SENDMAIL, mail)
- if test "x$ac_cv_prog_SENDMAIL" != "x"; then
- AC_MSG_CHECKING(mail path)
- ac_cv_prog_SENDMAIL="`$ac_cv_prog_WHICH mail` -d "
- AC_MSG_RESULT($ac_cv_prog_SENDMAIL)
- else
- AC_MSG_RESULT(No mail program found)
- fi
-fi
-SENDMAIL=$ac_cv_prog_SENDMAIL
+# Let users choose the Mail Transfert Agent (MTA) of their choice. Default to
+# a non-absolute program name to make it a loose dependency resolved at
+# runtime.
+AC_ARG_WITH([sendmail],
+ [AS_HELP_STRING([--with-sendmail=COMMAND],
+ [command to read an email message from standard input, and send it])],
+ [SENDMAIL="$withval"],
+ [SENDMAIL="sendmail -t"])
+AC_SUBST([SENDMAIL])
AC_ARG_ENABLE([multi-user],
[AS_HELP_STRING([--disable-multi-user],
diff --git a/src/mcron/redirect.scm b/src/mcron/redirect.scm
index 6711407..b7df42c 100644
--- a/src/mcron/redirect.scm
+++ b/src/mcron/redirect.scm
@@ -1,5 +1,6 @@
;;;; redirect.scm -- modify job outputs
;;; Copyright © 2003 Dale Mellor <dale_mellor@users.sourceforge.net>
+;;; Copyright © 2018 宋文武 <iyzsong@member.fsf.org>
;;;
;;; This file is part of GNU Mcron.
;;;
@@ -170,10 +171,9 @@
(set-current-output-port (if (and (string? mailto)
(string=? mailto ""))
(open-output-file "/dev/null")
- (open-output-pipe
- (string-append config-sendmail
- " "
- user))))
+ ;; The sendmail command should read
+ ;; recipients from the message header.
+ (open-output-pipe config-sendmail)))
(set-current-input-port (car child->parent))
(display "To: ") (display user) (newline)
(display "From: mcron") (newline)