Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Aug 2007 01:27:42 +0100
From:      RW <fbsd06@mlists.homeunix.com>
To:        freebsd-ports@freebsd.org
Subject:   Re: Portmaster and Portmanager problem with jdk15
Message-ID:  <20070808012742.56fbbde8@gumby.homeunix.com.>
In-Reply-To: <1186530597.1257.72.camel@rnoland-ibm.acs.internap.com>
References:  <20070807205138.6c5759d6@gumby.homeunix.com.> <46B8D605.2060008@FreeBSD.org> <1186520349.1257.58.camel@rnoland-ibm.acs.internap.com> <20070808003132.251c4205@gumby.homeunix.com.> <1186530597.1257.72.camel@rnoland-ibm.acs.internap.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 07 Aug 2007 19:49:57 -0400
Robert Noland <rnoland@2hip.net> wrote:

> On Wed, 2007-08-08 at 00:31 +0100, RW wrote:
>   
> > In the normal case, the installed bootstrap of a native jdk is
> > going to be itself, so adding a new dependency is going to be
> > undesirable.  
> 
> I agree, having it depend on itself isn't good.  In the case of jdk14
> it can only bootstrap from linux-sun-jdk14 or native jdk14 so either
> it was built via linux-jdk and should list a dependency on it, or it
> was built via itself and should not list a dependency.
> 
> For jdk15 however, it can be built using any 1 of 5 bootstrap jdks,
> diablo-jdk15, jdk15 (native), jdk14 (native), linux-sun-jdk15, or
> linux-sun-jdk14 in that order of preference.  As it stands, it will
> always list a dependency on diablo-jdk15 (current cvs) or
> linux-sun-jdk before.  It will always list the same dependency, no
> matter what jdk was used to bootstrap.  The change proposed above
> would mean that if any eligible bootstrap exists no dependency will
> be recorded, even if that bootstrap jdk is not itself.
> 
> The short version is:
> 
> Without the change, you always record a dependency on diablo-jdk15
> 
> With the change, first build record a dependency on diablo-jdk15,
> subsequent builds record no dependency.  

I think it should default to building with itself and having no build
dependency. That seems to be the right thing to do because a
leaf-deletion program that understands build dependencies will then
pickup the bootstrap port as a new leaf.  

Offhand the only consequence I can see of not having the actual
dependency is that the primary jdk and the bootstrap jdk might get
rebuilt out of order - but that's essentially going to be the case when
a  port bootstraps itself (unless it's built twice).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070808012742.56fbbde8>