Date: 20 Jul 2005 18:28:06 -0000 From: Thomas-Martin Seck <tmseck@netcologne.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/83804: [Maintainer] mail/usendmail: unbreak with gcc >= 3.4 Message-ID: <20050720182806.1501.qmail@laurel.tmseck.homedns.org> Resent-Message-ID: <200507201830.j6KIUIbm047651@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 83804 >Category: ports >Synopsis: [Maintainer] mail/usendmail: unbreak with gcc >= 3.4 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Wed Jul 20 18:30:18 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Thomas-Martin Seck >Release: FreeBSD 4.11-STABLE i386 >Organization: a private site in Germany >Environment: FreeBSD ports collection as of July 20, 2005. >Description: - unbreak on 5.x and up (or respectively on systems where cc==gcc34+) (Patch supplied by usendmail's author) Thanks to garga@ for informing me about the breakage. - respect CC - use SUB_FILES and SUB_LIST for dynamic pkg-message generation, move pkg-message to files/pkg-message.in Note to committer: please 'cvs add' files/patch-src-Makefile files/patch-gcc34 files/pkg-message.in please 'cvs rm' pkg-message >How-To-Repeat: >Fix: Apply this patch: Index: pkg-message =================================================================== --- pkg-message (.../mail/usendmail) (revision 530) +++ pkg-message (.../local/usendmail) (revision 530) @@ -1,20 +0,0 @@ - -usendmail has been successfully installed! - -Now you have to change your sendmail(8) wrapping: - -If you are using mailwrapper(8), do the following: - -in /etc/mail/mailer.conf replace the lines - -sendmail %%QMAIL_DIR%%/bin/sendmail -send-mail %%QMAIL_DIR%%/bin/sendmail - -with - -sendmail %%PREFIX%%/sbin/usendmail -send-mail %%PREFIX%%/sbin/usendmail - -Otherwise replace the link from /usr/sbin/sendmail to -%%QMAIL_DIR%%/bin/sendmail with one to %%PREFIX%%/sbin/usendmail. - Index: files/patch-src-Makefile =================================================================== --- files/patch-src-Makefile (.../mail/usendmail) (revision 0) +++ files/patch-src-Makefile (.../local/usendmail) (revision 530) @@ -0,0 +1,11 @@ +--- src/Makefile.orig Tue Jul 19 20:04:09 2005 ++++ src/Makefile Tue Jul 19 20:04:17 2005 +@@ -5,7 +5,7 @@ + DEFS=-DDJBLIBS + + +-CC=gcc ++CC?=gcc + L=./auto-link.sh + C=./auto-compile.sh + W=./auto-compilew.sh Index: files/patch-gcc34 =================================================================== --- files/patch-gcc34 (.../mail/usendmail) (revision 0) +++ files/patch-gcc34 (.../local/usendmail) (revision 530) @@ -0,0 +1,58 @@ +--- src/env_get.c.orig Wed Jul 20 19:28:21 2005 ++++ src/env_get.c Wed Jul 20 19:28:43 2005 +@@ -4,7 +4,6 @@ + */ + #include "env.h" + +-extern char **environ; + char *env_get(const char *var) + { + int e; +--- src/uogetopt.c.orig Wed Jul 20 19:28:57 2005 ++++ src/uogetopt.c Wed Jul 20 19:31:50 2005 +@@ -116,7 +116,8 @@ + #define SETEXITVOID() do { SETEXIT(); return; } while(0) + #define SETEXITRET(x) do { SETEXIT(); return x; } while(0) + +-static void outplus(void (*out)(int, const char *), ++static attribute_regparm(2) void ++outplus(void (*out)(int, const char *), + const char *s) + { + unsigned int l; +@@ -140,7 +141,7 @@ + #define uogetopt_hlong(e,s,o) uogetopt_num(e,1,s,o) + + +-static unsigned int ++static attribute_regparm(2) unsigned int + outandcount(void (*out)(int iserr,const char *), const char *s) + { + if (!s) return 0; +@@ -231,7 +232,7 @@ + } while (EXPECT(*p,1) && EXPECT(p[1],1)); + } + +-static void ++static attribute_regparm(2) void + uogetopt_printver(uogetopt_env_t *env, int maxlen) + { + int l; +@@ -249,7 +250,7 @@ + env->out(0,env->version); + } + +-static void ++static attribute_regparm(3) void + handle_argopt(uogetopt_env_t *env, uogetopt_t *o, char *arg) + { + int at=o->argtype; +@@ -274,7 +275,7 @@ + #define PRINTHELP_MODE_SHORT 0 + #define PRINTHELP_MODE_NORM 1 + #define PRINTHELP_MODE_LONG 2 +-static void ++static attribute_regparm(2) void + uogetopt_printhelp(uogetopt_env_t *env, int mode) + { + uogetopt_t *opts=env->opts; Index: files/pkg-message.in =================================================================== --- files/pkg-message.in (.../mail/usendmail) (revision 0) +++ files/pkg-message.in (.../local/usendmail) (revision 530) @@ -0,0 +1,20 @@ + +usendmail has been successfully installed! + +Now you have to change your sendmail(8) wrapping: + +If you are using mailwrapper(8), do the following: + +in /etc/mail/mailer.conf replace the lines + +sendmail %%QMAIL_DIR%%/bin/sendmail +send-mail %%QMAIL_DIR%%/bin/sendmail + +with + +sendmail %%PREFIX%%/sbin/usendmail +send-mail %%PREFIX%%/sbin/usendmail + +Otherwise replace the link from /usr/sbin/sendmail to +%%QMAIL_DIR%%/bin/sendmail with one to %%PREFIX%%/sbin/usendmail. + Index: Makefile =================================================================== --- Makefile (.../mail/usendmail) (revision 530) +++ Makefile (.../local/usendmail) (revision 530) @@ -22,12 +22,13 @@ NO_SIZE= yes USE_REINPLACE= yes WRKSRC= ${WRKDIR}/mail/${DISTNAME} -PKGMESSAGE= ${WRKDIR}/pkg-message PLIST_FILES= sbin/usendmail PORTDOCS= NEWS README +SUB_FILES= pkg-message +SUB_LIST= QMAIL_DIR=${QMAIL_DIR} -do-patch: +post-patch: @${REINPLACE_CMD} -e 's,/var/qmail,${QMAIL_DIR},' \ ${WRKSRC}/src/usendmail.c @@ -40,11 +41,6 @@ @${MKDIR} ${DOCSDIR} cd ${WRKSRC}/src && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR} .endif - -post-install: - @${SED} -e 's:%%PREFIX%%:${PREFIX}:g' \ - -e's:%%QMAIL_DIR%%:${QMAIL_DIR}:g' <pkg-message \ - >${PKGMESSAGE} @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050720182806.1501.qmail>