Our current packaging results in BC jars being packaged twice:
- in lib/{boot,ext}, where they are available to karaf bootstrap, which uses them to add the crypto provider
- in system/, where they are referenced via startup.properties, which populates their contents to the OSGi world
This is less than optimal, as the classes end up being loaded twice, where we really should be exposing BC packages from lib/boot through system.bundle's exports.
That way we have exactly one copy, that in the boot class loader, and have its packages re-exported to the OSGi world.