1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

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
This commit is contained in:
Bryan Drewery 2014-07-03 02:20:07 +00:00
parent 1785e5c70a
commit eea86e0ade
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=360338
3 changed files with 50 additions and 43 deletions

View File

@ -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

View File

@ -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}

View File

@ -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