Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-java
Navigation:
Lists: gentoo-java: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-java@g.o
From: Joshua Nichols <nichoj@g.o>
Subject: looking for contributions to java-1.5-fixer
Date: Fri, 31 Mar 2006 00:43:00 -0500
Hey folks,

So, we have a bash script to help people rebuild packages on their
system that were built with Java 1.5. It does help a bit, but it could
definitely could use a little work. People often ask how they can help
out, so I figure it may be a good thing to announce the need for
improving this script.

Here's a brief synopsis of what it does:
 * gets a list of all jars, using the pattern /usr/share/*/lib/*.jar
 * uses a python script, class-version-verify.py to check what version
bytecode for each jar
 * makes a list of offending jars
 * uses qfile from app-portage/portage-utils to determine what package
it belongs to
 * attempts to emerge all the offending packages

Here are some problems with the current script:
 * Things that are brought onto the classpath for /usr/bin/ant cause
some big trouble. This is because 1.5 bytecode is brought onto the
classpath when you're trying to build 1.4 bytecode.
 * It's not smart enough to emerge stuff in order. As a result, we just
attempt to merge them in a pseudo random order. If a package fails, we
keep track of it to try in another 'run'. If the same packages keep
failing 3 times, the script dies.
 * Some things could be installing jars somewhere beside
/usr/share/*/lib/*.jar  (in particular, to /opt)
 * Some binary packages install jars with 1.5 bytecode. These would be
false positive.

Some corresponding suggestions of how to handle the problems:
* Check ant dependencies first. If there are offending packages, unmerge
those, then remerge
* Try unmerging stuff first. This way, emerge will figure out what order
to put things in
* try parsing CLASSPATH out of /usr/share/*/package.env to get a list of
jars that get installed
 * have a variable with a list of known 1.5 jars. ignore the jar if it's
in this list.


The source for this is in subversion at:
https://svn.gentooexperimental.org/svn/java/java-config-wrapper/trunk/
(under src/shell)

So if this sounds up your ally, give it a shot. Hope to hear from someone :)

Regards,
- Josh
-- 
gentoo-java@g.o mailing list


Navigation:
Lists: gentoo-java: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
dealing with VM vendors that don't change distfiles names
Next by thread:
Re: Bugs submission
Previous by date:
Re: Re: Bugs submission
Next by date:
Re: Bugs submission


Updated Jun 17, 2009

Summary: Archive of the gentoo-java mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.