ports/125101: [PATCH] devel/autoconf2{13,61,62}: fix AWK use

Matthias Andree matthias.andree at gmx.de
Sun Jun 29 15:00:16 UTC 2008


>Number:         125101
>Category:       ports
>Synopsis:       [PATCH] devel/autoconf2{13,61,62}: fix AWK use
>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:   Sun Jun 29 15:00:12 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Matthias Andree
>Release:        FreeBSD 7.0-RELEASE-p1 i386
>Organization:
>Environment:
System: FreeBSD rho.emma.line.org 7.0-RELEASE-p1 FreeBSD 7.0-RELEASE-p1 #6: Tue May 27 17:07:46 CEST 2008
>Description:
This is the real fix, to substitute the (already closed) ports/124372.

The autoconf configure script will check mawk and nawk first when
hunting for AWK, but will not record the dependency on nawk/gawk if
found.

This can cause packages depending on autoconf 2.13/2.61/2.62 to fail
their build after gawk has been uninstalled. This was first observed
building archivers/rpm (which depends on 2.13), but the configure "bug"
(or the non-workaround of the port's Makefile) persists in 2.61 and
2.62, symptoms from procedure in how-to-repeat section below:

...
===>  Applying FreeBSD patches for rpm-3.0.6_14
===>   rpm-3.0.6_14 depends on executable: gmake - found
===>   rpm-3.0.6_14 depends on file: /usr/local/bin/automake-1.4 - found
===>   rpm-3.0.6_14 depends on file: /usr/local/bin/autoconf-2.13 -
found
===>   rpm-3.0.6_14 depends on file: /usr/local/bin/libtool - found
===>   rpm-3.0.6_14 depends on shared library: popt.0 - found
===>   rpm-3.0.6_14 depends on shared library: intl - found
===>  Configuring for rpm-3.0.6_14
gawk: not found
===>  Building for rpm-3.0.6_14
gmake: Makefile: No such file or directory
gmake: *** No rule to make target `Makefile'.  Stop.
*** Error code 2

Debugging this shows that the "gawk: not found" stems from autoconf-2.13
in this particular case.

NOTE: the patch changes ports/devel/autoconf213, .../autoconf261 and
.../autoconf262. I wonder if the fix (CONFIGURE_ENV+=AWK=${AWK}) should
become part of GNU_CONFIGURE in ports/Mk/bsd.port.mk instead.

Port maintainer (ade at FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
- install gawk
- install autoconf213
>Fix:

Be sure to export AWK to the port's ./configure script so it does not
silently depend on /usr/local stuff that may later go away.

NOTE: Arguably, this should be done by ports/Mk/bsd.port.mk instead.



===> Generating patch
===> Viewing diff with more
diff -ruN --exclude=CVS /tmp/devel/autoconf213.orig/Makefile /tmp/devel/autoconf213/Makefile
--- /tmp/devel/autoconf213.orig/Makefile	2007-07-28 08:33:44.000000000 +0200
+++ /tmp/devel/autoconf213/Makefile	2008-06-29 16:45:31.000000000 +0200
@@ -7,7 +7,7 @@
 
 PORTNAME=	autoconf
 PORTVERSION=	2.13.000227
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_LOCAL}
 MASTER_SITE_SUBDIR=	ade/gnu
@@ -26,7 +26,7 @@
 USE_BZIP2=	yes
 USE_PERL5=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4
+CONFIGURE_ENV=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4 AWK=${AWK}
 CONFIGURE_ARGS=	--program-suffix=-${BUILD_VERSION}
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 WRKSRC=		${WRKDIR}/autoconf
===> Done
===> Generating patch
===> Viewing diff with more
diff -ruN --exclude=CVS /tmp/devel/autoconf261.orig/Makefile /tmp/devel/autoconf261/Makefile
--- /tmp/devel/autoconf261.orig/Makefile	2007-07-28 22:55:46.000000000 +0200
+++ /tmp/devel/autoconf261/Makefile	2008-06-29 16:46:33.000000000 +0200
@@ -7,7 +7,7 @@
 
 PORTNAME=	autoconf
 PORTVERSION=	2.61
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_GNU}
 MASTER_SITE_SUBDIR=	autoconf
@@ -30,7 +30,7 @@
 INFO=		autoconf-${BUILD_VERSION}
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV+=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4
+CONFIGURE_ENV+=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4 AWK=${AWK}
 CONFIGURE_ARGS=	--program-suffix=-${BUILD_VERSION} --without-lispdir
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 
===> Done
===> Generating patch
===> Viewing diff with more
diff -ruN --exclude=CVS /tmp/devel/autoconf262.orig/Makefile /tmp/devel/autoconf262/Makefile
--- /tmp/devel/autoconf262.orig/Makefile	2008-05-18 07:44:36.000000000 +0200
+++ /tmp/devel/autoconf262/Makefile	2008-06-29 16:46:31.000000000 +0200
@@ -7,6 +7,7 @@
 
 PORTNAME=	autoconf
 PORTVERSION=	2.62
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_GNU}
 MASTER_SITE_SUBDIR=	autoconf
@@ -29,7 +30,7 @@
 INFO=		autoconf-${BUILD_VERSION}
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV+=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4
+CONFIGURE_ENV+=	CONFIG_SHELL=${SH} M4=${LOCALBASE}/bin/gm4 AWK=${AWK}
 CONFIGURE_ARGS=	--program-suffix=-${BUILD_VERSION} --without-lispdir
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 
===> Done
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list