ports/65915: [PATCH] bsd.port.mk: handle interactive configure scripts

Oliver Eikemeier eikemeier at fillmore-labs.com
Fri Apr 23 14:10:23 UTC 2004


>Number:         65915
>Category:       ports
>Synopsis:       [PATCH] bsd.port.mk: handle interactive configure scripts
>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:   Fri Apr 23 07:10:23 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.10-STABLE

>Description:

Some configure scripts require user interaction. Since this is not desirable
(especially because different answers could lead to different build results,
which may not be relected in the packing list), feed the script with /dev/null
by default. Optional this can be overridden by using `${YES} |', `${YES} NO |',
or whatever seems convenient.

The following ports have to be fixed after this patch:

devel/p5-Data-UUID (skv at FreeBSD.org)
	CONFIGURE_ARGS= </dev/null

devel/p5-Inline-ASM (skv at protey.ru)
	CONFIGURE_ARGS= </dev/null

devel/p5-Inline-CPP (skv at FreeBSD.org)
	CONFIGURE_ARGS= </dev/null

devel/p5-Inline-Java (ports at FreeBSD.org)
	CONFIGURE_ARGS= </dev/null

graphics/p5-Image-Grab (tolid at plab.ku.dk)
	CONFIGURE_ENV= ${ECHO_CMD} "N" |

graphics/rayshade (ports at FreeBSD.org)
	CONFIGURE_ARGS= < ${WRKDIR}/config.ans

net/p5-Net (mat at FreeBSD.org)
	CONFIGURE_ARGS= INSTALLDIRS=site < /dev/null

net/p5-POE-Component-RRDTool (skv at FreeBSD.org)
	CONFIGURE_ARGS= </dev/null

textproc/p5-XML-SAX (skv at FreeBSD.org)
	CONFIGURE_ARGS= </dev/null

textproc/p5-YAML (tobez at FreeBSD.org)
	CONFIGURE_ARGS+= </dev/null

www/p5-Template-Toolkit (perl at FreeBSD.org)
	CONFIGURE_ENV= |

x11-toolkits/qt23 (ports at FreeBSD.org)
	CONFIGURE_ENV= ${ECHO_CMD} yes | QTDIR=${WRKSRC}

x11-toolkits/qt33 (kde at FreeBSD.org)
	CONFIGURE_ENV?= ${ECHO} yes | QTDIR=${WRKSRC} PATH=${WRKSRC}/bin:$$PATH

>How-To-Repeat:
>Fix:

Index: Mk/bsd.port.mk
===================================================================
RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.488
diff -u -r1.488 bsd.port.mk
--- Mk/bsd.port.mk	19 Apr 2004 23:39:52 -0000	1.488
+++ Mk/bsd.port.mk	23 Apr 2004 13:53:14 -0000
@@ -866,6 +866,7 @@
 WHICH?=		/usr/bin/which
 XARGS?=		/usr/bin/xargs
 YACC?=		/usr/bin/yacc
+YES?=		/usr/bin/yes
 
 # ECHO is defined in /usr/share/mk/sys.mk, which can either be "echo",
 # or "true" if the make flag -s is given.  Use ECHO_CMD where you mean
@@ -2336,6 +2339,8 @@
 CONFIGURE_TARGET?=	${MACHINE_ARCH}-portbld-freebsd${OSREL}
 CONFIGURE_LOG?=		config.log
 
+CONFIGURE_BEFORE_CMD?=	${CAT} /dev/null |
+
 # A default message to print if do-configure fails.
 CONFIGURE_FAIL_MESSAGE?=	"Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an \`ls ${PKG_DBDIR}\`)."
 
@@ -3030,7 +3035,7 @@
 .endif
 .if defined(HAS_CONFIGURE)
 	@(cd ${CONFIGURE_WRKSRC} && \
-		if ! ${SETENV} CC="${CC}" CXX="${CXX}" \
+		if ! ${CONFIGURE_BEFORE_CMD} ${SETENV} CC="${CC}" CXX="${CXX}" \
 	    CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
 	    INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \
 	    INSTALL_DATA="${INSTALL_DATA}" \
@@ -3044,7 +3049,7 @@
 .endif
 .if defined(PERL_CONFIGURE)
 	@cd ${CONFIGURE_WRKSRC} && \
-		${SETENV} ${CONFIGURE_ENV} \
+		${CONFIGURE_BEFORE_CMD} ${SETENV} ${CONFIGURE_ENV} \
 		${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
 .if !defined(PERL_MODBUILD)
 	@cd ${CONFIGURE_WRKSRC} && \

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



More information about the freebsd-ports-bugs mailing list