[cp-patches] [RFC/PATCH] Generate META-INF/INDEX.LIST file for glibj.zip

Dr Andrew John Hughes ahughes at redhat.com
Fri May 27 03:45:13 UTC 2011


On 15:39 Thu 26 May     , Pekka Enberg wrote:
> This patch changes the glibj.zip packaging so that META-INF/INDEX.LIST is
> generated to the file. This is needed for VMClassLoader.getBootPackages() to
> work correctly:
> 
>   private static String[] getBootPackages()
>   {
>     URL indexList = getResource("META-INF/INDEX.LIST");
>     if (indexList != null)
>       {
> 
> NOTE! This problem is only seen with Jato currently as it's the only VM I'm
> aware of that doesn't override any of the classes in vm/reference. CACAO and
> JamVM override the whole classloading parts themselves.
> 
> I asked about this on IRC and Mark Wielaard explained background on the issue:
> 
>   < mjw> 2006-04-19  Olivier Jolly  <olivier.jolly at pcedev.com>
>   < mjw>    * vm/reference/java/lang/VMClassLoader.java (getBootPackages): Loads
>   < mjw>    boot packages list from the META-INF/INDEX.LIST file if it exists.
>   < mjw> http://developer.classpath.org/pipermail/classpath-patches/2006-April/001704.html
>   < mjw> "the patch to support the -i option should be incorporated soon and we'll be able to add the creation of the index to the glibj.zip by default."
>   < mjw> soon just happens the be > 5 years...
> 
> Signed-off-by: Pekka Enberg <penberg at kernel.org>
> ---
>  lib/Makefile.am |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index 8104ee7..50d1baa 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -71,7 +71,7 @@ glibj.zip:
>  else
>  
>  if WITH_JAR
> -CREATE_GLIBJ_ZIP=$(JAR) cf glibj.zip gnu java javax org sun META-INF
> +CREATE_GLIBJ_ZIP=$(JAR) cf glibj.zip gnu java javax org sun META-INF && $(JAR) i glibj.zip
>  else
>  CREATE_GLIBJ_ZIP=$(ZIP) -r -D glibj.zip gnu java javax org sun META-INF > /dev/null
>  endif
> -- 
> 1.7.4.1
> 
> 

My only concern with the patch (as I think Mark also raised on IRC) is that it means
the index is only generated if WITH_JAR is set and not if $(ZIP) is used.

Should we just drop the $(ZIP) option and require jar to be available?  I suspect
the reason we haven't done this is a bootstrapping issue.  Does anyone have any
thoughts?

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37



More information about the Classpath-patches mailing list