ports/78923: [UPDATE] Some changes on qmail and all slave ports
Renato Botelho
renato at galle.com.br
Wed Mar 16 17:10:02 UTC 2005
>Number: 78923
>Category: ports
>Synopsis: [UPDATE] Some changes on qmail and all slave ports
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 16 17:10:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Renato Botelho
>Release: FreeBSD 5.3-RELEASE-p5 i386
>Organization:
Galle Folheados - http://www.galle.com.br
>Environment:
System: FreeBSD data.galle.com.br 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #7: Thu Mar 3 09:03:28 BRST 2005 root at srv1.galle.com.br:/usr/obj/usr/src/sys/GALLE i386
>Description:
I think is a good idea remove perl dependence on qmail ports. Today, it's used just to change some files and by two scripts, mkaliasdir and pkg-install.
Here is a version of qmail and all slave ports, with the first step to do this, and some other changes.
If this PR is approved, I'll work to convert pkg-install and mkaliasdir from perl to sh and remove all perl dependencies.
Resume of changes:
- Remove ${PERL} use on Makefiles, change it to ${REINPLACE_CMD} and ${SED}
- Change LIB_DEPEND to USE_MYSQL on qmail-mysql
- Reduce portlint WARN and FATAL messages
- Change PRE_MK_INCLUDED to _PREMKINCLUDED, PRE_MK_INCLUDED was not set on all slave ports.
Files added:
- mail/qmail/files/bootfiles.sed.in
Qmail maintainer (lioux at freebsd.org) was cc'd.
>How-To-Repeat:
>Fix:
--- qmail-ports.diff begins here ---
diff -ruN --exclude=CVS mail.orig/qmail/Makefile mail/qmail/Makefile
--- mail.orig/qmail/Makefile Fri Mar 11 13:40:55 2005
+++ mail/qmail/Makefile Wed Mar 16 13:21:04 2005
@@ -6,7 +6,7 @@
#
PORTNAME= qmail
-PORTVERSION?= ${QMAIL_VERSION}
+PORTVERSION?= ${QMAIL_VERSION}
PORTREVISION?= 3
CATEGORIES= mail
MASTER_SITES+= http://cr.yp.to/software/ \
@@ -16,6 +16,9 @@
${MASTER_SITE_QMAIL}
DISTNAME= ${PORTNAME}-${QMAIL_VERSION}
+MAINTAINER?= lioux at FreeBSD.org
+COMMENT?= A secure, reliable, efficient, simple, and fast MTA
+
# qmail-* skeleton ports including this port may not want
# its patches
.if !defined(MAIN_QMAIL_PORT_DNS_PATCH_BARRIER)
@@ -34,10 +37,10 @@
PATCHFILES+= sendmail-flagf.patch:sendmail_flagf
.endif # MAIN_QMAIL_PORT_SENDMAIL_F_PATCH_BARRIER
-PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:local,dns,ldap,mysql,smtp_auth_tls,tls/}
-PATCH_SITE_SUBDIR+= lioux/:local,dns,ldap,mysql,smtp_auth_tls,tls
+PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:local,dns,ldap,mysql,smtp_auth_tls,tls/}
+PATCH_SITE_SUBDIR+= lioux/:local,dns,ldap,mysql,smtp_auth_tls,tls
-MASTER_SITE_QMAIL+= \
+MASTER_SITE_QMAIL+= \
http://qmail.geto.net/%SUBDIR%/ \
http://qmail.palomine.net/%SUBDIR%/ \
http://qmail.mirrors.summersault.com/%SUBDIR%/ \
@@ -114,7 +117,7 @@
# MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER
#
.if defined(WITH_QMAILQUEUE_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER)
-PATCHFILES+= qmailqueue-patch
+PATCHFILES+= qmailqueue-patch
.endif # WITH_QMAILQUEUE_PATCH && !MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER
.if defined(WITH_BIG_TODO_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER)
PATCHFILES+= big-todo.103.patch
@@ -126,9 +129,6 @@
PATCHFILES+= outgoingip.patch
.endif # WITH_OUTGOINGIP_PATCH && !MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER
-MAINTAINER?= lioux at FreeBSD.org
-COMMENT?= A secure, reliable, efficient, simple, and fast MTA
-
NO_PACKAGE= djb\'s packaging license does not allow non-standard\
qmail binary distributions
@@ -213,6 +213,7 @@
NO_MTREE= yes
USE_PERL5_BUILD=yes
+USE_REINPLACE= yes
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
@@ -275,7 +276,7 @@
.endif
post-post-patch:
- @${PERL} -pi -ne "s!/var/qmail!${PREFIX}!;s!/usr/local/!${LOCALBASE}/!" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s!/var/qmail!${PREFIX}!;s!/usr/local/!${LOCALBASE}/!" ${WRKSRC}/Makefile
# If you want to change the qmail users, they must be changed in both
# work/*/conf-users and pkg/INSTALL.
@@ -343,13 +344,17 @@
# Ugh... ;-)
thereal-post-patch:
+ @${SED} 's!%%PREFIX%%!${PREFIX}!g; \
+ s!%%ECHO_CMD%%!${ECHO_CMD}!g' \
+ ${FILESDIR}/bootfiles.sed.in > \
+ ${WRKDIR}/bootfiles.sed
.for i in ${BOOTFILES}
@if [ -f ${i}.sh ] ; \
then \
- ${PERL} -p -ne 's!QMAIL/!${PREFIX}/!;s!^(exec)!case "\$$1" in\nstart)\n\t\1!;s!(qmail)$$!\1\&\n\texit 0\n\t;;\nstop)\n\texec killall qmail-send\n\t;;\n*)\n\t${ECHO_CMD} "Usage: `basename \$$0` {start|stop}" >&2\n\texit 64\n\t;;\nesac!' $i.sh > ${WRKDIR}/${i:T} ; \
+ ${SED} -f ${WRKDIR}/bootfiles.sed $i.sh > ${WRKDIR}/${i:T} ; \
elif [ -f ${i} ] ; \
then \
- ${PERL} -p -ne 's!QMAIL/!${PREFIX}/!;s!^(exec)!case "\$$1" in\nstart)\n\t\1!;s!(qmail)$$!\1\&\n\texit 0\n\t;;\nstop)\n\texec killall qmail-send\n\t;;\n*)\n\t${ECHO_CMD} "Usage: `basename \$$0` {start|stop}" >&2\n\texit 64\n\t;;\nesac!' $i > ${WRKDIR}/${i:T} ; \
+ ${SED} -f ${WRKDIR}/bootfiles.sed $i > ${WRKDIR}/${i:T} ; \
fi
.endfor
@${SED} s!/var/qmail/!${PREFIX}/!g ${FILESDIR}/mailer.conf.sample > \
diff -ruN --exclude=CVS mail.orig/qmail/files/bootfiles.sed.in mail/qmail/files/bootfiles.sed.in
--- mail.orig/qmail/files/bootfiles.sed.in Wed Dec 31 21:00:00 1969
+++ mail/qmail/files/bootfiles.sed.in Wed Mar 16 12:33:33 2005
@@ -0,0 +1,15 @@
+s!QMAIL/!%%PREFIX%%/!
+s!^\(exec\)!case "\$1" in\
+start)\
+\ \1!
+s!\(qmail\)$!\1\&\
+\ exit 0\
+\ ;;\
+stop)\
+\ exec killall qmail-send\
+\ ;;\
+*)\
+\ %%ECHO_CMD%% "Usage: `basename \$0` {start|stop}" >\&2\
+\ exit 64\
+\ ;;\
+esac!
diff -ruN --exclude=CVS mail.orig/qmail/pkg-install mail/qmail/pkg-install
--- mail.orig/qmail/pkg-install Sat Jul 25 17:05:53 1998
+++ mail/qmail/pkg-install Tue Mar 15 09:49:11 2005
@@ -15,6 +15,8 @@
exit 0;
}
+$pw = "/usr/sbin/pw";
+$nonexistent = "/nonexistent";
@groups = ("qmail", "qnofiles");
%users = ('qmaild', "qnofiles", 'qmaill', "qnofiles", 'qmailp', "qnofiles",
'qmailq', "qmail", 'qmailr', "qmail", 'qmails', "qmail");
@@ -33,7 +35,7 @@
do checkrpw; # May exit
$x = "-g $gids{$group}";
- $result = system ("/usr/sbin/pw groupadd $group $x");
+ $result = system ("$pw groupadd $group $x");
if ($result) {
die "Failed to add group $group as gid $gids{$group}\n";
}
@@ -44,7 +46,7 @@
do checkrpw; # May exit
$x = "-u $uids{'alias'}";
- $result = system ("/usr/sbin/pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s /nonexistent $x");
+ $result = system ("$pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s $nonexistent $x");
if ($result) {
die "Failed to add user alias as uid $uids{'alias'}\n";
}
@@ -55,7 +57,7 @@
do checkrpw; # May exit
$x = "-u $uids{$user}";
- $result = system ("/usr/sbin/pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s /nonexistent $x");
+ $result = system ("$pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s $nonexistent $x");
if ($result) {
die "Failed to add user $user as uid $uids{$user}\n";
}
@@ -84,7 +86,7 @@
exit 0;
sub checkrpw {
- if (! -x "/usr/sbin/pw") {
+ if (! -x "$pw") {
print <<'EOM';
This system looks like a pre-2.2 version of FreeBSD. We see that it
is missing the "pw" utility. We need this utility. Please get and
@@ -93,7 +95,7 @@
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
EOM
- die "No /usr/sbin/pw";
+ die "No $pw";
}
if ($> != 0) {
diff -ruN --exclude=CVS mail.orig/qmail-ldap/Makefile mail/qmail-ldap/Makefile
--- mail.orig/qmail-ldap/Makefile Fri Feb 11 19:11:51 2005
+++ mail/qmail-ldap/Makefile Wed Mar 16 08:38:14 2005
@@ -13,20 +13,21 @@
PATCH_SITES= http://www.nrg4u.com/qmail/:ldap
PATCHFILES= qmail-ldap-1.03-${LDAP_PATCH_DATE}.patch.gz:ldap
-PATCH_DIST_STRIP+= -p1
-
-EXTRA_PATCHES+= ${QMAIL_PORT_PATCHDIR}/patch-ab ${QMAIL_PORT_PATCHDIR}/patch-ac
MAINTAINER= lioux at FreeBSD.org
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH LDAP support
-CONFLICTS= nss-* emboss-* digest-*
+EXTRA_PATCHES+= ${QMAIL_PORT_PATCHDIR}/patch-ab ${QMAIL_PORT_PATCHDIR}/patch-ac
+PATCH_DIST_STRIP+= -p1
+
+CONFLICTS= nss-[0-9]* emboss-[0-9]* digest-[0-9]*
USE_OPENLDAP= yes
+USE_REINPLACE= yes
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}2
.if !defined(WITHOUT_TLS)
-PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-with_tls
+PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-with_tls
USE_OPENSSL= yes
.endif # WITHOUT_TLS
@@ -41,7 +42,7 @@
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-ldap
-.if !defined(PRE_MK_INCLUDED)
+.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@@ -71,32 +72,32 @@
slaveport-post-patch: qmail-ldap-post-patch
qmail-ldap-post-patch:
- @${PERL} -pi -ne "s|LDAPLIBS=-L/usr/local/lib|LDAPLIBS=-L${LOCALBASE}/lib|;s|LDAPINCLUDES=-I/usr/local/include|LDAPINCLUDES=-I${LOCALBASE}/include|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|LDAPLIBS=-L/usr/local/lib|LDAPLIBS=-L${LOCALBASE}/lib|;s|LDAPINCLUDES=-I/usr/local/include|LDAPINCLUDES=-I${LOCALBASE}/include|" ${WRKSRC}/Makefile
.if !defined(WITHOUT_TLS)
- @${PERL} -pi -ne "s|#TLSON=|TLSON=|; \
+ @${REINPLACE_CMD} "s|#TLSON=|TLSON=|; \
s|#TLSINCLUDES=-I/usr/local/include|TLSINCLUDES=-I${OPENSSLBASE}/include|; \
s|#TLSLIBS=-L/usr/local/lib|TLSLIBS=-L${OPENSSLBASE}/lib|; \
s|#OPENSSLBIN=/usr/local/bin/openssl|OPENSSLBIN=${OPENSSLBASE}/bin/openssl|" \
${WRKSRC}/Makefile
.endif # !WITHOUT_TLS
.if !defined(WITHOUT_LDAP_CLUSTER)
- @${PERL} -pi -ne "s|#LDAPFLAGS=-DQLDAP_CLUSTER\s+-DEXTERNAL_TODO|LDAPFLAGS\+=-DQLDAP_CLUSTER -DEXTERNAL_TODO#|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|#LDAPFLAGS=-DQLDAP_CLUSTER\s+-DEXTERNAL_TODO|LDAPFLAGS\+=-DQLDAP_CLUSTER -DEXTERNAL_TODO#|" ${WRKSRC}/Makefile
.endif # WITHOUT_LDAP_CLUSTER
.if !defined(WITHOUT_AUTOMAILDIRMAKE)
- @${PERL} -pi -ne "s|#MDIRMAKE=-DAUTOMAILDIRMAKE|MDIRMAKE=-DAUTOMAILDIRMAKE|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|#MDIRMAKE=-DAUTOMAILDIRMAKE|MDIRMAKE=-DAUTOMAILDIRMAKE|" ${WRKSRC}/Makefile
.endif # WITHOUT_AUTOMAILDIRMAKE
.if !defined(WITHOUT_AUTOHOMEDIRMAKE)
- @${PERL} -pi -ne "s|#HDIRMAKE=-DAUTOHOMEDIRMAKE|HDIRMAKE=-DAUTOHOMEDIRMAKE|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|#HDIRMAKE=-DAUTOHOMEDIRMAKE|HDIRMAKE=-DAUTOHOMEDIRMAKE|" ${WRKSRC}/Makefile
.endif # WITHOUT_AUTOHOMEDIRMAKE
.if defined(WITH_LDAP_DEBUG)
- @${PERL} -pi -ne "s|#DEBUG=-DDEBUG|DEBUG=-DDEBUG|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|#DEBUG=-DDEBUG|DEBUG=-DDEBUG|" ${WRKSRC}/Makefile
.endif # WITH_LDAP_DEBUG
.if defined(WITH_CLEARTEXTPASSWD)
- @${PERL} -pi -ne "s|^#\s*-DCLEARTEXTPASSWD.*$$|LDAPFLAGS\+=-DCLEARTEXTPASSWD|" \
+ @${REINPLACE_CMD} "s|^#\s*-DCLEARTEXTPASSWD.*$$|LDAPFLAGS\+=-DCLEARTEXTPASSWD|" \
${WRKSRC}/Makefile
.endif # WITH_CLEARTEXTPASSWD
.if defined(WITH_DASH_EXT)
- @${PERL} -pi -ne "s|^# -DDASH_EXT.*$$|LDAPFLAGS\+=-DDASH_EXT|" \
+ @${REINPLACE_CMD} "s|^# -DDASH_EXT.*$$|LDAPFLAGS\+=-DDASH_EXT|" \
${WRKSRC}/Makefile
.endif # WITH_DASH_EXT
@@ -113,7 +114,5 @@
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
-
-PRE_MK_INCLUDED= yes
.include "${MASTERDIR}/Makefile"
diff -ruN --exclude=CVS mail.orig/qmail-mysql/Makefile mail/qmail-mysql/Makefile
--- mail.orig/qmail-mysql/Makefile Tue Mar 15 12:05:50 2005
+++ mail/qmail-mysql/Makefile Wed Mar 16 08:38:24 2005
@@ -18,6 +18,7 @@
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH MySQL support
USE_MYSQL= yes
+USE_REINPLACE= yes
# patches from the master port that brake this one are now allowed
MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER= yes
@@ -28,7 +29,7 @@
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-mysql
-.if !defined(PRE_MK_INCLUDED)
+.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@@ -40,7 +41,7 @@
slaveport-post-patch: qmail-mysql-post-patch
qmail-mysql-post-patch:
- @${PERL} -pi -ne \
+ @${REINPLACE_CMD} \
's|/opt/mysql|${LOCALBASE}|' \
${WRKSRC}/Makefile
@@ -49,7 +50,5 @@
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
-
-PRE_MK_INCLUDED= yes
.include "${MASTERDIR}/Makefile"
diff -ruN --exclude=CVS mail.orig/qmail-smtp_auth+tls/Makefile mail/qmail-smtp_auth+tls/Makefile
--- mail.orig/qmail-smtp_auth+tls/Makefile Thu Mar 11 23:28:38 2004
+++ mail/qmail-smtp_auth+tls/Makefile Wed Mar 16 08:38:29 2005
@@ -20,6 +20,7 @@
ONLY_FOR_ARCHS= i386
USE_OPENSSL= YES
+USE_REINPLACE= yes
# Patches from the main qmail port are not wanted
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
@@ -30,7 +31,7 @@
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-smtp_auth+tls
-.if !defined(PRE_MK_INCLUDED)
+.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@@ -58,7 +59,7 @@
@${HEAD} -6 ${DISTDIR}/qmail-1.03-starttls-smtp-auth.patch \
| ${TAIL} -5 \
> ${WRKDIR}/SMTP_AUTH+TLS.readme
- @${PERL} -pi -ne "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
# Primary Ugh... ;-)
# idea stolen from www/apache13-ssl, a target written by adam at algroup.co.uk
diff -ruN --exclude=CVS mail.orig/qmail-spamcontrol/Makefile mail/qmail-spamcontrol/Makefile
--- mail.orig/qmail-spamcontrol/Makefile Mon Mar 14 16:59:10 2005
+++ mail/qmail-spamcontrol/Makefile Wed Mar 16 08:10:47 2005
@@ -33,12 +33,13 @@
MOREIPME "Additional control files moreipme & notipme" off \
BIGTODO "Bruce Guenter's BigToDo patch" off
-.if !defined(PRE_MK_INCLUDED)
+.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
# Using default from master port, i.e., /var/qmail
-QMAIL_PORT= ${PORTSDIR}/mail/qmail
+#QMAIL_PORT= ${PORTSDIR}/mail/qmail
+QMAIL_PORT= ${.CURDIR}/../qmail
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
MASTERDIR= ${QMAIL_PORT}
diff -ruN --exclude=CVS mail.orig/qmail-tls/Makefile mail/qmail-tls/Makefile
--- mail.orig/qmail-tls/Makefile Sun Mar 7 18:08:27 2004
+++ mail/qmail-tls/Makefile Wed Mar 16 08:38:38 2005
@@ -18,6 +18,7 @@
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH TLS support
USE_OPENSSL= YES
+USE_REINPLACE= yes
# Patches from the main qmail port are not wanted
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
@@ -28,7 +29,7 @@
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-tls
-.if !defined(PRE_MK_INCLUDED)
+.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@@ -53,7 +54,7 @@
qmail-tls-post-patch:
@${HEAD} -74 ${DISTDIR}/tls.patch > ${WRKDIR}/TLS.readme
- @${PERL} -pi -ne "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
# Primary Ugh... ;-)
# idea stolen from www/apache13-ssl, a target written by adam at algroup.co.uk
--- qmail-ports.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list