From owner-freebsd-ports Sat Sep 15 14:37:50 2001 Delivered-To: freebsd-ports@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id 78E0237B405 for ; Sat, 15 Sep 2001 14:37:45 -0700 (PDT) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f8FLbjm79284; Sat, 15 Sep 2001 14:37:45 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.11.6/8.11.5) id f8FLbjr08303; Sat, 15 Sep 2001 14:37:45 -0700 (PDT) (envelope-from marcel) Date: Sat, 15 Sep 2001 14:37:44 -0700 From: Marcel Moolenaar To: Christian Weisgerber Cc: freebsd-ports@FreeBSD.ORG Subject: Re: WRKDIRPREFIX is broken Message-ID: <20010915143744.A473@athlon.pn.xcllnt.net> References: <9nt6hj$rbo$1@kemoauc.mips.inka.de> <9o0ch9$148a$1@kemoauc.mips.inka.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9o0ch9$148a$1@kemoauc.mips.inka.de> User-Agent: Mutt/1.3.21i Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sat, Sep 15, 2001 at 08:09:13PM +0000, Christian Weisgerber wrote: > Christian Weisgerber wrote: > > > Building ports is broken if WRKDIRPREFIX is set. > > My mistake. WRKDIRPREFIX works fine. Setting it to /usr/obj is a > bad idea, though. It is in fact broken, and you can set it to /usr/obj. I have the following in /etc/make.conf # Ports specific PORTSDIR=/nfs/ports WRKDIRPREFIX=/usr/obj I also applied the following diff to (partly) work around the brokenness (WARNING: white-space corrupted): \begin{verbatim} cvs diff: Diffing . Index: bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.378 diff -u -r1.378 bsd.port.mk --- bsd.port.mk 31 Aug 2001 02:13:02 -0000 1.378 +++ bsd.port.mk 5 Sep 2001 01:31:29 -0000 @@ -943,7 +943,7 @@ MD5_FILE?= ${MASTERDIR}/distinfo MAKE_FLAGS?= -f -MAKEFILE?= Makefile +MAKE_FILE?= Makefile MAKE_ENV+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" .if ${OSVERSION} < 500016 @@ -1831,9 +1831,9 @@ .if !target(do-build) do-build: .if defined(USE_GMAKE) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} ${ALL_TARGET}) .else - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} ${ALL_TARGET}) .endif .endif @@ -1842,14 +1842,14 @@ .if !target(do-install) do-install: .if defined(USE_GMAKE) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) + @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} ${INSTALL_TARGET}) .if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} install.man) + @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} install.man) .endif .else defined(USE_GMAKE) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) + @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} ${INSTALL_TARGET}) .if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} install.man) + @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKE_FILE} ${MAKE_ARGS} install.man) .endif .endif .endif \end{verbatim} To explain the patch: MAKEFILE is set by make(1) when it had to do a chdir(2). It sets the MAKEFILE variable to the pathname of the makefile read. We use MAKEFILE in the ports tree to specify the name of the top level makefile used by the source distribution. This conflicts. Note that any port that sets MAKEFILE is really broken if you apply the abovementioned patch without also updating the port's makefile. There's a PR for this, but I completely fail to remember which :-) FYI, -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message