Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 408213

Summary: EPP picked up wrong version of Platform M7 bundles
Product: [Technology] EPP Reporter: Martin Oberhuber <mober.at+eclipse>
Component: PackagerAssignee: Project Inbox <epp.packager-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P2 CC: david_williams, igor, irbull, mknauer, thomas
Version: 2.0.0   
Target Milestone: 2.0.0 RC1   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 403589, 407134    
Bug Blocks: 408944    

Description Martin Oberhuber CLA 2013-05-16 04:40:15 EDT
+++ This bug was initially created as a clone of Bug #403589 +++

Build ID: 20130509-1108_eclipse-classic-kepler-M7-win32.win32.x86.zip

Doing a binary compare of the eclipse classic M7 package (mentioned above) against the eclipse-SDK-4.3M7-win32.zip , I noticed that binary contents of all the bundles is different.

I've looked into org.eclipse.compare_3.5.400.v20130423-1526.jar and noticed the following diff:

epp-classic-kepler-M7/compare/META-INF/MANIFEST.MF:

Eclipse-SourceReferences: scm:git:git://git.eclipse.org/gitroot/platfo
 rm/eclipse.platform.team.git;path="bundles/org.eclipse.compare";tag="
 I20130424-0830";commitId=2d3e21f97bf11d1bb5abb7fc1a426d2f2b377a54

platform-SDK-kepler-M7/compare/META-INF/MANIFEST.MF:

Eclipse-SourceReferences: scm:git:git://git.eclipse.org/gitroot/platfo
 rm/eclipse.platform.team.git;path="bundles/org.eclipse.compare";tag="
 I20130501-0616";commitId=688c909262be4125519f167e1ce5b5d99ddca0f2

As a result of this diff, the signing info is also different between epp and platform SDK. As you see, the "tag" and "commitId" of the epp-classic package is too old, compared to the respective bundle in platform-SDK. I've had a look at the git repo and noticed that the old tag had been valid a couple days before the final kepler M7 build of the Platform:

https://git.eclipse.org/c/platform/eclipse.platform.team.git/log/

I'm not quite sure who's fault this is:

- Apparently there are bundles out there in the wild, which have the same 
  ID, Version and Qualifier but different contents. That seems like something
  the Platform team should not allow, and might point to a problem in the 
  Platform team's releng infrastructure (Comparator in particular).

- Apparently when the EPP project produces the package, it pulled content from
  an old p2 repository that has contents which does not match the Platform
  team's M7 delivery. This might point to a problem in the EPP definition of
  the repositories, OR in the Platform team providing too much or
  nodeterministic contents in its repoistory.

- Finally it might also be a problem in Equinox/p2 being nondeterministic when
  multiple solutions to a provisioning exist (see also 
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=408208 ).

I've filed the bug against EPP initially because I think that even with non-perfect Platform deliveries or p2 procedures, the EPP project should be able to name exactly the same build input for a milestone that the Platform also used, and thus produce exactly identical builds.
Comment 1 Martin Oberhuber CLA 2013-05-16 04:41:55 EDT
Marking P2 / critical / target RC1 since we don't have much time left getting this right for Kepler. 

I don't know exactly where the EPP build pulls its contents from, so I'm kindly asking Markus to have a look.
Comment 2 David Williams CLA 2013-05-16 09:16:01 EDT
I think this is a dup of bug 407134 ... and suspect EPP did get the "correct" versions from repo. The ones in our project archives just happened to be "incorrect". :)
Comment 3 Martin Oberhuber CLA 2013-05-24 05:39:18 EDT
Marking this particular issue as RESOLVED with RC1 since I cannot observe the problem with different MANIFEST.MF contents any more.

Unfortunately I still see binary diffs, but apparently different ones. So as a follow-up work on the "binary diff" saga, I've filed 
   https://bugs.eclipse.org/bugs/show_bug.cgi?id=408944
to investigate.

Feel free to "duplicate" the issue with bug 407134 if you think that's appropriate.