This patch supersedes PR 57023 Summary: - update to 4.24 - exim announces its FreeBSD port revision as the build number in `exim -bV' - installed additional scripts in ${PREFIX}/share/examples/exim, helping with the Exim 3 -> Exim 4 transition now that mail/exim-old is gone - mention the ChangeLog, the transition scripts and the mail/exim-doc-* ports in POST-INSTALL-NOTES, remove the reference to the info files - install manpages even if NOPORTDOCS is defined (fixing NOPORTDOCS build) - made `make PREFIX=/somthing/other/than/usr/local' really work - incorporated PR 56117 (WITH_MSQL_VER) - made OpenLDAP selection more standard (WITH_OPENLDAP, WITH_OPENLDAP_VER), deprecated all old LDAP options (sorry, but it got too tangly) - made BerkeleyDB selection option WITH_BDB_VER, deprecated DB_LIB_VERSION - respect bsd.ports.mk defaults of MySQL 4.0 and OpenLDAP 2.1 - added a message to show the zillions of options sorted in one place - killed exim-ldap (OpenLDAP 1.2 is ancient) - no wishlist item again: eqi is part of exim - mark the exim-* slave ports as conflicting each other - introduce WITH_DEFAULT_CHARSET - introduce WITHOUT_ALT_CONFIG_PREFIX: Per default, we only allow configuration files in /usr/local/etc/exim/. This may break some confiurations (and exim -bV -C /dev/null), but the FreeBSD port has perl enabled by default, and it is trivial to write a perl script that gives root access when the mailnull account is compromised. Fix: *** THIS IS A TEST VERSION *** This version is for testing purposes only, it assumes that exiscan-acl-4.22-12.patch.bz2 is already in /usr/ports/distfiles/exim To get a release version: - wait until Tom is back ;-) http://article.gmane.org/gmane.mail.exim.exiscan.user/1061 - do: sed -i .bak -e '/^##### BEGIN REMOVE/,/^##### END REMOVE/d' Makefile rm files/exiscan-acl-4.22-12.patch.patch make makesum - delete mail/exim-ldap, update mail/exim-ldap2 ---
Responsible Changed From-To: freebsd-ports-bugs->sheldonh Over to maintainer
Hi, Oliver ! > +.if defined(WITH_MYSQL_VER) > +WITH_MYSQL= yes > +WANT_MYSQL_VER= ${WITH_MYSQL_VER} > +.endif this is useless, it's surely due to my lack of documentation ;-) WANT_MYSQL_VERSION was introduced to let ports maintainer to set an arbitrary version of MySQL. In your case, the code is redundant since we can only define WITH_MYSQL_VER. I don't think it's a good idea ro implies WITH_MYSQL if WITH_MYSQL_VER is defined. Personnaly, I have some services which use MYSQL and others don't. I've put WITH_MYSQL_VER in my /etc/make.conf and I don't want to activate MySQL support on every ports I installed because of this. My 2cents :) regards, clem
Hi Clement, >>+.if defined(WITH_MYSQL_VER) >>+WITH_MYSQL= yes >>+WANT_MYSQL_VER= ${WITH_MYSQL_VER} >>+.endif > > this is useless, it's surely due to my lack of documentation ;-) > WANT_MYSQL_VERSION was introduced to let ports maintainer to set an > arbitrary version of MySQL. > In your case, the code is redundant since we can only define > WITH_MYSQL_VER. > > I don't think it's a good idea ro implies WITH_MYSQL if WITH_MYSQL_VER > is defined. > Personnaly, I have some services which use MYSQL and others don't. > I've put WITH_MYSQL_VER in my /etc/make.conf and I don't want to > activate MySQL support on every ports I installed because of this. AFAIK USE_* is for ports and WITH_* is for users, see http://lists.freebsd.org/pipermail/freebsd-ports/2003-September/004187.html So I assume that a port builds WITH something when I specify WITH_something. Sorry that I didn't check, I copied it blindly from PR 56117, but it seems that the current scheme is misleading. The code it the patch looks right and works as expected (and documented in bsd.port.mk): WITH_MYSQL_VER => User defined variable to set MySQL version. USE_MYSQL => Add MySQL client dependency. WANT_MYSQL_VER => Maintainer can set an arbitrary version of MySQL by using it. I can see later in bsd.port.mk that this is not the usage you intended, though. Regards Oliver
Somehow I missed to transfer the last patch from PR 57023: - USE_OPENLDAP and USE_OPENSSL marcos must be used *before* bsd.port.pre.mk, so shuffle things a bit around: --- exim-4.24_1.patch begins here --- --- mail/exim/Makefile.orig Tue Sep 23 03:17:39 2003 +++ mail/exim/Makefile Tue Sep 23 04:40:02 2003 @@ -165,28 +165,6 @@ EXTRA_PATCHES+= `${FIND} ${PATCHDIR} -name 'wishlist-*.patch'` .endif -.include <bsd.port.pre.mk> - -.if ${OSVERSION} >= 500038 -RC_SUBR?= ${DESTDIR}/etc/rc.subr -RC_DIR= ${DESTDIR}/etc/rc.d -RC_SUFX= -.else -USE_RC_SUBR= yes -RC_DIR= ${PREFIX}/etc/rc.d -RC_SUFX= .sh -.endif - -SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ - -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ - -e 's,%%RC_SUBR%%,${RC_SUBR},g' \ - -e 's,%%RC_DIR%%,${RC_DIR},g' \ - -e 's,%%RC_SUFX%%,${RC_SUFX},g' - -PLIST_SUB+= RC_DIR=${RC_DIR} \ - RC_SUFX=${RC_SUFX} - .if !defined(WITHOUT_EXISCAN) PORTDOC_FILES+= exiscan-acl-examples.txt exiscan-acl-spec.txt PLIST_SUB+= EXISCAN_ACL="" @@ -194,10 +172,6 @@ PLIST_SUB+= EXISCAN_ACL="@comment " .endif -.if ${OSVERSION} < 400014 -WITHOUT_IPV6= yes -.endif - SEDLIST= -e 's,XX_PREFIX_XX,${PREFIX},' \ -e 's,XX_LOCALBASE_XX,${LOCALBASE},' \ -e 's,XX_DEFAULT_CHARSET_XX,${WITH_DEFAULT_CHARSET},' @@ -322,10 +296,6 @@ SEDLIST+= -e 's,XX_PGSQL_[^ ]*_XX,,' .endif -.if !defined(WITHOUT_IPV6) -SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,' -.endif - .if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(LDAP_LIB_TYPE) && \ ${WITH_BDB_VER} == 1 SEDLIST+= -e 's,^LOOKUP_LIBS=,\#LOOKUP_LIBS=,' \ @@ -366,6 +336,36 @@ .if defined(WITHOUT_ALT_CONFIG_PREFIX) SEDLIST+= -e 's,^\ALT_CONFIG_PREFIX=,# ALT_CONFIG_PREFIX=,' +.endif + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} >= 500038 +RC_SUBR?= ${DESTDIR}/etc/rc.subr +RC_DIR= ${DESTDIR}/etc/rc.d +RC_SUFX= +.else +USE_RC_SUBR= yes +RC_DIR= ${PREFIX}/etc/rc.d +RC_SUFX= .sh +.endif + +SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ + -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ + -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ + -e 's,%%RC_SUBR%%,${RC_SUBR},g' \ + -e 's,%%RC_DIR%%,${RC_DIR},g' \ + -e 's,%%RC_SUFX%%,${RC_SUFX},g' + +PLIST_SUB+= RC_DIR=${RC_DIR} \ + RC_SUFX=${RC_SUFX} + +.if ${OSVERSION} < 400014 +WITHOUT_IPV6= yes +.endif + +.if !defined(WITHOUT_IPV6) +SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,' .endif pre-everything:: --- exim-4.24_1.patch ends here --- Argl, patchmania...
On (2003/09/23 04:48), Oliver Eikemeier wrote: > Somehow I missed to transfer the last patch from PR 57023: Phew, okay. This is a rather large number of changes, hot on each others' heels. I think I'd like to leave the port as it is for the release, and start going mad with patches again afterward. Looking at your patch, I don't see any showstopper issues that it addresses. Are you okay with my decision? Ciao, Sheldon.
Sheldon Hearn wrote: > Phew, okay. This is a rather large number of changes, hot on each > others' heels. > > I think I'd like to leave the port as it is for the release, and start > going mad with patches again afterward. > > Looking at your patch, I don't see any showstopper issues that it > addresses. > > Are you okay with my decision? As I written in the patch: > *** THIS IS A TEST VERSION *** > > To get a release version: > > - wait until Tom is back ;-) > http://article.gmane.org/gmane.mail.exim.exiscan.user/1061 and as I wrote to you in private mail (Fri, 19 Sep 2003 22:59:32 +0200): > I know that we are in a ports freeze and that exiscan 4.23-12 > is not ready. This is just a prototype to discuss the following > issues: > > - deprecate all old LDAP options (only WITH_OPENLDAP and > WITH_OPENLDAP_VER are valid) > > - respect bsd.ports.mk defaults of MySQL 4.0 and OpenLDAP 2.1 > > - kill the mail/exim-ldap port (OpenLDAP 1.2 is ancient) > > I think it is time to break backwards compatibility a bit, > especially in the light of the removal of mail/exim-old. > > So, when you have time to look into the PR, please tell me > what you think. Hey, this patch was *never* meant to make it in 4.9. I know that there are a lot of changes, some not backwards compatible, so I tried to get this patch out to let us discuss which changes are good and what should be done differently. Consider it a prototype. And please, look at the description and tell me what you think. Especially about WITH_OPENLDAP/WITH_BDB_VER, the changes of the default library for OpenLDAP/MySQL and WITHOUT_ALT_CONFIG_PREFIX.
Hi Sheldon, I splitted the patch in two parts: * feature enhancements for 4.22: ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/exim-4.22_5.patch.bz2 MD5 (exim-4.22_5.patch.bz2) = 8cc44236a7f1fc350cdaddd240efa2df Summary: - exim announces its FreeBSD port revision as the build number in `exim -bV' - installed additional scripts in ${PREFIX}/share/examples/exim, helping with the Exim 3 -> Exim 4 transition now that mail/exim-old is gone - mention the ChangeLog, the transition scripts and the mail/exim-doc-* ports in POST-INSTALL-NOTES, remove the reference to the info files - install manpages even if NOPORTDOCS is defined (fixing NOPORTDOCS build) - made `make PREFIX=/somthing/other/than/usr/local' really work - incorporated PR 56117 (WITH_MSQL_VER), submitted by Pat Lashley <patl+freebsd@volant.org> - incorporated PR 57099 (WITH_DNSDB), submitted by Mark Foster <mark@foster.cc> - made OpenLDAP selection more standard (WITH_OPENLDAP, WITH_OPENLDAP_VER), deprecated all old LDAP options (sorry, but it got too tangly) - made BerkeleyDB selection option WITH_BDB_VER, deprecated DB_LIB_VERSION - respect bsd.ports.mk defaults of MySQL 4.0 and OpenLDAP 2.1 - added a message to show the zillions of options sorted in one place - killed exim-ldap (OpenLDAP 1.2 is ancient) - mark the exim-* slave ports as conflicting each other - introduce WITH_DEFAULT_CHARSET don't forget to delete exim-ldap and update exim-ldap2, and: * update to exim-4.24 ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/exim-4.24.patch.bz2 MD5 (exim-4.24.patch.bz2) = ca4f7a5194141c2a03ac198ac058308e Summary: - update to 4.24 - no wishlist item again: eqi is part of exim - introduce WITHOUT_ALT_CONFIG_PREFIX: Per default, we only allow configuration files in /usr/local/etc/exim/. This may break some configurations (and exim -bV -C /dev/null), but the FreeBSD port has perl enabled by default, and it is trivial to write a perl exploit that gives root access when the mailnull account is compromised. You commit the first patch (feature enhancements for 4.22) now, and either wait for Tom to come back and commit the second patch then, or serve a patched patch from your account: PATCH_SITES= ${MASTER_SITE_LOCAL} PATCH_SITE_SUBDIR= sheldonh copy it from ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/exiscan-acl-4.24-12.patch.bz2 MD5 (exiscan-acl-4.24-12.patch.bz2) = c33a91f584eb0501185d7caef9e4b464 Regards Oliver
I forgot one point in the first summary: - checks if clamav is in group mail on installation time
unified patch using Toms exiscan-acl-4.24-12 at ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/exim-4.24_final.patch.bz2 MD5 (exim-4.24_final.patch.bz2) = b9617f893c8cf5946f3afaa52e05a855
On (2003/09/29 12:04), Oliver Eikemeier wrote: > unified patch using Toms exiscan-acl-4.24-12 at > > ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/exim-4.24_final.patch.bz2 Great, just what I was looking for. :-) Why is this change required in pkg-plist: -sbin/exim-%%EXIM_VERSION%%-1 +sbin/exim-%%EXIM_VERSION%% ? Ciao, Sheldon.
State Changed From-To: open->closed Committed, thanks! As discussed in private mail, I've left out the change to the pre-everything stage. Also, I excluded the clamav user warning in pkg-install, which I think will have limited (if any) real-world benefit.