# Buckminster 3.6: Signierung von Babel-Packs



## thomet (25. Aug 2010)

Hallo,

ich baue meine RCP Anwendung mit Hilfe von Buckminster (3.6) und eine vordefinierten TargetPlatoform (dabei lasse ich alle Plugins mit meinem Zertifikat signieren). Sie basiert auf dem neusten Eclipse Helios und nutzt auf die Babel-Packs von Helios (0.8.0). Bevor ich die Babelpacks zu meinem Build/TP hinzugefügt habe, lief mein Build ohne Probleme durch.

Jetzt habe ich alle benötigten Babel-Packs hinzugefügt (in die TP und mein Feature) und bekomme die Meldung, beim Installieren der RCP-Anwendung, dass er die Babel-Plugins nicht finden kann. Ich habe in der erstellten p2.site nachgeschaut und alle Plugins und Babel-Plugins gefunden. Was mit jedoch aufgefallen ist, dass er aus den Babel-Plugins in den Manifest.MF Datein sämtliche Inhalte gelöscht hat und nur noch Checksummen von dem Signieren enthalten sind. Dies erklärt natürlich, warum er die Plugins nicht finden kann, jedoch verstehe ich nicht wie es Passieren kann, dass die manifest-Einträge fehlen. Bei meinen selbst erstellten Fragmenten sind jedoch alle Manifest-Einträge enthalten.

Ich bitte um eure Hilfe. Ich vermute einen Bug in Buckminster 3.6. Als meine RCP-Anwendung noch auf Gallileo + Babelpacks lief, konnte ich mit Buckminster 3.5 ohne Probleme alles builden, signieren und installieren. Durch gewisse Funktionen in Helios auf die ich angewiesen bin, habe ich alles auf Helios umgestellt und nun diesen doofen Fehler kurz vor ende entdeckt.


----------



## Wildcard (25. Aug 2010)

Kann ich dir Ad-Hoc nicht viel zu sagen, aber wenn es wirklich ein Bug in Buckminster 3.6 ist:
Buckminster ist nur das Build Tool. Du kannst mit Buckminster 3.5 Java Projekte, C Projekte, Maven Projekte, OSGi Bundles, was auch immer bauen. Ebenso kannst du natürlich mit Buckminster 3.5 für Eclipse 3.6, 3.5, 3.4,... bauen. Nur weil das Tool über den Eclipse Release Train ausgeliefert wird, heißt nicht das du an eine bestimmte Eclipse Version gebunden bist. Du brauchst ja auch kein Ant 1.4 um Anwendungen für Java 1.4 zu bauen


----------



## thomet (31. Aug 2010)

Jo ok, da hast recht. Da hatte ich ein kleinen Denkfehler .

Leider löste Buckminster 3.5 das Problem auch nicht. Ich bin jetzt sehr verwundert. Denn ich kann mir nicht erklären, warum auf einmal so eine komische Sache passiert. Aus irgendeinen Grund, werden in den Manifest.MF Dateien bei den Eclipse Babel-Packs falsche bzw. gar keine Einträge übernommen/gemacht.

Beispiel org.eclipse.equinox.p2.garbagecollector.nl_de_3.6.0.v20100814043401.jar
Manifest.MF vorher:

```
Manifest-Version: 1.0
Bundle-Name: org.eclipse.equinox.p2.garbagecollector German NLS Support
Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector.nl_de ;singleton=true
Bundle-Version: 3.6.0.v20100814043401
Bundle-Vendor: Eclipse.org
Fragment-Host: org.eclipse.equinox.p2.garbagecollector
```

Manifest.MF nach dem Signieren:

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

Name: plugin_de.properties
SHA1-Digest: eCL4OzeOesZgT1yffVvrDS4kd2A=
```

Was dort fehlt ist ja eindeutig zu sehen. Ich verstehe nicht was ich falsch gemacht haben kann, bzw. was an den Babel-Packs anders ist als z.B. an meinen eigenen. Bei meine eigenen funktioniert alles wunderbar:

Beispiel eigenes Fragment:
Manifest.MF vorher:

```
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.0-b17 (Sun Microsystems Inc.)
Bundle-Vendor: THOMET
Fragment-Host: com.beispiel.core.diagram;bundle-version="[1.0.0,2.0.0)"
Bundle-Version: 1.0.100.r17228
Bundle-Name: com.beispiel.core.diagram.nl1.de Fragment
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.beispiel.core.diagram.nl1.de;singleton:=true
```

Manifest.MF nach dem Signieren:

```
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.0-b17 (Sun Microsystems Inc.)
Bundle-Vendor: THOMET
Fragment-Host: com.beispiel.core.diagram;bundle-version="[1.0.0,2.0.0)"
Bundle-Version: 1.0.100.r17228
Bundle-Name: com.beispiel.core.diagram.nl1.de Fragment
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.beispiel.core.diagram.nl1.de;singleton:=true

Name: fragment.xml
SHA1-Digest: Vyh7uTDjrXRJDWNFuTo3L0pcgUs=

Name: plugin_de.properties
SHA1-Digest: W3Dd9J0BbmAJCwaGS0uyUhpmMlw=
```

Auch das eintragen von "Bundle-ManifestVersion: 2" in die Eclipse Babel-Packs bringt kein erfolg.


----------

