summaryrefslogtreecommitdiff
path: root/mail/exim
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>2001-09-11 11:06:54 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>2001-09-11 11:06:54 +0000
commite19aceb0b297b3d65006e71f783ca5cea022b779 (patch)
treeae46ba4b98743ba2e27e0795378455a26d62f67b /mail/exim
parentDefault to using PHP4 and not PHP3, as recommended by the phpPgAdmin (diff)
* Drop deprecated USE_PERL5.
* Move the contents of pkg-message into POST-INSTALL-NOTES, which gets installed in the !NOPORTDOCS case for future reference. * Refer to POST-INSTALL-NOTES from pkg-message in the !NOPORTDOCS case. In the NOPORTDOCS case, use POST-INSTALL-NOTES as the pkg-message.
Notes
Notes: svn path=/head/; revision=47657
Diffstat (limited to 'mail/exim')
-rw-r--r--mail/exim/Makefile9
-rw-r--r--mail/exim/files/POST-INSTALL-NOTES22
-rw-r--r--mail/exim/files/patch-xxx::no_fsync103
-rw-r--r--mail/exim/pkg-message24
-rw-r--r--mail/exim/pkg-plist2
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