Date: Sun, 6 Nov 2005 16:40:15 -0800 From: "Michael C. Shultz" <ringworm01@gmail.com> To: Sam Lawrance <boris@brooknet.com.au> Cc: freebsd-ports@freebsd.org, "Ian D. Leroux" <ian_leroux@fastmail.fm> Subject: Re: java/jdk14, BUILD_DEPENDS, and portmanager -u Message-ID: <200511061640.16246.ringworm01@gmail.com> In-Reply-To: <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au> References: <20051106221047.GC36095@schtroumpf.homeunix.net> <200511061602.20130.ringworm01@gmail.com> <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511061640.16246.ringworm01>