WARNING: This server is unstable and will be retired in the next days. If you want to keep this forum available, please request immediately a migration on the Nabble Support forum. Forums that don't receive any migration request will be deleted forever.

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

View: New views
6 Messages — Rating Filter:   Alert me  

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

by Pekka Enberg-4 :: Rate this Message:

| View Threaded | Show Only this Message

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@...>
  < 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@...>
---
 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



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

by ahughes-2 :: Rate this Message:

| View Threaded | Show Only this Message

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@...>
>   < 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@...>
> ---
>  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


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

by Pekka Enberg-4 :: Rate this Message:

| View Threaded | Show Only this Message

Hi Andrew,

On Fri, May 27, 2011 at 6:45 AM, Dr Andrew John Hughes
<ahughes@...> wrote:

>>  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
>
> 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?

I think requiring jar is reasonable in 2011 and we should drop zip support. ;-)

                        Pekka


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

by ahughes-2 :: Rate this Message:

| View Threaded | Show Only this Message

On 08:51 Fri 27 May     , Pekka Enberg wrote:

> Hi Andrew,
>
> On Fri, May 27, 2011 at 6:45 AM, Dr Andrew John Hughes
> <ahughes@...> wrote:
> >>  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
> >
> > 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?
>
> I think requiring jar is reasonable in 2011 and we should drop zip support. ;-)
>
>                         Pekka

Somehow I knew you were going to say that... ;-)
I think now that ecj is required to build, it's not the sort of blocker it once was.
Plus there is fastjar.

I'm happy for the current patch to go in, then we can make jar a requirement in
a separate patch.
--
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


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

by Andrew Haley :: Rate this Message:

| View Threaded | Show Only this Message

On 05/27/2011 04:45 AM, Dr Andrew John Hughes wrote:

> 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@...>
>>   < 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@...>
>> ---
>>  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.

That's right.

Is there some reason that zip can't generate the index?  I thought it was
just another file.

Andrew.



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

by ahughes-2 :: Rate this Message:

| View Threaded | Show Only this Message

On 13:51 Mon 30 May     , Andrew Haley wrote:

> On 05/27/2011 04:45 AM, Dr Andrew John Hughes wrote:
> > 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@...>
> >>   < 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@...>
> >> ---
> >>  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.
>
> That's right.
>
> Is there some reason that zip can't generate the index?  I thought it was
> just another file.
>

Well, zip can't but I guess we could.

> Andrew.
>
>

--
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