Skip site navigation (1)Skip section navigation (2)
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>