From owner-freebsd-ports@FreeBSD.ORG Mon Nov 7 00:10:59 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 5AF9216A420 for ; Mon, 7 Nov 2005 00:10:59 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.195]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3697B43D49 for ; Mon, 7 Nov 2005 00:10:57 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: by wproxy.gmail.com with SMTP id 68so373779wra for ; Sun, 06 Nov 2005 16:10:57 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:cc:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=D1di3qTMn62iXUJLJ/Po1V7kAsW3U6wPGnrwwy9BsERxK/A+XPvZjZp8jwM7UmI3oscvsxmYyfXIrKKPovM6P4xLyFoBrW/bOwshOqDhhx8oANg7ndyU6A6KouOM2kYb4DEA8KYGK2QNzrTMyUs5LorYpRcIIGOCgJOt7xqBXqo= Received: by 10.54.158.3 with SMTP id g3mr3372173wre; Sun, 06 Nov 2005 16:10:57 -0800 (PST) Received: from ?192.168.1.10? ( [71.102.14.129]) by mx.gmail.com with ESMTP id 10sm3334835wrl.2005.11.06.16.10.56; Sun, 06 Nov 2005 16:10:57 -0800 (PST) From: "Michael C. Shultz" To: Sam Lawrance Date: Sun, 6 Nov 2005 16:02:19 -0800 User-Agent: KMail/1.8.3 References: <20051106221047.GC36095@schtroumpf.homeunix.net> <200511061456.44530.ringworm01@gmail.com> <999EA2DB-ADB5-4C77-A84B-C72FBBDDBC69@brooknet.com.au> In-Reply-To: <999EA2DB-ADB5-4C77-A84B-C72FBBDDBC69@brooknet.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511061602.20130.ringworm01@gmail.com> Cc: "Ian D. Leroux" , freebsd-ports@freebsd.org 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:10:59 -0000 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. in java/linux-sun-jdk14's pkg-plist is: @unexec %%LOCALBASE%%/bin/unregistervm "%D/%%T%%/bin/java" which I interpret as /usr/local/linux-sun-jdk1.4.2/bin/javac is not going to be removed after deinstall. Still need to test this. I guess the rules about ports cleaning up after themselves in the case of java may not apply, if that turns out to be the case I'll put some sort of work around in portmanager. -Mike