| Summary: | Difference found for packed: osgi.bundle,org.eclipse.sdk.examples,3.1.300.v20100527 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | David Williams <david_williams> | ||||||
| Component: | Releng | Assignee: | Kim Moir <kim.moir> | ||||||
| Status: | RESOLVED INVALID | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | kim.moir | ||||||
| Version: | 3.6.1 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 7 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
David Williams
Created attachment 178713 [details]
ant script used to run compariator against release and rc3 maintenance
Created attachment 178714 [details]
console log during ant run resulting in exception due to "difference found"
Found a similar error when doing a similar test directly on webtools repos ... Caused by: /opt/public/webtools/apps/antrunner/helios-composite-test.xml:9: Difference found for packed: osgi.bundle,org.eclipse.jst.jee.web.source,1.0.301.v201007070907 between file:/home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.2.1/R-3.2.1-20100730021206/repository/ and file:/home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.2.2/M-3.2.2-20100910064233/repository/ In about.mappings, the property "0" has different values: "<missing argument>" and "<missing argument>". ... seems spurious ... too bad ... cool function which I just happened to notice this evening. maybe related to bug 274739? Maybe there is an error, and just a bad message? In thinking about this, part of the problem is just a bad message ... I see similar when using comparitor in a mirror task. It's trying to tell us the bundles have same id, but in about.mappings, one is identified being built on one date, and the other built on a different date. Natural enough. But ... seems to me this would argue for removing all the about.mappings and get rid of changing that file just for the build date ... since, after all, the version hasn't changed, bytes should be exactly the same. What do you think? How has the Platform team handled this? Is there a recommended practice? The about.mappings in some of the bundles are updated with the build id every build. Thus we ignore changes in these bundles when running the comparator.
You can see this in our call to the comparator
<p2.mirror source="file:${reposource}" log="${buildlogs}/mirrorlog.txt" ignoreErrors="true">
<destination compressed="true" name="${p2.repo.name}" location="file:${buildRepo}" append="true" format="file:${reposource}" />
<comparator comparator="org.eclipse.equinox.p2.repository.tools.jar.comparator" comparatorLog="${buildlogs}/comparatorlog.txt">
<repository location="${repoBaseline}" />
<exclude>
<artifact id="org.eclipse.jdt.doc.isv" />
<artifact id="org.eclipse.jdt.doc.user" />
<artifact id="org.eclipse.pde.doc.user" />
<artifact id="org.eclipse.platform.doc.isv" />
<artifact id="org.eclipse.platform.doc.user" />
<artifact id="org.eclipse.equinox.executable" />
<artifact id="org.eclipse.sdk.examples" />
<artifact id="org.eclipse.sdk.examples.source" />
<artifact id="master-equinox" />
</exclude>
</comparator>
Can you remind me please what the about.mappings are used for? Is there a general/generic purpose? used or required by IDE anywhere? Such as about box? Yes, they are used in the about box. Oh, and one more "user question", if you don't mind ... I guess I can also just check empirically ... but, what's the intent ... Does the "exclude" element simply cause no error/warning message to be printed in log, or does it also mean the most recent one is mirrored, even if exact bundle version already exists, and only differs in about.mappings (so you would end up with same versions, teeny-tiny difference in bundles). The exclude just refers to the comparator. Since the mirror task is run with ignoreErrors=true, the mirroring doesn't fail if there is an error, it just continues. In every case, if the bundle has the same id and version, the new bundle will be discarded and we will use the old bundle in the new child repo. We have a releng test that parses the comparator log for errors to alert us to any problems. Greatest thanks for all your help Kim. If/when we ever do this test for the helios repo (on a regular basis) we'll just work with each team to get proper "exclude" items. (It does sound like, though, in this case, your "examples" bundle slipped through so the ones in SR0 and SR1 have same id but this different about.mapping ... but, I'm not worried :) Again, GREATEST THANKS! very helpful. To cross reference, I opened bug 325134 for the incorrect error message. No problem, David. I'm always happy to talk about repo tooling, one of my favourite things about p2 :-) |