From owner-freebsd-current@FreeBSD.ORG Wed Mar 11 16:55:25 2015 Return-Path: Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A087BB9; Wed, 11 Mar 2015 16:55:25 +0000 (UTC) Received: from mail.turbocat.net (heidi.turbocat.net [88.198.202.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD675AEE; Wed, 11 Mar 2015 16:55:24 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 1CC4B1FE022; Wed, 11 Mar 2015 17:55:21 +0100 (CET) Message-ID: <550073A7.6040302@selasky.org> Date: Wed, 11 Mar 2015 17:56:07 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Brooks Davis Subject: Re: Extending PATH variable in top-level Makefile References: <5500171D.6060303@selasky.org> <20150311163839.GA68977@spindle.one-eyed-alien.net> In-Reply-To: <20150311163839.GA68977@spindle.one-eyed-alien.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@FreeBSD.ORG X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2015 16:55:25 -0000 On 03/11/15 17:38, Brooks Davis wrote: > On Wed, Mar 11, 2015 at 11:21:17AM +0100, Hans Petter Selasky wrote: >> Hi, >> >> When installing bmake from ports, the binary ends up in /usr/local/bin >> and our top-level Makefile doesn't check there: >> >> diff --git a/Makefile b/Makefile >> index e89a5b1..35ade48 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -129,7 +129,7 @@ TGTS+= ${BITGTS} >> .ORDER: buildkernel reinstallkernel >> .ORDER: buildkernel reinstallkernel.debug >> >> -PATH= /sbin:/bin:/usr/sbin:/usr/bin >> +PATH= /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin >> >> >>> bmake -m $PWD/share/mk buildkernel >>> env: bmake: No such file or directory >>> bmake: "/usr/img/freebsd/Makefile" line 136: warning: "/usr/bin/env -i PATH=/sbin:/bin:/usr/sbin:/usr/bin bmake __MAKE_CONF=/etc/make.conf -f /dev/null -V MAKEOBJDIRPREFIX dummy" returned non-zero status >>> --- buildkernel --- >>> --- buildkernel --- >>> ERROR: Missing kernel configuration file(s) (NOIP). >>> *** [buildkernel] Error code 1 >>> >> >> Any objections against extending the PATH= in our top-level Makefile? > > I can't express how bad I think that idea is. You should be able to just use > a full path to the installed bmake. I'm surprised you need -m. > Hi, You can see the PATH environment variable is overwritten by what is inside the top-level Makefile. And "which bmake" reports /usr/local/bin/bmake and that is not inside the binary searching path, when the Makefile invokes bmake again. I was surprised too to see this! --HPS