diff options
author | Sheldon Hearn <sheldonh@FreeBSD.org> | 2001-09-11 11:06:54 +0000 |
---|---|---|
committer | Sheldon Hearn <sheldonh@FreeBSD.org> | 2001-09-11 11:06:54 +0000 |
commit | e19aceb0b297b3d65006e71f783ca5cea022b779 (patch) | |
tree | ae46ba4b98743ba2e27e0795378455a26d62f67b /mail/exim | |
parent | 828425b0621c24e89b50de71746eee727e57956e (diff) | |
download | ports-e19aceb0b297b3d65006e71f783ca5cea022b779.tar.gz ports-e19aceb0b297b3d65006e71f783ca5cea022b779.zip |
Notes
Diffstat (limited to 'mail/exim')
-rw-r--r-- | mail/exim/Makefile | 9 | ||||
-rw-r--r-- | mail/exim/files/POST-INSTALL-NOTES | 22 | ||||
-rw-r--r-- | mail/exim/files/patch-xxx::no_fsync | 103 | ||||
-rw-r--r-- | mail/exim/pkg-message | 24 | ||||
-rw-r--r-- | mail/exim/pkg-plist | 2 |
5 files changed, 139 insertions, 21 deletions
diff --git a/mail/exim/Makefile b/mail/exim/Makefile index 0985dda334ec..a00519708b35 100644 --- a/mail/exim/Makefile +++ b/mail/exim/Makefile @@ -16,7 +16,10 @@ DISTFILES= exim-3.33.tar.bz2 exim-texinfo-3.30.tar.bz2 MAINTAINER= sheldonh@FreeBSD.org USE_BZIP2= yes -USE_PERL5= yes + +.if !defined(NOPORTDOCS) +PKGMESSAGE= ${FILESDIR}/POST-INSTALL-NOTES +.endif MAKE_ENV+= OSTYPE=${OPSYS} ARCHTYPE=${MACHINE_ARCH} @@ -187,6 +190,10 @@ pre-install: @PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-install: +.if !defined(NOPORTDOCS) + ${MKDIR} ${PREFIX}/share/doc/exim + ${INSTALL_DATA} ${FILESDIR}/POST-INSTALL-NOTES ${PREFIX}/share/doc/exim +.endif @${CAT} ${PKGMESSAGE} .include <bsd.port.post.mk> diff --git a/mail/exim/files/POST-INSTALL-NOTES b/mail/exim/files/POST-INSTALL-NOTES new file mode 100644 index 000000000000..fda40dc3c7bf --- /dev/null +++ b/mail/exim/files/POST-INSTALL-NOTES @@ -0,0 +1,22 @@ +The following documentation has been installed: + + info 'Exim Overview' -> Overview of Exim + info Exim -> Exim Specification (User Guide) + info 'Exim Filtering' -> Exim Filter Specification (for end-users) + +Postscript, PDF, HTML and plain text versions of these documents, as well +as a comprehensive FAQ list, are available at http://www.exim.org/ . + +To run Exim instead of sendmail on startup: + +1) Create exim/configure from exim/configure.default . +2) Stop the sendmail daemon. +3) Adjust mailer.conf(5) and set 'sendmail_enable' and 'sendmail_flags' + as appropriate in rc.conf(5). +4) Start exim with appropriate command-line options. + +You may also want to configure newsyslog(8) to rotate Exim log files: + +/var/log/exim/mainlog exim:mail 640 7 * @T00 Z +/var/log/exim/rejectlog exim:mail 640 7 * @T00 Z + diff --git a/mail/exim/files/patch-xxx::no_fsync b/mail/exim/files/patch-xxx::no_fsync new file mode 100644 index 000000000000..fc0f4791ac86 --- /dev/null +++ b/mail/exim/files/patch-xxx::no_fsync @@ -0,0 +1,103 @@ +diff -udrN src.orig/accept.c src/accept.c +--- src.orig/accept.c Thu Sep 6 15:25:28 2001 ++++ src/accept.c Thu Sep 6 15:28:03 2001 +@@ -2140,7 +2140,7 @@ + anything until the terminating dot line is sent. */ + + if (fflush(data_file) == EOF || ferror(data_file) || +- fsync(fileno(data_file)) < 0 || (accept_ferror)(fin)) ++ (perform_fsync && fsync(fileno(data_file))) < 0 || (accept_ferror)(fin)) + { + char *msg_errno = strerror(errno); + BOOL input_error = (accept_ferror)(fin) != 0; +diff -udrN src.orig/deliver.c src/deliver.c +--- src.orig/deliver.c Thu Sep 6 15:25:28 2001 ++++ src/deliver.c Thu Sep 6 15:29:22 2001 +@@ -578,7 +578,8 @@ + { + BOOL return_output = FALSE; + struct stat statbuf; +- fsync(addr->return_file); ++ if (perform_fsync) ++ fsync(addr->return_file); + + /* If there is no output, do nothing. */ + +@@ -1580,7 +1581,7 @@ + + /* Ensure the journal file is pushed out to disc. */ + +- if (fsync(journal_fd) < 0) ++ if (perform_fsync && fsync(journal_fd) < 0) + log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s", + strerror(errno)); + } +diff -udrN src.orig/globals.c src/globals.c +--- src.orig/globals.c Thu Sep 6 15:25:28 2001 ++++ src/globals.c Thu Sep 6 15:24:49 2001 +@@ -494,6 +494,7 @@ + BOOL parse_allow_group = FALSE; + BOOL parse_found_group = FALSE; + char *percent_hack_domains = NULL; ++BOOL perform_fsync = TRUE; + char *pid_file_path = PID_FILE_PATH + "\0<--------------Space to patch pid_file_path->"; + BOOL preserve_message_logs = FALSE; +diff -udrN src.orig/globals.h src/globals.h +--- src.orig/globals.h Thu Sep 6 15:25:28 2001 ++++ src/globals.h Thu Sep 6 15:41:35 2001 +@@ -364,6 +364,7 @@ + extern BOOL parse_allow_group; /* Allow group syntax */ + extern BOOL parse_found_group; /* In the middle of a group */ + extern char *percent_hack_domains; /* Local domains for which '% operates */ ++extern BOOL perform_fsync; /* Use fsync() to flush to disk */ + extern char *pid_file_path; /* For writing daemon pids */ + extern BOOL preserve_message_logs; /* Save msglog files */ + extern char *primary_hostname; /* Primary name of this computer */ +diff -udrN src.orig/readconf.c src/readconf.c +--- src.orig/readconf.c Thu Sep 6 15:25:28 2001 ++++ src/readconf.c Thu Sep 6 15:24:19 2001 +@@ -81,6 +81,7 @@ + { "finduser_retries", opt_int, &finduser_retries }, + { "forbid_domain_literals", opt_bool, &forbid_domain_literals }, + { "freeze_tell_mailmaster", opt_bool, &freeze_tell_mailmaster }, ++ { "fsync", opt_bool, &perform_fsync }, + { "gecos_name", opt_stringptr, &gecos_name }, + { "gecos_pattern", opt_stringptr, &gecos_pattern }, + { "headers_check_syntax", opt_bool, &headers_check_syntax }, +diff -udrN src.orig/spool_out.c src/spool_out.c +--- src.orig/spool_out.c Thu Sep 6 15:25:28 2001 ++++ src/spool_out.c Thu Sep 6 15:29:51 2001 +@@ -277,7 +277,7 @@ + just pushes it out of C, and fclose() doesn't guarantee to do the write + either. That's just the way Unix works... */ + +-if (fsync(fileno(f)) < 0) ++if (perform_fsync && fsync(fileno(f)) < 0) + return spool_write_error(where, errmsg, "sync", temp_name, f); + + /* Get the size of the file, and close it. */ +diff -udrN src.orig/transports/appendfile.c src/transports/appendfile.c +--- src.orig/transports/appendfile.c Thu Sep 6 15:25:28 2001 ++++ src/transports/appendfile.c Thu Sep 6 15:31:40 2001 +@@ -2556,7 +2556,7 @@ + /* Force out the remaining data to check for any errors; some OS don't allow + fsync() to be called for a FIFO. */ + +-if (yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER; ++if (perform_fsync && yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER; + + /* Handle error while writing the file. Control should come here directly after + the error, with the reason in errno. In the case of expansion failure in prefix +diff -udrN src.orig/transports/smtp.c src/transports/smtp.c +--- src.orig/transports/smtp.c Thu Sep 6 15:25:28 2001 ++++ src/transports/smtp.c Thu Sep 6 15:31:55 2001 +@@ -1462,7 +1462,7 @@ + + /* Ensure the journal file is pushed out to disc. */ + +- if (fsync(journal_fd) < 0) ++ if (perform_fsync && fsync(journal_fd) < 0) + log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s", + strerror(errno)); + } diff --git a/mail/exim/pkg-message b/mail/exim/pkg-message index 37cad9514031..83859714c92b 100644 --- a/mail/exim/pkg-message +++ b/mail/exim/pkg-message @@ -1,23 +1,7 @@ -The following documentation has been installed: - info 'Exim Overview' -> Overview of Exim - info Exim -> Exim Specification (User Guide) - info 'Exim Filtering' -> Exim Filter Specification (for end-users) +IMPORTANT NOTE: +=============== -Postscript, PDF, HTML and plain text versions of these documents, as well -as a comprehensive FAQ list, are available at http://www.exim.org/ . - -To run Exim instead of sendmail on startup: - -1) Create exim/configure from exim/configure.default . -2) Stop the sendmail daemon. -3) Adjust mailer.conf(5) and set 'sendmail_enable' and 'sendmail_flags' - as appropriate in rc.conf(5). -4) Start exim with appropriate command-line options. - -You may also want to configure newsyslog(8) to rotate Exim log files: - -# Only HUP Exim once when rejectlog and mainlog are rotated. -/var/log/exim/mainlog exim:mail 640 7 * @T00 Z /var/run/exim.pid -/var/log/exim/rejectlog exim:mail 640 7 * @T00 Z +Please read ${PREFIX}/share/doc/exim/POST-INSTALL-NOTES for important +information regarding your Exim installation. diff --git a/mail/exim/pkg-plist b/mail/exim/pkg-plist index 145dfd50e3d9..11c6842fa92f 100644 --- a/mail/exim/pkg-plist +++ b/mail/exim/pkg-plist @@ -14,6 +14,7 @@ sbin/exicyclog sbin/exigrep sbin/eximstats sbin/exiqsumm +%%PORTDOCS%%share/doc/exim/POST-INSTALL-NOTES @unexec install-info --delete %D/info/exim_overview.info %D/info/dir @unexec install-info --delete %D/info/exim.info %D/info/dir @unexec install-info --delete %D/info/exim_filter.info %D/info/dir @@ -21,3 +22,4 @@ sbin/exiqsumm @exec install-info --section="Exim" --entry "* Exim Specification: (exim). Exim manual" %D/info/exim.info %D/info/dir @exec install-info --section="Exim" --entry "* Exim Filtering: (exim_filter). Filtering mail with Exim" %D/info/exim_filter.info %D/info/dir @dirrm etc/exim +@dirrm share/doc/exim |