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.
This commit is contained in:
宋文武 2018-10-01 14:07:48 +08:00 committed by Mathieu Lirzin
commit 7228d3048a
No known key found for this signature in database
GPG key ID: 0ADEE10094604D37
4 changed files with 22 additions and 26 deletions

6
NEWS
View file

@ -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

View file

@ -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")))))

View file

@ -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],

View file

@ -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)