Herve Quiroz herve.quiroz at esil.univ-mrs.fr
Mon Mar 8 08:27:40 PST 2004

On Mon, Mar 08, 2004 at 05:48:42PM +0200, Panagiotis Astithas wrote:
> Many users nowadays use portupgrade to update their ports, myself 
> included. Isn't this proposed scheme going to require that portupgrade 
> be taught about how to properly update java ports (change the ports name 
> and stuff)?
> Just some food for thought.

Well I agree that's the main problem. There is only a problem when you change
your JDK for another Java version (e.g. 1.3 -> 1.4). Anyway, it is the same as
for the recent Ruby/portupgrade issue we had (switching from Ruby 1.6 to Ruby
1.8). Renaming the package is not the best solution IMHO. Let's consider again
jakarta-commons-logging. If I rename my package to
java14-jakarta-commons-logging, users may think it is compiled with JDK 1.4
logging API support, which is not actually the case. So, the way I see it, a
better practice would be:

$ pkgdb -Fa

[everything depending on JDK 1.3 will now depend on JDK 1.4]

$ portupgrade -fr java/jdk14 -x java/jdk14

[everything depending on java/jdk14 will get rebuilt]

But that's maybe too heavy when only one or two ports are concerned. In such a
case, I would recommend the following (excuse any wrong command here, as we are
talking about something that does not exit, and thus I can't really test before

$ pkg_info -xqo java13- >/tmp/ports.toberebuilt

[list all concerned ports. '-o' lists the "origin" port of the package]

$ pkgdb -Fa 
[everything depending on JDK 1.3 will now depend on JDK 1.4] 

$ portupgrade -f `cat /tmp/ports.toberebuilt`

[rebuild concerned ports]

I don't know much about the implementation of pkgdb but maybe those steps could
be enforced by the Fix (-F) command as you suggest in your message. BTW, pkgdb
is part of the base system so this would not only affect portupgrade users.

Thanks for your comments.


More information about the freebsd-java mailing list