Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Nov 2005 11:19:56 +1100
From:      Sam Lawrance <boris@brooknet.com.au>
To:        "Michael C. Shultz" <ringworm01@gmail.com>
Cc:        freebsd-ports@freebsd.org, "Ian D. Leroux" <ian_leroux@fastmail.fm>
Subject:   Re: java/jdk14, BUILD_DEPENDS, and portmanager -u
Message-ID:  <15A24A31-9E12-40B9-93B6-310A2614C374@brooknet.com.au>
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>

next in thread | previous in thread | raw e-mail | index | archive | help

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.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15A24A31-9E12-40B9-93B6-310A2614C374>