From owner-freebsd-ports@FreeBSD.ORG Mon Nov 7 00:49:08 2005 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2244616A41F for ; Mon, 7 Nov 2005 00:49:08 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 92BF543D48 for ; Mon, 7 Nov 2005 00:49:07 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: by xproxy.gmail.com with SMTP id t14so295615wxc for ; Sun, 06 Nov 2005 16:49:06 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:cc:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=foLTkoSFA74DSJjY3Kbm8hdsZwPfY37D0Nx6pP2cyAjfLKfh8WTrX2rdqR1y99eMiOZnS3lI7ahTl1IvALDBfMU+5HEJhDxERgSaPBXiL9O3yNBKQptLQm4llJMrvxoWM0sZd0FCHDI3/v2kiJS1Kcn3rMz848zq8bvkvtOZ8dU= Received: by 10.70.40.9 with SMTP id n9mr4400283wxn; Sun, 06 Nov 2005 16:49:06 -0800 (PST) Received: from ?192.168.1.10? ( [71.102.14.129]) by mx.gmail.com with ESMTP id i13sm424247wxd.2005.11.06.16.49.02; Sun, 06 Nov 2005 16:49:05 -0800 (PST) From: "Michael C. Shultz" To: Sam Lawrance Date: Sun, 6 Nov 2005 16:40:15 -0800 User-Agent: KMail/1.8.3 References: <20051106221047.GC36095@schtroumpf.homeunix.net> <200511061602.20130.ringworm01@gmail.com> <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au> In-Reply-To: <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511061640.16246.ringworm01@gmail.com> Cc: freebsd-ports@freebsd.org, "Ian D. Leroux" Subject: Re: java/jdk14, BUILD_DEPENDS, and portmanager -u X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Nov 2005 00:49:08 -0000 On Sunday 06 November 2005 16:19, Sam Lawrance wrote: > On 07/11/2005, at 11:02 AM, Michael C. Shultz wrote: > > On Sunday 06 November 2005 15:49, Sam Lawrance wrote: > >> On 07/11/2005, at 9:56 AM, Michael C. Shultz wrote: > >>> On Sunday 06 November 2005 14:10, Ian D. Leroux wrote: > >>>> I have a native build of jdk14 (jdk-1.4.2p7_2) installed on my > >>>> system, > >>>> and so far whenever that port has needed upgrading it's been able > >>>> to use > >>>> the existing jdk to build the new one (I deinstalled linux-sun-jdk > >>>> some > >>>> time ago). While running portmanager -u today I noticed it > >>>> trying to > >>>> upgrade the jdk on the grounds that it has an out-of-date > >>>> dependency on > >>>> > >>>> linux-sun-jdk (which is "missing"). Sure enough: > >>>>> cd /usr/ports/java/jdk14 && make -V BUILD_DEPENDS > >>> > >>> portmanager just went through a major change with version 0.3.2, > >>> > >>> If I understand your post correctly there might be a bug in > >>> portmanager, > >>> here is how it "should work": > >>> > >>> if a port has an out of date RUN_DEPENDS LIB_DEPENDS or DEPENDS > >>> then it gets picked for rebuilding, but is'nt actually built until > >>> all of the port's BUILD_DEPENDS EXTRACT_DEPENDS PATCH_DEPENDS > >>> FETCH_DEPENDS and all of the run depends are up to date. > >>> > >>> Please try > >>> > >>> cd /usr/ports/java/jdk14 && make -V RUN_DEPENDS -V LIB_DEPENDS -V > >>> DEPENDS > >>> > >>> If any of those are out of date then that is probably the real > >>> reason why > >>> jdk14 is being updated and this is just a reporting problem. > >>> > >>> For the bad news though, if linux-sun-jdk is a BUILD_DEPENDS then > >>> portmanager > >>> is going to expect it to be installed before building java/jdk14. > >>> If there > >>> is another way to build that port the proper place to fix this > >>> problem is in > >>> that port's Makefile. Maybe by making the BUILD_DEPEND contitional > >>> on the existanace of its own existing JDK? > >> > >> You cannot have circular dependencies in the ports tree. > >> > >> I think the real problem is that portmanager is looking specifically > >> for the existence of the linux-sun-jdk port, which is not what the > >> jdk14 port does ordinarily. > >> > >> Cheers > >> Sam > > > > Here is what I get: > > > > java/jdk14: > > > > make -V BUILD_DEPENDS brings up: > > > > /usr/local/linux-sun-jdk1.4.2/bin/javac:/usr/ports/java/linux-sun- > > jdk14 > > > > which is telling me if /usr/local/linux-sun-jdk1.4.2/bin/java is > > there > > > > it isn't going to worry about java/linux-sun-jdk14. > > jdk14 can bootstrap from any of the NATIVE_BOOTSTRAP_JDKS or > LINUX_BOOTSTRAP_JDKS listed in the makefile, including itself. If > one of these is available, the "javac" binary that jdk14 tests for is > not necessarily the one from linux-sun-jdk14. OK, good info! See if I understand correctly: in java/jdk14 I get: make -V NATIVE_BOOTSTRAP_JDKS /usr/local/jdk1.4.2 /usr/local/jdk1.4.1 make -V LINUX_BOOTSTRAP_JDK none Which means if either /usr/local/jdk1.4.2 or /usr/local/jdk1.4.1 exist, then no build targets needed, correct? On my system there is no /usr/local/jdk1.4.2 or /usr/local/jdk1.4.1 so make -V NATIVE_BOOTSTRAP_JDKS seems to be saying what is needed, not what I have,... -Mike