Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "P2 on felix"

(Overview of the work)
Line 6: Line 6:
 
== Overview of the work ==
 
== Overview of the work ==
 
There are mainly two parts to this work:
 
There are mainly two parts to this work:
- Cleanup p2 dependencies. Some of the p2 bundles rely on Equinox specific packages. These needs to be cleaned up. See the list of bundles below for more details
+
* Cleanup p2 dependencies. Some of the p2 bundles rely on Equinox specific packages. These needs to be cleaned up. See the list of bundles below for more details
- Teach p2 to deal with Felix. The goal of frameworkadmin is to isolate p2 from the file layouts of various frameworks (e.g. config.ini for equinox). Framework specifics are handled in a separate bundle like the frameworkadmin.equinox that knows how to deal with equinox. In order to teach p2 how to deal with Felix a frameworkadmin.felix bundle should be written.
+
* Teach p2 to deal with Felix. The goal of frameworkadmin is to isolate p2 from the file layouts of various frameworks (e.g. config.ini for equinox). Framework specifics are handled in a separate bundle like the frameworkadmin.equinox that knows how to deal with equinox. In order to teach p2 how to deal with Felix a frameworkadmin.felix bundle should be written.
  
 
== Contributing to the code ==
 
== Contributing to the code ==

Revision as of 16:13, 19 June 2011

This page describes the overall status of the work in progress toward making p2 run on Apache Felix.

Goal of the effort

Make the headless subset of p2 run on felix. At this point the effort is focused on getting everything necessary to get p2.operations up and running.

Overview of the work

There are mainly two parts to this work:

  • Cleanup p2 dependencies. Some of the p2 bundles rely on Equinox specific packages. These needs to be cleaned up. See the list of bundles below for more details
  • Teach p2 to deal with Felix. The goal of frameworkadmin is to isolate p2 from the file layouts of various frameworks (e.g. config.ini for equinox). Framework specifics are handled in a separate bundle like the frameworkadmin.equinox that knows how to deal with equinox. In order to teach p2 how to deal with Felix a frameworkadmin.felix bundle should be written.

Contributing to the code

The code necessary to contribute to this effort can be loaded by using the felix-subset.psf file provided in p2.releng project.


Status of the bundles

org.eclipse.equinox.frameworkadmin

  • Status: compile errors
  • Work to be done: Make the dependency on pluginconversion optional and ensure that at runtime the code is not loaded. The compile errors are fine since at build time the environment provides the necessary packages.

frameworkadmin.equinox

  • Status: expected compile errors - unclear if this bundle is required
  • Work to be done: Make sure that at runtime the bundle will not touch all the packages that are declared as being optional.

artifact.repository

  • Status: compile errors because the SignatureVerifier facility requires org.eclipse.osgi.signedcontent from equinox.
  • Work to be done: three possibilities - The choice here will depend if signature verification is desired in a Felix environment.
    • Make the dependency on the signature verifier optional
    • Split the verifier code into a new bundle (would be odd since it is
    • See if the signedcontent package from equinox can be separated in its own bundle.


p2.core

  • Status: ok

p2.director

  • Status: ok

p2.engine

  • Status: compile errors because of the CheckTrust phase that validates certificates
  • Work to be done: two possibilities:
    • Make the dependency on the signature verifier optional and make sure that even when the CheckTrust phase is invoked nothing
    • See if the signedcontent package from equinox can be separated in its own bundle.

p2.garbagecollector

  • Status: ok

p2.jarprocessor

  • Status: expected errors. The errors are caused by the reference to the org.eclipse.ant.core extension point used to contribute ant tasks.

p2.metadata

  • Status: ok

p2.metadata.repository

  • Status: expected errors. The errors are caused by the reference to the org.eclipse.ant.core extension point used to contribute ant tasks.

p2.operations

  • Status: ok

p2.ql

  • Status: ok

p2.repository

  • Status: ok

p2.touchpoint.eclipse

  • Status: expected compile errors. The bundle has optional dependencies on the publisher.

p2.touchpoint.native

  • Status: ok

p2.transport.ecf

  • Status: ok

equinox.simpleconfiguator

  • Status: expected compile errors because the bundle register console commands and depends on the resolver API that are both equinox specific.

equinox.simpleconfigurator.manipulator

  • Status: ok

ECF

  • Status: unknown
  • Work to be done: verify that the subset of ECF we are interested works on felix. A cursory looks at the manifest seems to indicate that it is possible.

Sat4j

  • Status: ok

Back to the top