ports/163942: [patch] fix i386 build of dns/inadyn

Garrett Cooper yanegomi at gmail.com
Mon Jan 9 06:40:13 UTC 2012


>Number:         163942
>Category:       ports
>Synopsis:       [patch] fix i386 build of dns/inadyn
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 09 06:40:13 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Cooper
>Release:        9.0-RELEASE
>Organization:
iXsystems, Inc.
>Environment:
FreeBSD bayonetta.local 9.0-STABLE FreeBSD 9.0-STABLE #1 r229323M: Mon Jan  2 14:32:54 PST 2012     gcooper at bayonetta.local:/usr/obj/store/freebsd/stable/9/sys/BAYONETTA  amd64
>Description:
Building FreeNAS, we at iXsystems and the users that use FreeNAS have run into situations on more than one occasion where the inadyn binary has been corrupted somehow when building the i386 package (oddly enough the amd64 package isn't affected).

The following patch ignores the contributed Makefile -- which does this undesirable things, like using TARGET_ARCH, for OS names -- and instead uses a simple pmake Makefile to get the job done.

A few examples are as follows:

1. http://support.freenas.org/ticket/1144 , comments 3 and 5.
2. http://forums.freenas.org/showthread.php?2050-Dynamic-DNS-problem
3. http://forums.freenas.org/showthread.php?5078-8-0-3-RELEASE-coming-soon&p=19721&viewfull=1#post19721
>How-To-Repeat:
I don't have clear reproduction steps for the issue.
>Fix:


Patch attached with submission follows:

diff --exclude '*.orig' -Naur dns/inadyn/Makefile dns/inadyn/Makefile
--- dns/inadyn/Makefile	2009-07-10 16:23:38.000000000 -0700
+++ dns/inadyn/Makefile	2012-01-07 20:04:28.202978310 -0800
@@ -7,7 +7,7 @@
 
 PORTNAME=	inadyn
 PORTVERSION=	1.96.2
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	dns
 MASTER_SITES=	http://www.inatech.eu/inadyn/ \
 		${MASTER_SITE_LOCAL}
@@ -21,34 +21,29 @@
 USE_RC_SUBR=	inadyn
 USE_ZIP=	yes
 USE_DOS2UNIX=	yes
-USE_GMAKE=	yes
-MAKEFILE=	makefile
-
-MAN8=		inadyn.8
-MAN5=		inadyn.conf.5
-MANCOMPRESSED=	no
 
 PORTDOCS=	readme.html
 PLIST_FILES=	bin/inadyn
 
 NO_INSTALL_MANPAGES=yes
 
+MAKE_JOBS_SAFE=	yes
+MAKEFILE=	${FILESDIR}/BSDmakefile
+
+MAKE_ENV+=	MANDIR=${MANPREFIX}/man
+
 post-extract:
 	${MV} ${WRKDIR}/${PORTNAME} ${WRKDIR}/${PORTNAME}-${PORTVERSION}
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|gcc|$$\(CC\)|g' ${WRKSRC}/makefile
 	${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX},g" \
 		${WRKSRC}/man/inadyn.8 ${WRKSRC}/readme.html \
 		${WRKSRC}/src/dyndns.h
 
-do-install:
+pre-install:
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
 	${INSTALL_MAN} ${WRKSRC}/${PORTDOCS} ${DOCSDIR}
 .endif
-	 ${INSTALL_SCRIPT} ${WRKSRC}/bin/linux/inadyn ${PREFIX}/bin
-	 ${INSTALL_SCRIPT} ${WRKSRC}/man/inadyn.8 ${MANPREFIX}/man/man8
-	 ${INSTALL_SCRIPT} ${WRKSRC}/man/inadyn.conf.5 ${MANPREFIX}/man/man5
 
 .include <bsd.port.mk>
diff --exclude '*.orig' -Naur dns/inadyn/files/BSDmakefile dns/inadyn/files/BSDmakefile
--- dns/inadyn/files/BSDmakefile	1969-12-31 16:00:00.000000000 -0800
+++ dns/inadyn/files/BSDmakefile	2012-01-07 20:02:28.322979665 -0800
@@ -0,0 +1,16 @@
+PROG=	inadyn
+
+MAN5=	inadyn.conf.5
+
+MAN8=	inadyn.8
+
+SRCS=	base64utils.c dyndns.c errorcode.c get_cmd.c http_client.c ip.c main.c os.c \
+	os_psos.c os_unix.c os_windows.c tcp.c inadyn_cmd.c
+
+.PATH:	man src
+
+WARNS=	2
+
+BINDIR=	${PREFIX}/bin
+
+.include <bsd.prog.mk>


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list