[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [p2-dev] Re: Error trying to partially p2.mirrorEMF 2.5.0 updatesite

You're correct.  I can install from this repo and everything seems to work.  Alright - I'll take all of this information and go from here.  Thanks for all the help, everyone.
 
Mark.


From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Andrew Niefer
Sent: Wednesday, November 11, 2009 3:22 PM
To: P2 developer discussions
Subject: RE: [p2-dev] Re: Error trying topartially p2.mirrorEMF 2.5.0 updatesite


I'm guessing the plugins you are looking for are in those blobs.  I don't know the details of the blobstore, but I expect it is related to the processing that is done on the .pack.gz files.
You should be able to use this as input to the repo2runnable task and get something out the other side you can compile against.

-Andrew


From: "Mark Melvin" <Mark.Melvin@xxxxxxxxxx>
To: "P2 developer discussions" <p2-dev@xxxxxxxxxxx>
Date: 11/11/2009 03:07 PM
Subject: RE: [p2-dev] Re: Error trying to partially        p2.mirrorEMF        2.5.0        updatesite
Sent by: p2-dev-bounces@xxxxxxxxxxx





Hi Andrew,
 
Thanks a lot for the additional information.  Running that command on 3.6M3 (and extending to other bundles I need) has now made my mirror operation succeed!  However, it appears to have created a wonky repository.  I am trying to mirror three features (and their dependencies, which I assume P2 figures out for me), and I get the three features plus a bunch of .blobstore directories with no plugins.  My resulting directory structure is as follows:
 
C:\TEMP\EMF-CORE-P2REPO
|   artifacts.jar
|   content.jar
|
+---.blobstore
|   +---11
|   |       209be449fdce001e164cf50f37af8519
|   |
|   +---18
|   |       d00a9d49fdce001e164cf50f37af8519
|   |
|   +---35
|   |       c0c00a4afdce001e164cf50f37af8519
|   |
|   +---8
|   |       70bfc049fdce001e164cf50f37af8519
|   |
|   \---c
|           801d204afdce001e164cf50f37af8519
|
\---features
       org.eclipse.emf.common_2.5.0.v200906151043.jar
       org.eclipse.emf.ecore_2.5.0.v200906151043.jar
       org.eclipse.xsd_2.5.0.v200906151043.jar

 
Any idea what to do next?
 
Thanks for the help!
Mark.


From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Andrew Niefer
Sent:
Wednesday, November 11, 2009 2:40 PM
To:
P2 developer discussions
Subject:
RE: [p2-dev] Re: Error trying to partially p2.mirrorEMF 2.5.0 updatesite



Forgot the link, see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=291424.

In particular, to fix this repo try

<p2.remove.iu>

  <repository location="file:/unzipped/emf-xsd-Update-2.5.0" />

  <iu id="org.eclipse.emf.ecore" artifacts="(!(format=packed))" />

</p2.remove.iu>


From: Andrew Niefer/Ottawa/IBM@IBMCA
To: P2 developer discussions <p2-dev@xxxxxxxxxxx>
Date: 11/11/2009 02:33 PM
Subject: RE: [p2-dev] Re: Error trying to partially p2.mirror EMF        2.5.0        updatesite
Sent by: p2-dev-bounces@xxxxxxxxxxx







The repo is broken because it is lying about what it contains.  The artifacts.xml/jar contains descriptors for artifacts that don't exist on disk (in the zip).  When mirroring an IU, all associated artifacts are mirrored, if one is missing that is an error.


3.6M3 contains an ant task "p2.remove.iu" which can be used to properly remove artifacts from a repository.  One option would be to unzip the repo to disk and then run this task to remove the offending descriptors.


-Andrew

From: "Mark Melvin" <Mark.Melvin@xxxxxxxxxx>
To: "P2 developer discussions" <p2-dev@xxxxxxxxxxx>, "Ed Merks" <ed.merks@xxxxxxxxx>, "Buckminster developer discussions" <buckminster-dev@xxxxxxxxxxx>
Date: 11/11/2009 12:09 PM
Subject: RE: [p2-dev] Re: Error trying to partially p2.mirror EMF 2.5.0        updatesite
Sent by: p2-dev-bounces@xxxxxxxxxxx







Thanks for the reply, Nick.  I tried to work around this by changing my
Ant task to:

 <p2.mirror verbose="true" ignoreErrors="true"
source="jar:
file:C:/Temp/emf-xsd-Update-2.5.0.zip!/">
   <repository location="
file:${final.p2.repo.dir}" compressed="true"
                name="EMF repository" />
   <iu id="org.eclipse.xsd.feature.group" />
   <iu id="org.eclipse.emf.ecore.feature.group" />
   <iu id="org.eclipse.emf.common.feature.group"/>
 </p2.mirror>

But I still get the same error:

[p2.mirror] Mirroring:
osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043 (Descriptor:
canonical: osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043)
[p2.mirror] Messages while mirroring artifact descriptors.
[p2.mirror] Artifact not found:
osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
[p2.mirror]
jar:
file:C:/Temp/emf-xsd-Update-2.5.0.zip!/plugins/org.eclipse.emf.ecore
_2.5.0.v200906151043.jar
[p2.mirror] Artifact not found:
osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.

BUILD FAILED
C:\Temp\emf_only.xml:39: Messages while mirroring artifact descriptors.
[p2.mirror] Mirroring:
osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043 (Descriptor:
packed: osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043)

I should explain what I am trying to do, I guess.  I have a plugin the
depends on the core XSD support in EMF and I just want to be able to
suck out the plugins/features I need.  My build is automated, so I was
hoping to also automate the creation of a partial EMF repository from
the large, all-in-one version, then pull down the tiny sub-repo that I
created as a dependency in my build (my build is currently set up to
consume/merge p2 repositories as binary dependencies).

I guess for now I could construct it manually with the Buckminster
Aggregator but I would really like to keep this automated so a
workaround in Ant would be the best solution for me.  Is there any way I
can simply inflate and unpack the current 'broken' repository?  I don't
mind the extra time to do this, provided I can do it simply (in Ant) and
without any other dependencies.

Thanks,
Mark.

-----Original Message-----
From: p2-dev-bounces@xxxxxxxxxxx [
mailto:p2-dev-bounces@xxxxxxxxxxx] On
Behalf Of Nick Boldt
Sent: Wednesday, November 11, 2009 11:45 AM
To: Ed Merks; P2 developer discussions; Buckminster developer
discussions
Subject: [p2-dev] Re: Error trying to partially p2.mirror EMF 2.5.0
updatesite

The issue here is that the metadata is incomplete, and p2 (p2.director,
anyway - haven't tried w/ p2.mirror) only knows how to find foo.jar as
foo.jar.pack.gz in a jar:file:/path/to/repo.zip!/. If you omit the
jar:file: prefix or !/ suffix, or point at
http://path/to/repo.zip, or
even unpack the zip as file:/path/to/repo.zip_, p2 can't find the packed
plugin jars.

(I've complained about this limitation but there's been no buy-in from
the p2 devs so far that this ought to be fixed, mostly I suspect because
there is a simple workaround and by fixing it they're encouraging
"broken" repos to be produced. Ours is "broken" because it saves disk
space and bandwidth; if we skip the packing step or include BOTH the
packed and unpacked jars in the zip, the file gets much larger.)

That said, I've been able to successfully mirror from a "broken" repo
zip like the EMF one using the Buckminster Aggregator.

See
https://bugs.eclipse.org/bugs/show_bug.cgi?id=294832 for a quick way
to get a director app, then use that to install Buckminster, and from
there be able to do selective mirroring and even recategorization or
features. There's also a Buckminster Aggregator Editor which lest you
set up what to mirror graphically. Very cool, IMHO.


http://wiki.eclipse.org/Getting_Started_With_Aggregator_(Buckminster)
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.ecl
ipse.dash.commonbuilder/org.eclipse.dash.common.releng/tools/scripts/agg
regateRepos.xml?root=Technology_Project&view=markup

Nick

Ed Merks wrote:
> Mark,
>
> I'm not sure what this means.  Maybe it's better to ask on the p2
> newsgroup or mailing list, or maybe someone else more knowledgeable
> will help.
>
>
> Mark Melvin wrote:
>> Hi,
>>
>> I am trying to partially mirror the EMF 2.5.0 P2 repository that I
>> downloaded and I am getting an error.  This could be a P2 thing, but
>> I am wondering if someone could point me in the right direction.  
>> Here is my Ant call:
>>
>>    <p2.mirror verbose="true" ignoreErrors="true">
>>      <repository location="
file:${final.p2.repo.dir}"
compressed="true"
>>                   name="EMF repository" />
>>      <source dir="${repoBaseLocation}/"
>>              includes="emf-xsd-Update-2.5*.zip"/>
>>      <iu id="org.eclipse.xsd.feature.group" />
>>      <iu id="org.eclipse.emf.ecore.feature.group" />
>>      <iu id="org.eclipse.emf.common.feature.group"/>
>>    </p2.mirror>
>>
>>
>> I get the following output:
>>
>>     [java] [p2.mirror] Problems resolving provisioning plan.
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.common.feature.group 2.5.0.v200906151043 to
>> org.eclipse.core.runtime 0.0.0.
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.xsd.feature.group 2.5.0.v200906151043 to
>> org.eclipse.core.runtime 0.0.0.
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.ecore.feature.group 2.5.0.v200906151043 to
>> org.eclipse.core.runtime 0.0.0.
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.common 2.5.0.v200906151043 to bundle
>> org.eclipse.core.runtime [3.5.0,4.0.0].
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.ecore 2.5.0.v200906151043 to bundle
>> org.eclipse.core.runtime [3.5.0,4.0.0].
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.xsd 2.5.0.v200906151043 to bundle
>> org.eclipse.core.runtime [3.5.0,4.0.0].
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.ecore.change 2.5.0.v200906151043 to bundle
>> org.eclipse.core.runtime [3.5.0,4.0.0].
>>     [java] [p2.mirror] Unable to satisfy dependency from
>> org.eclipse.emf.ecore.xmi 2.5.0.v200906151043 to bundle
>> org.eclipse.core.runtime [3.5.0,4.0.0].
>>     [java] [p2.mirror] Mirroring:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043 (Descriptor:
>> canonical: osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043)
>>     [java] [p2.mirror] Mirroring:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043 (Descriptor:
>> packed: osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043)
>>     [java] [p2.mirror] Messages while mirroring artifact descriptors.
>>     [java] [p2.mirror] Artifact not found:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
>>     [java] [p2.mirror]
>> jar:file:/c:/Temp/emf-xsd-Update-2.5.0.zip!/plugins/org.ecli
>> pse.emf.ecore_2.5.0.v200906151043.jar
>>     [java] [p2.mirror] Artifact not found:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
>>     [java]
>>     [java] BUILD FAILED
>>     [java] C:\Temp\emf_only.xml:39: Messages while mirroring artifact

>> descriptors.
>>     [java] Artifact not found:  
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.Messag es while

>> mirroring artifact descriptors.
>>     [java] Artifact not found:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
>>     [java] Artifact not found:  
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.Messag es while

>> mirroring artifact descriptors.
>>     [java] Artifact not found:  
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.Messag es while

>> mirroring artifact descriptors.
>>     [java] Artifact not found:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
>>     [java] Artifact not found:
>> osgi.bundle,org.eclipse.emf.ecore,2.5.0.v200906151043.
>>     [java]
>>     [java] Total time: 0 seconds
>>
>> Ignoring unsatisfied dependencies to org.eclipse.core.runtime, it is
>> failing to find org.eclipse.emf.ecore_2.5.0.v200906151043.jar in the
>> zip file.  I see it is there, but it is a .jar.pack.gz file.  Do I
>> need to do anything special for P2 to be able to deal with this, or
>> is there a problem with the P2 repository provided on the website?
>>
>> Any help would be appreciated.
>> Thanks,
>> Mark.

--
Nick Boldt ::
http://nick.divbyzero.com
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev