aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2014-07-03 10:20:07 +0800
committerbdrewery <bdrewery@FreeBSD.org>2014-07-03 10:20:07 +0800
commit64cfdbd63ce6d4ab770e5857d3b46353f18bd2b3 (patch)
tree6d12e7194cc7d475162397acee7c87186458dcaf
parentee5db457a928e87995bf48b4d257ada733fdae29 (diff)
downloadfreebsd-ports-gnome-64cfdbd63ce6d4ab770e5857d3b46353f18bd2b3.tar.gz
freebsd-ports-gnome-64cfdbd63ce6d4ab770e5857d3b46353f18bd2b3.tar.zst
freebsd-ports-gnome-64cfdbd63ce6d4ab770e5857d3b46353f18bd2b3.zip
Fix patch application in mail/qmail-spamcontrol:
The spamcontrol patch is applied through a script, install_spamcontrol.sh. This script does not return a non-zero status when patch failures are encountered. So I missed many failures when updating this port. To fix this, move the spamcontrol patch application to pre-patch so that the PATCHFILES->DISTFILES (and manual patch application with PATCH) is not needed for most patches. This ensures that the spamcontrol patch is always applied before PATCHFILES. Some PATCHFILES were applying before the spamcontrol patch causing it to fail to patch properly. Bump revision as the build had been fine but some files were not being generated in the package. Also add my mirror as distcache does not have the updated patches yet. Reported by: Oleg Strizhak MFH: 2014Q3
-rw-r--r--mail/qmail-spamcontrol/Makefile4
-rw-r--r--mail/qmail/Makefile83
-rw-r--r--mail/qmail/distinfo6
3 files changed, 50 insertions, 43 deletions
diff --git a/mail/qmail-spamcontrol/Makefile b/mail/qmail-spamcontrol/Makefile
index a5111d7f0baa..798179fd6280 100644
--- a/mail/qmail-spamcontrol/Makefile
+++ b/mail/qmail-spamcontrol/Makefile
@@ -2,7 +2,7 @@
PORTNAME= qmail
PORTVERSION= ${QMAIL_VERSION}.${SPAMCONTROL_VERSION}
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES+= http://www.fehcom.de/qmail/spamcontrol/:spamcontrol \
${MASTER_SITE_LOCAL:S/$/:spamcontrol/}
@@ -27,8 +27,6 @@ LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
SLAVE_SPAMCONTROL= yes
-BROKEN= some patches are not applying properly yet still build
-
# Local overrides
MASTERDIR= ${.CURDIR}/../qmail
PATCHDIR= ${.CURDIR}/files
diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile
index 916130a8ff3d..74f9a54c7b4c 100644
--- a/mail/qmail/Makefile
+++ b/mail/qmail/Makefile
@@ -176,8 +176,8 @@ PATCHFILES+= ${TLS_PATCH_NAME}:tls
.endif
PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip/}
-PATCH_SITE_SUBDIR+= bdrewery/qmail/:dns,sendmail_flagf,rfc2821,ldap,mysql,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip
-PATCH_SITE_SUBDIR+= bdrewery/qmail/:tls
+PATCH_SITE_SUBDIR+= bdrewery/qmail/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip
+PATCH_SITES+= http://mirror.shatow.net/freebsd/qmail/:DEFAULT,dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip
.if !defined(BARRIER_SMTP_AUTH_PATCH)
SMTP_AUTH_VERSION= 0.31
@@ -472,10 +472,10 @@ PATCHFILES+= qmail-discard-double-bounces.patch:doublebounce
.if ${PORT_OPTIONS:MSPF_PATCH}
. if defined(SLAVE_TLS) || defined(SLAVE_SPAMCONTROL)
. if defined(SLAVE_SPAMCONTROL)
-SPF_SPAMCONTROL_PATCH= qmail-spf-rc5.patch-spamcontrol-27
-MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:spf_spamcontrol/}
-MASTER_SITE_SUBDIR+= garga/qmail/:spf_spamcontrol
-DISTFILES+= ${SPF_SPAMCONTROL_PATCH}:spf_spamcontrol
+SPF_SPAMCONTROL_PATCH= qmail-spf-rc5.patch-spamcontrol-27_2
+PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:spf_spamcontrol/}
+PATCH_SITE_SUBDIR+= garga/qmail/:spf_spamcontrol
+PATCHFILES+= ${SPF_SPAMCONTROL_PATCH}:spf_spamcontrol
. else
# XXX - Move change out of conflicting Makefile hunk
. if ${PORT_OPTIONS:MSMTP_AUTH_PATCH}
@@ -506,13 +506,9 @@ DISTFILES+= ${EXT_BIG_TODO_PATCH}:ext_big_todo
. endif
. if ${PORT_OPTIONS:MSPF_PATCH}
-. if defined(SLAVE_TLS) || defined(SLAVE_SPAMCONTROL)
-. if defined(SLAVE_SPAMCONTROL)
-EXTTODO_PATCH= ext_todo-20030105_spf.patch
-. else
+. if defined(SLAVE_TLS)
# XXX - Move qmail-todo out of conflicting Makefile hunk
EXTTODO_PATCH= ext_todo-20030105_spf_tls.patch
-. endif
MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:exttodo/}
MASTER_SITE_SUBDIR+= garga/qmail/:exttodo
DISTFILES+= ${EXTTODO_PATCH}:exttodo
@@ -557,7 +553,11 @@ PATCHFILES+= qmailqueue-patch
PATCHFILES+= big-todo.103.patch
.endif
.if ${PORT_OPTIONS:MBIG_CONCURRENCY_PATCH}
+. if defined(SLAVE_SPAMCONTROL)
+PATCHFILES+= big-concurrency-spamcontrol-2731.patch
+. else
PATCHFILES+= big-concurrency.patch
+. endif
.endif
.if !empty(PORT_OPTIONS:MOUTGOINGIP_PATCH) && !empty(PORT_OPTIONS:MQMTPC_PATCH)
PATCHFILES+= qmail-1.03-qmtpc_outgoingip_20090630.patch:qmtpc_outgoingip
@@ -684,6 +684,40 @@ post-extract:
.endif
# XXX - Move all the major patch applications to post-extract
+#
+# Apply main distro patch (which requires building a dependency and
+# running a script) before PATCHFILES get applied.
+.if defined(SLAVE_SPAMCONTROL)
+pre-patch:
+. if ${OSVERSION} < 900007
+# Prevent applying utmpx patch
+ @${ECHO_CMD} > ${WRKSRC}/qbiff.c.patch
+. endif
+ @${ECHO_CMD} ${WRKDIR} > ${WRKSRC}/conf-qmail
+ @${ECHO_CMD} "# Generated by qmail-spamcontrol FreeBSD port" \
+ > ${WRKSRC}/conf-spamcontrol
+. for option in ${SELECTED_OPTIONS}
+ @${ECHO_CMD} ${option} >> ${WRKSRC}/conf-spamcontrol
+. endfor
+ @${ECHO_CMD} "${UCSPISRC}/compile" > ${WRKSRC}/conf-ucspissl
+ ${ECHO_CMD} "${CC} ${CFLAGS}" > ${UCSPISRC}/src/conf-cc
+ ${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${UCSPISRC}/src/conf-ld
+ ${ECHO_CMD} "${PREFIX}" > ${UCSPISRC}/src/conf-home
+ ${ECHO_CMD} "${PREFIX}/bin" > ${UCSPISRC}/src/conf-tcpbin
+ ${ECHO_CMD} "/etc/ssl" > ${UCSPISRC}/src/conf-cadir
+ ${ECHO_CMD} "/etc/ssl/cert.pem" > ${UCSPISRC}/src/conf-cafile
+ ${ECHO_CMD} "/etc/ssl/dh1024.pem" > ${UCSPISRC}/src/conf-dhfile
+ @cd ${UCSPISRC} && ${SETENV} ${MAKE_ENV} package/compile
+ @cd ${WRKSRC} && ${SH} ./install_spamcontrol.sh
+# Any rejected patches are a failure
+ @if [ "`find ${WRKSRC} -name '*.rej' | wc -l`" -ne 0 ]; then \
+ ${ECHO_MSG} "===> Failed to apply spamcontrol patch"; \
+ ${FALSE}; \
+ fi
+# Fix trailing whitespace which breaks some patches
+ ${SED} -i '' -e 's,^\(binm3 binm3+df\) $$,\1,' ${WRKSRC}/Makefile
+.endif
+
post-patch:
.if ${PORT_OPTIONS:MSMTP_AUTH_PATCH}
@${CP} ${SMTP_AUTH_DIR}/base64.[ch] ${WRKSRC}
@@ -710,33 +744,6 @@ post-patch:
-e "s,MYSQL_LIBS=.*,MYSQL_LIBS=\`${LOCALBASE}/bin/mysql_config --libs\`," \
${WRKSRC}/Makefile
.elif defined(SLAVE_SPAMCONTROL)
-. if ${OSVERSION} < 900007
-# Prevent applying utmpx patch
- @${ECHO_CMD} > ${WRKSRC}/qbiff.c.patch
-. endif
- @${ECHO_CMD} ${WRKDIR} > ${WRKSRC}/conf-qmail
- @${ECHO_CMD} "# Generated by qmail-spamcontrol FreeBSD port" \
- > ${WRKSRC}/conf-spamcontrol
-. for option in ${SELECTED_OPTIONS}
- @${ECHO_CMD} ${option} >> ${WRKSRC}/conf-spamcontrol
-. endfor
- @${ECHO_CMD} "${UCSPISRC}/compile" > ${WRKSRC}/conf-ucspissl
- ${ECHO_CMD} "${CC} ${CFLAGS}" > ${UCSPISRC}/src/conf-cc
- ${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${UCSPISRC}/src/conf-ld
- ${ECHO_CMD} "${PREFIX}" > ${UCSPISRC}/src/conf-home
- ${ECHO_CMD} "${PREFIX}/bin" > ${UCSPISRC}/src/conf-tcpbin
- ${ECHO_CMD} "/etc/ssl" > ${UCSPISRC}/src/conf-cadir
- ${ECHO_CMD} "/etc/ssl/cert.pem" > ${UCSPISRC}/src/conf-cafile
- ${ECHO_CMD} "/etc/ssl/dh1024.pem" > ${UCSPISRC}/src/conf-dhfile
- @cd ${UCSPISRC} && ${SETENV} ${MAKE_ENV} package/compile
- @cd ${WRKSRC} && ./install_spamcontrol.sh
- @${PATCH} -d ${WRKSRC} < ${FILESDIR}/extra-patch-spamcontrol-qmail-smtpd.c
-. if ${PORT_OPTIONS:MSPF_PATCH} && defined(SPF_SPAMCONTROL_PATCH)
- @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_SPAMCONTROL_PATCH}
-. if ${PORT_OPTIONS:MEXTTODO_PATCH} && defined(EXTTODO_PATCH)
- @${PATCH} -p1 -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXTTODO_PATCH}
-. endif
-. endif
. if ${PORT_OPTIONS:MSMTPEXTFORK}
@${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SMTPEXTFORK_PATCH}
. if ${PORT_OPTIONS:MXF_QUITASAP}
diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo
index 4a7abb98822d..07adf9ad3a1f 100644
--- a/mail/qmail/distinfo
+++ b/mail/qmail/distinfo
@@ -10,6 +10,8 @@ SHA256 (qmail/big-todo.103.patch) = afa0a249e3271badd442f0bdae39997d9fe536157d8a
SIZE (qmail/big-todo.103.patch) = 5546
SHA256 (qmail/big-concurrency.patch) = 0322991955878e86af495f7317c3a4bd2e60640f9a6dd70ad501fff27242ac2f
SIZE (qmail/big-concurrency.patch) = 9331
+SHA256 (qmail/big-concurrency-spamcontrol-2731.patch) = 0a9e11a784b1e9b47093aea2c67aef4f8b06d4da5624d5284c978fca0d2c5735
+SIZE (qmail/big-concurrency-spamcontrol-2731.patch) = 9632
SHA256 (qmail/sendmail-flagf.patch) = 9b3951c22b98c0e5a6ebfa793f052d91dfe01d68a0ad8dc83b8e0bd60c01802e
SIZE (qmail/sendmail-flagf.patch) = 863
SHA256 (qmail/patch-qmail-1.03-rfc2821.diff) = c34b331e27882f0596529df14f0e9f24c4dff9f941d04e5df17cc158dddac426
@@ -62,8 +64,8 @@ SHA256 (qmail/ext_todo-20030105_mysql.patch) = 3fc65b91faaaae147dbf6264f93816648
SIZE (qmail/ext_todo-20030105_mysql.patch) = 33797
SHA256 (qmail/ext_todo-20030105_tls.patch) = 0924d3d1287200cb4efc1c3ebfa139f715d3a9d75a6d8af17520c5262a192da2
SIZE (qmail/ext_todo-20030105_tls.patch) = 33795
-SHA256 (qmail/qmail-spf-rc5.patch-spamcontrol-27) = 71e1d204a2f388fa2d0d9902a4289a46988f45119f91eed2ba4733b9e81dd932
-SIZE (qmail/qmail-spf-rc5.patch-spamcontrol-27) = 64059
+SHA256 (qmail/qmail-spf-rc5.patch-spamcontrol-27_2) = bd53c0ce09ce68e9638abcab7f36a1e259ffb41737e27f6b8d9e0315f2d09524
+SIZE (qmail/qmail-spf-rc5.patch-spamcontrol-27_2) = 64058
SHA256 (qmail/auth.patch.diff) = 1d0f8e0ce139cd00b86f056bc31c1422d30b88cb8b125023d534cc3664f827b8
SIZE (qmail/auth.patch.diff) = 4412
SHA256 (qmail/auth.patch.diff-tls-20110119) = 838a35ea92990775fa96567366249f70e7edbfdf127bebbc23b3df58eb086921