Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Language Fragments missing in the p2 site
Language Fragments missing in the p2 site [message #634550] Fri, 22 October 2010 07:14 Go to next message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
Hi,

I have a buckminster setup similar to the mailapp tutorial and I try to
build a p2.site. My product feature includes a language feature that in
turn contains some of the language fragments of the babel project. My
problem is that the resulting site does not contain these fragments. The
site is not usable because an attempt to install the product with the
director fails complaining that some required ius are missing.

Some remarks:
- It works well from within the IDE (buckminster pde version 11582)
- The target plattform (materialized by BM) contains all these fragments
- The update site also contains the fragments in the plugins/ folder but
they are missing from the content.jar and also from the artifacts.jar.
- I tried the site.p2 action also with a property "target.nl=*" but it
didn't help.

Best regards,
Peter
Re: Language Fragments missing in the p2 site [message #634597 is a reply to message #634550] Fri, 22 October 2010 11:32 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Peter,

This sounds very odd. I don't understand how the fragments can be
physically present under the plugins folder unless they are also
represented in the artifacts.jar. Buckminster doesn't copy those
fragments to that location. It delegates that to the p2 publisher which
in turn uses the artifact repository API. Are you really sure about this?

- thomas

On 10/22/2010 09:14 AM, Peter Kullmann wrote:
> Hi,
>
> I have a buckminster setup similar to the mailapp tutorial and I try to
> build a p2.site. My product feature includes a language feature that in
> turn contains some of the language fragments of the babel project. My
> problem is that the resulting site does not contain these fragments. The
> site is not usable because an attempt to install the product with the
> director fails complaining that some required ius are missing.
>
> Some remarks:
> - It works well from within the IDE (buckminster pde version 11582)
> - The target plattform (materialized by BM) contains all these fragments
> - The update site also contains the fragments in the plugins/ folder but
> they are missing from the content.jar and also from the artifacts.jar.
> - I tried the site.p2 action also with a property "target.nl=*" but it
> didn't help.
>
> Best regards,
> Peter
Re: Language Fragments missing in the p2 site [message #634637 is a reply to message #634597] Fri, 22 October 2010 14:02 Go to previous messageGo to next message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
Hi Thomas,

I'm positive. The fragments are included in the site.p2/plugins/ folder
but are not contained in artifacts.jar and also not in content.jar.

The log output of the site.p2 action looks ok, there are no error
messages. I use signing for my site and the fragments are also signed.
So most of the process seems to be working ok.

Any idea where I could start looking for a solution?

Best regards,
Peter

Thomas Hallgren schrieb:
> Hi Peter,
>
> This sounds very odd. I don't understand how the fragments can be
> physically present under the plugins folder unless they are also
> represented in the artifacts.jar. Buckminster doesn't copy those
> fragments to that location. It delegates that to the p2 publisher which
> in turn uses the artifact repository API. Are you really sure about this?
>
> - thomas
>
> On 10/22/2010 09:14 AM, Peter Kullmann wrote:
>> Hi,
>>
>> I have a buckminster setup similar to the mailapp tutorial and I try to
>> build a p2.site. My product feature includes a language feature that in
>> turn contains some of the language fragments of the babel project. My
>> problem is that the resulting site does not contain these fragments. The
>> site is not usable because an attempt to install the product with the
>> director fails complaining that some required ius are missing.
>>
>> Some remarks:
>> - It works well from within the IDE (buckminster pde version 11582)
>> - The target plattform (materialized by BM) contains all these fragments
>> - The update site also contains the fragments in the plugins/ folder but
>> they are missing from the content.jar and also from the artifacts.jar.
>> - I tried the site.p2 action also with a property "target.nl=*" but it
>> didn't help.
>>
>> Best regards,
>> Peter
>
Re: Language Fragments missing in the p2 site [message #642483 is a reply to message #634637] Wed, 01 December 2010 14:15 Go to previous messageGo to next message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
I have a possible explanation. We had the same problem with a different
product where one plugin (a springsource bundle) was missing from both
content.xml and artifacts.xml but was actually copied into the plugins
folder of the site. The solution was not to sign the repository. So,
when I turn off signing (site.signing=false) everything works as
expected and when site.signing is turned on the bundle is missing.

Regards,
Peter

Am 22.10.10 16:02, schrieb Peter Kullmann:
> Hi Thomas,
>
> I'm positive. The fragments are included in the site.p2/plugins/ folder
> but are not contained in artifacts.jar and also not in content.jar.
>
> The log output of the site.p2 action looks ok, there are no error
> messages. I use signing for my site and the fragments are also signed.
> So most of the process seems to be working ok.
>
> Any idea where I could start looking for a solution?
>
> Best regards,
> Peter
>
> Thomas Hallgren schrieb:
>> Hi Peter,
>>
>> This sounds very odd. I don't understand how the fragments can be
>> physically present under the plugins folder unless they are also
>> represented in the artifacts.jar. Buckminster doesn't copy those
>> fragments to that location. It delegates that to the p2 publisher
>> which in turn uses the artifact repository API. Are you really sure
>> about this?
>>
>> - thomas
>>
>> On 10/22/2010 09:14 AM, Peter Kullmann wrote:
>>> Hi,
>>>
>>> I have a buckminster setup similar to the mailapp tutorial and I try to
>>> build a p2.site. My product feature includes a language feature that in
>>> turn contains some of the language fragments of the babel project. My
>>> problem is that the resulting site does not contain these fragments. The
>>> site is not usable because an attempt to install the product with the
>>> director fails complaining that some required ius are missing.
>>>
>>> Some remarks:
>>> - It works well from within the IDE (buckminster pde version 11582)
>>> - The target plattform (materialized by BM) contains all these fragments
>>> - The update site also contains the fragments in the plugins/ folder but
>>> they are missing from the content.jar and also from the artifacts.jar.
>>> - I tried the site.p2 action also with a property "target.nl=*" but it
>>> didn't help.
>>>
>>> Best regards,
>>> Peter
>>
Re: Language Fragments missing in the p2 site [message #642713 is a reply to message #642483] Thu, 02 December 2010 13:27 Go to previous messageGo to next message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
I'm slowly making progress here. I know the reason for some IUs not
being included in the content.xml or artifacts.xml files: In
org.eclipse.equinox.p2.publisher.eclipse.BundlesAction there is a method
getBundleDescriptions() that creates some metadata by reading the
manifests of the given files (jars). In my bad cases (nls fragments or
the springsource bundle mentioned) the bundle fragment is not a valid
OSGi manifest (empty first line). In these cases there results a null
BundleDescription. In the end we have an invalid p2 repository with
these elements missing.

The reason for these bundles to have invalid manifests is signing. I
have two cases:

1. NLS fragments. These fragments are materialized in the target
platform. The manifest looks like this:
-------------------------------------------------
Manifest-Version: 1.0
Bundle-Name: org.eclipse.birt.core French NLS Support
Bundle-SymbolicName: org.eclipse.birt.core.nl_fr ;singleton=true
Bundle-Version: 3.5.0.v20091121043401
Bundle-Vendor: Eclipse.org
Fragment-Host: org.eclipse.birt.core
-------------------------------------------------

After signing it looks like this:
-------------------------------------------------


Name: org/eclipse/birt/core/i18n/Messages_fr.properties
SHA1-Digest: YmgKyCdhMv/E/7QyK9oHMz7aB2Y=

Name: about.html
SHA1-Digest: VpXXGnjM0HeeD/l2/5T0GziCHVE=

-------------------------------------------------
All the OSGi headers have vanished.

2. com.springsource bundles (perhaps a general issue with nested jars)
I was using com.springsource.com.sun.jna and although my rmap was using
mutable="false" and source="false" the bundle ended up in the workspace
unjarred. The bundle contains a nested jar by the way. After signing, it
looks like the example above: No OSGi headers left, just the signing stuff.
In this case I could rescue the build by employing an mspec that
explicitly directs the com.springsource.* stuff to the target platform.

Thomas, can you please direct me to the appropriate places for bug
reports. I'm not sure where to start here.

Regards,
Peter


Am 01.12.10 15:15, schrieb Peter Kullmann:
> I have a possible explanation. We had the same problem with a different
> product where one plugin (a springsource bundle) was missing from both
> content.xml and artifacts.xml but was actually copied into the plugins
> folder of the site. The solution was not to sign the repository. So,
> when I turn off signing (site.signing=false) everything works as
> expected and when site.signing is turned on the bundle is missing.
>
> Regards,
> Peter
>
> Am 22.10.10 16:02, schrieb Peter Kullmann:
>> Hi Thomas,
>>
>> I'm positive. The fragments are included in the site.p2/plugins/ folder
>> but are not contained in artifacts.jar and also not in content.jar.
>>
>> The log output of the site.p2 action looks ok, there are no error
>> messages. I use signing for my site and the fragments are also signed.
>> So most of the process seems to be working ok.
>>
>> Any idea where I could start looking for a solution?
>>
>> Best regards,
>> Peter
>>
>> Thomas Hallgren schrieb:
>>> Hi Peter,
>>>
>>> This sounds very odd. I don't understand how the fragments can be
>>> physically present under the plugins folder unless they are also
>>> represented in the artifacts.jar. Buckminster doesn't copy those
>>> fragments to that location. It delegates that to the p2 publisher
>>> which in turn uses the artifact repository API. Are you really sure
>>> about this?
>>>
>>> - thomas
>>>
>>> On 10/22/2010 09:14 AM, Peter Kullmann wrote:
>>>> Hi,
>>>>
>>>> I have a buckminster setup similar to the mailapp tutorial and I try to
>>>> build a p2.site. My product feature includes a language feature that in
>>>> turn contains some of the language fragments of the babel project. My
>>>> problem is that the resulting site does not contain these fragments.
>>>> The
>>>> site is not usable because an attempt to install the product with the
>>>> director fails complaining that some required ius are missing.
>>>>
>>>> Some remarks:
>>>> - It works well from within the IDE (buckminster pde version 11582)
>>>> - The target plattform (materialized by BM) contains all these
>>>> fragments
>>>> - The update site also contains the fragments in the plugins/ folder
>>>> but
>>>> they are missing from the content.jar and also from the artifacts.jar.
>>>> - I tried the site.p2 action also with a property "target.nl=*" but it
>>>> didn't help.
>>>>
>>>> Best regards,
>>>> Peter
>>>
>
Re: Language Fragments missing in the p2 site [message #642724 is a reply to message #642713] Thu, 02 December 2010 14:07 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 2010-12-02 14:27, Peter Kullmann wrote:
> Thomas, can you please direct me to the appropriate places for bug reports. I'm not sure where to start here.
>
The p2 publisher should probably say something when it encounters a bad manifest. For that I suggest you file a bugzilla
against RT/Equinox/p2.

Not sure what to do with the signing problem. In general, it's a bad idea to bring jars into the workspace. I'm not sure
why that happens? Are you using an MSPEC for the import? If not, then they should never end up there unless you have
source="true". PDE does funny things to a jar when it's imported into the workspace and Buckminster makes a best effort
to reverse that process but I'm not too surprised that it fails when signing is involved,

Regards,
Thomas Hallgren
Re: Language Fragments missing in the p2 site [message #642776 is a reply to message #642724] Thu, 02 December 2010 15:55 Go to previous messageGo to next message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
Am 02.12.10 15:07, schrieb Thomas Hallgren:
> On 2010-12-02 14:27, Peter Kullmann wrote:
>> Thomas, can you please direct me to the appropriate places for bug
>> reports. I'm not sure where to start here.
>>
> The p2 publisher should probably say something when it encounters a bad
> manifest. For that I suggest you file a bugzilla against RT/Equinox/p2.
>
https://bugs.eclipse.org/bugs/show_bug.cgi?id=331683

> Not sure what to do with the signing problem. In general, it's a bad
> idea to bring jars into the workspace. I'm not sure why that happens?
> Are you using an MSPEC for the import? If not, then they should never
> end up there unless you have source="true". PDE does funny things to a
> jar when it's imported into the workspace and Buckminster makes a best
> effort to reverse that process but I'm not too surprised that it fails
> when signing is involved,

I was not using an mspec. This is the relevant part of the rmap:
<searchPath name="com.springsource.com.sun.jna">
<provider readerType="url" componentTypes="osgi.bundle"
mutable="false" source="false">
<uri

format=" http://repository.springsource.com/ivy/bundles/external/net. java.dev.jna/{1}/{2}/{1}-{2}.jar">
<bc:replace pattern="com\.springsource\.(.*)" replacement="$1">
<bc:propertyRef key="buckminster.component" />
</bc:replace>
<bc:propertyRef key="buckminster.component" />
<bc:replace pattern=".*([0-9]+\.[0-9]+\.[0-9]+).*" replacement="$1">
<bc:propertyRef key="buckminster.version.designator" />
</bc:replace>
</uri>
</provider>
</searchPath>

The query was to com.springsource.com.sun.jna, version == "3.2.3".
Buckminster puts it into the workspace and I have no clue why. I could
solve it by using an mspec that materializes com.springsource.* with the
p2 materializer. With that everything works well.

Regards,
Peter
Re: Language Fragments missing in the p2 site [message #642777 is a reply to message #642776] Thu, 02 December 2010 16:21 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Peter,

On 2010-12-02 16:55, Peter Kullmann wrote:
> I was not using an mspec. This is the relevant part of the rmap:
> <searchPath name="com.springsource.com.sun.jna">
> <provider readerType="url" componentTypes="osgi.bundle"
> mutable="false" source="false">

I think this might be a bug in the 'url' reader type. Can you please file a bugzilla for that too?

Thanks,
- thomas
Re: Language Fragments missing in the p2 site [message #642906 is a reply to message #642777] Fri, 03 December 2010 09:56 Go to previous message
Peter Kullmann is currently offline Peter KullmannFriend
Messages: 240
Registered: July 2009
Senior Member
Am 02.12.10 17:21, schrieb Thomas Hallgren:
> Hi Peter,
>
> On 2010-12-02 16:55, Peter Kullmann wrote:
>> I was not using an mspec. This is the relevant part of the rmap:
>> <searchPath name="com.springsource.com.sun.jna">
>> <provider readerType="url" componentTypes="osgi.bundle"
>> mutable="false" source="false">
>
> I think this might be a bug in the 'url' reader type. Can you please
> file a bugzilla for that too?
>
> Thanks,
> - thomas

https://bugs.eclipse.org/bugs/show_bug.cgi?id=331754
Previous Topic:cannot resolve org.eclipse.core.runtime with buckminster on osx
Next Topic:SVN provider assumptions...?
Goto Forum:
  


Current Time: Thu Mar 28 09:01:16 GMT 2024

Powered by FUDForum. Page generated in 0.03858 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top