Features/OSGiAutoDeps

= Enable Open Services Gateway Initiative (OSGi) RPM automatic dependencies =

Summary
Ensure OSGi bundle dependency information is mirrored in the RPMs containing the bundles. This will allow for dependency enforcement and will avoid run-time bundle resolution problems.

Owner

 * Name: AlphonseVanAssche 

Current status

 * Targeted release:  Fedora 12
 * Last updated: (May 10 2009)
 * Percentage of completion: 0%

Detailed Description
Automatically resolve OSGi dependencies using the osgideps.pl script which is present in the current RPM tree. The script uses OSGi MANIFEST.MF files to generate virtual RPM Provides and Requires for use by OSGi-aware RPM packages.

Benefit to Fedora
Easier packaging of OSGi bundles:
 * It's sometimes difficult to know in which sub-package a given file needs to reside.
 * Each Eclipse package would pull-in all needed packages without the need of strict requires.
 * Packagers don't need to know which package is need at run time.

Scope
Enable automatic RPM dependencies on all our OSGi aware packages.

Test Plan

 * Ensure the latest osgideps.pl script in RPM rawhide package is updated
 * Test it on our whole Eclipse packages using http://rpm.org/attachment/ticket/39/rpm-osgideps-check
 * Enable auto deps in Eclipse packages and comment out Provides and Requires tags.
 * Ask Eclipse plugin packagers to enable osgideps.pl script and comment out Provides and Requires tags.
 * Remove commented-out Provides and Requires tags of our specfiles.

User Experience
Never have a half-working IDE due to packaging bugs.

Blocker Bugs

 * http://rpm.org/ticket/39

Contingency Plan
Come back to the current way of resolving dependencies (plain Requires and Provides tags)

Documentation

 * RPM Automatic Dependencies: http://rpm.org/max-rpm/s1-rpm-depend-auto-depend.html
 * OSGi Bundle Manifest Headers: http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/bundle_manifest.html

Release Notes
Nothing will be visible to end-users. We will update the Eclipse Plugin packaging guidelines once we are confident that the automatic dependency script works as expected.

Comments and Discussion

 * See Talk:Features/OSGIAutoDeps