Author: thomas Date: Thu Feb 7 23:11:46 2013 New Revision: 2601 Log: Added fcron patch
Added: trunk/fcron/ trunk/fcron/fcron-3.1.1-sendmail_upstream-1.patch (contents, props changed) Added: trunk/fcron/fcron-3.1.1-sendmail_upstream-1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/fcron/fcron-3.1.1-sendmail_upstream-1.patch Thu Feb 7 23:11:46 2013 (r2601) @@ -0,0 +1,152 @@ +From df13ddfffb37ed797386c1afc7658c9e8b171af3 Mon Sep 17 00:00:00 2001 +From: Thibault Godouet <[email protected]> +Date: Sun, 3 Feb 2013 13:03:52 +0000 +Subject: [PATCH] Fixed configure --without-sendmail, and compilation errors when sendmail is disabled + Also don't check if email should be output if sendmail is disabled + (Thank you Thomas Trepl for pointing out the problem and submitting a patch) + +--- + configure.in | 23 +++++++++++++++++------ + fileconf.c | 6 +++--- + job.c | 44 +++++++++++++++++++++++--------------------- + 3 files changed, 43 insertions(+), 30 deletions(-) + +diff --git a/configure.in b/configure.in +index d0a4d7b..29abd5e 100644 +--- a/configure.in ++++ b/configure.in +@@ -181,7 +181,8 @@ AC_ARG_ENABLE(checks, + dnl --------------------------------------------------------------------- + dnl Programs ... + +-AC_PATH_PROG(SENDMAIL, sendmail, , $PATH:/usr/lib:/usr/sbin ) ++AC_PATH_PROG(FOUND_SENDMAIL, sendmail, , $PATH:/usr/lib:/usr/sbin ) ++SENDMAIL= + USE_SENDMAIL=1 + AC_MSG_CHECKING([actual sendmail to use]) + AC_ARG_WITH(sendmail, [ --with-sendmail=PATH Path to sendmail.], +@@ -195,18 +196,28 @@ AC_ARG_WITH(sendmail, [ --with-sendmail=PATH Path to sendmail.], + if test "$USE_SENDMAIL" != "1" ; then + AC_MSG_RESULT([disabled]) + AC_MSG_WARN([Without sendmail you will not get the output of the jobs by mail]) +-elif test -z "$SENDMAIL" ; then ++elif test -n "$SENDMAIL" ; then ++ dnl The user defined a sendmail program to use: ++ if test ! -x "$SENDMAIL" ; then ++ dnl ... but it is not an executable file! ++ AC_MSG_RESULT([$SENDMAIL]) ++ AC_MSG_ERROR([File $SENDMAIL is not an executable file]) ++ else ++ dnl ... and it is valid ++ AC_MSG_RESULT([$SENDMAIL]) ++ fi ++elif test -z "$FOUND_SENDMAIL" ; then ++ dnl The user didn't defined a program to use, and we didn't find one automatically + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([Empty sendmail path or cannot determine path to sendmail: try option --with-sendmail=PATH]) +-elif test ! -x "$SENDMAIL" ; then +- AC_MSG_RESULT([$SENDMAIL]) +- AC_MSG_ERROR([File $SENDMAIL is not an executable file]) + else ++ dnl Use the automatically found sendmail program: ++ SENDMAIL="$FOUND_SENDMAIL" + AC_MSG_RESULT([$SENDMAIL]) + fi + + AC_SUBST([SENDMAIL]) +-if test x"$USE_SENDMAIL" != x ; then ++if test "$USE_SENDMAIL" = "1"; then + AC_DEFINE([USE_SENDMAIL]) + fi + +diff --git a/fileconf.c b/fileconf.c +index 3605a7d..b1fbead 100644 +--- a/fileconf.c ++++ b/fileconf.c +@@ -1462,7 +1462,7 @@ read_freq(char *ptr, cf_t * cf) + + #ifndef USE_SENDMAIL + clear_mail(cl->cl_option); +- clear_forcemail(cl->cl_option); ++ clear_mailzerolength(cl->cl_option); + #endif + + cl->cl_next = cf->cf_line_base; +@@ -1566,7 +1566,7 @@ read_arys(char *ptr, cf_t * cf) + + #ifndef USE_SENDMAIL + clear_mail(cl->cl_option); +- clear_forcemail(cl->cl_option); ++ clear_mailzerolength(cl->cl_option); + #endif + + cl->cl_next = cf->cf_line_base; +@@ -1721,7 +1721,7 @@ read_period(char *ptr, cf_t * cf) + ok: + #ifndef USE_SENDMAIL + clear_mail(cl->cl_option); +- clear_forcemail(cl->cl_option); ++ clear_mailzerolength(cl->cl_option); + #endif + + cl->cl_next = cf->cf_line_base; +diff --git a/job.c b/job.c +index c211d82..998da12 100644 +--- a/job.c ++++ b/job.c +@@ -768,29 +768,31 @@ end_job(cl_t * line, int status, FILE * mailf, short mailpos, + /* if task have made some output, mail it to user */ + { + +- char mail_output; +- char *m; +- +- if (mailf != NULL && (is_mailzerolength(line->cl_option) +- || (is_mail(line->cl_option) +- && ( +- /* job wrote some output and we wan't it in any case: */ +- ((fseek(mailf, 0, SEEK_END) == 0 +- && ftell(mailf) > mailpos) +- && !is_erroronlymail(line->cl_option)) +- || +- /* or we want an email only if the job returned an error: */ +- !(WIFEXITED(status) +- && WEXITSTATUS(status) == 0) +- ) +- ) +- ) +- ) ++ char mail_output = 0; ++ char *m = NULL; ++ ++#ifdef USE_SENDMAIL ++ if (mailf != NULL ++ && (is_mailzerolength(line->cl_option) ++ || (is_mail(line->cl_option) ++ && ( ++ /* job wrote some output and we wan't it in any case: */ ++ ((fseek(mailf, 0, SEEK_END) == 0 ++ && ftell(mailf) > mailpos) ++ && !is_erroronlymail(line->cl_option)) ++ || ++ /* or we want an email only if the job returned an error: */ ++ !(WIFEXITED(status) ++ && WEXITSTATUS(status) == 0) ++ ) ++ ) ++ ) ++ ) { + /* an output exit : we will mail it */ + mail_output = 1; +- else +- /* no output */ +- mail_output = 0; ++ } ++ /* or else there is no output to email -- mail_output is already set to 0 */ ++#endif /* USE_SENDMAIL */ + + m = (mail_output == 1) ? " (mailing output)" : ""; + if (WIFEXITED(status) && WEXITSTATUS(status) == 0) { +-- +1.7.2.5 + -- http://linuxfromscratch.org/mailman/listinfo/patches FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
