From owner-freebsd-ports@FreeBSD.ORG Wed Aug 8 00:16:36 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27FEA16A417 for ; Wed, 8 Aug 2007 00:16:36 +0000 (UTC) (envelope-from rnoland@2hip.net) Received: from gizmo.2hip.net (gizmo.2hip.net [64.74.207.195]) by mx1.freebsd.org (Postfix) with ESMTP id 01B2C13C4A6 for ; Wed, 8 Aug 2007 00:16:35 +0000 (UTC) (envelope-from rnoland@2hip.net) Received: from [63.251.67.21] (rnoland-ibm.acs.internap.com [63.251.67.21]) (authenticated bits=0) by gizmo.2hip.net (8.13.8/8.13.8) with ESMTP id l77No2UJ093239 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO); Tue, 7 Aug 2007 19:50:02 -0400 (EDT) (envelope-from rnoland@2hip.net) From: Robert Noland To: RW In-Reply-To: <20070808003132.251c4205@gumby.homeunix.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.> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-1rj/UNEQw9a3pFpiexWs" Date: Tue, 07 Aug 2007 19:49:57 -0400 Message-Id: <1186530597.1257.72.camel@rnoland-ibm.acs.internap.com> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on gizmo.2hip.net Cc: freebsd-ports@freebsd.org Subject: Re: Portmaster and Portmanager problem with jdk15 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: Wed, 08 Aug 2007 00:16:36 -0000 --=-1rj/UNEQw9a3pFpiexWs Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Wed, 2007-08-08 at 00:31 +0100, RW wrote: > On Tue, 07 Aug 2007 16:59:09 -0400 > Robert Noland wrote: >=20 > > On Tue, 2007-08-07 at 13:28 -0700, Doug Barton wrote: > > > RW wrote: > > > > Both Portmaster and Portmanager (I haven't tried Portupgrade) > > > > install java/linux-sun-jdk15 on an upgrade of java/jdk15. If I > > > > upgrade jdk15 manually it isn't built, so it must be done by the > > > > tools. > > > >=20 > > > > The way the jdk15 makefile works is that it looks for the location > > > > of an existing jdk installation for bootstrapping and sets > > > > BOOTSTRAPJDKDIR accordingly. We then have: > > > >=20 > > > > # if no valid jdk found, set dependency > > > > .if !defined(BOOTSTRAPJDKDIR) > > > > BOOTSTRAPJDKDIR?=3D${LOCALBASE}/linux-sun-jdk${SUN_LINUX_JDK_VERSIO= N}=20 > > > > .endif > > > > BUILD_DEPENDS+=3D${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/linu= x-sun-jdk15 > > > >=20 > > > >=20 > > > > I don't know why this causes the build-tools to install > > > > linux-sun-jdk15, but simply moving the BUILD_DEPENDS+=3D line > > > > inside the if-endif block, seems to fix the problem. That line is > > > > only needed if no jdk is present. > > >=20 > > > Your analysis sounds right. > >=20 > > Almost, doing this will remove the dependency on linux-sun-jdk15 if > > another bootstrap is installed, but it won't add one for the installed > > bootstrap. =20 >=20 > 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. =20 robert. =20 > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" --=-1rj/UNEQw9a3pFpiexWs Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQBGuQUlM4TrQ4qfROMRAmBmAJ9EFh4fknZaPMFfWOMdUnz/hL/DYACeJcJH AISbiP11NJbt9yANFe32eqY= =P0Y1 -----END PGP SIGNATURE----- --=-1rj/UNEQw9a3pFpiexWs--