From owner-freebsd-ports@FreeBSD.ORG Mon Nov 7 00:20:12 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 3054D16A41F for ; Mon, 7 Nov 2005 00:20:12 +0000 (GMT) (envelope-from boris@brooknet.com.au) Received: from mailout1.pacific.net.au (mailout1.pacific.net.au [61.8.0.84]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7218A43D46 for ; Mon, 7 Nov 2005 00:20:10 +0000 (GMT) (envelope-from boris@brooknet.com.au) Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.0.86]) by mailout1.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id jA70K1iF026191; Mon, 7 Nov 2005 11:20:01 +1100 Received: from [192.168.0.7] (ppp2AA1.dyn.pacific.net.au [61.8.42.161]) by mailproxy1.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id jA70JY9B027030; Mon, 7 Nov 2005 11:19:52 +1100 In-Reply-To: <200511061602.20130.ringworm01@gmail.com> References: <20051106221047.GC36095@schtroumpf.homeunix.net> <200511061456.44530.ringworm01@gmail.com> <999EA2DB-ADB5-4C77-A84B-C72FBBDDBC69@brooknet.com.au> <200511061602.20130.ringworm01@gmail.com> Mime-Version: 1.0 (Apple Message framework v734) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au> Content-Transfer-Encoding: 7bit From: Sam Lawrance Date: Mon, 7 Nov 2005 11:19:56 +1100 To: "Michael C. Shultz" X-Mailer: Apple Mail (2.734) 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:20:12 -0000 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.