|[p2] config.ini after install in repackaged Mac OS X application issues [message #603265]
||Fri, 13 November 2009 14:25
| Markus Franz
Registered: July 2009
i fear this is going to be a rather lengthy question, so please bear
with me. I recently started to "p2-ize" our RCP application according to
the famous update from the cloud example at
which seems to work (apart from some different issues which i will
resolve on my own i think) on windows and the "standard-mac-os-x"
product export. However, as Mac users will know, the "standard-mac-os-x"
product export is not exactly the typical Mac-experience end users are
accustomed to, i.e. a single MyApp.app "application" (which really is a
folder) but instead several folders (features, plugins, p2, ...) and
files in addition to the MyApp.app. Fortunately enough, there exists a
nice little tool/script (Eclipse OS X Repackager available from
http://www.yoursway.com/free/) which solves this usability "issue" by
neatly packaging all additionals into
"MyApp.app/Contents/Resources/Java/". Before p2 this was working with
the old update manager without any problems, with p2, when installing a
new feature from the cloud via the install wizard, the install seems to
work, i am prompted to restart and then the application won't come up
again. Investigating the problem i made some progress but now am in need
of help. I will try to give as much information as possible. Whenn
talking about the "SV" this is the "standard version" app as it comes
out of eclipse's "product export wizard". In contrast, "RV" is the
"repackaged version" is the app after running the "standard version"
through the repackager. "+A" indicates that Feature "A" has been
installed in the version.
1. SV+A works as expected, while RV+A won't even run.
2. RV+A contains a superfluous .app inside the "real" app as:
" pathTo/ExportTests/test/MyApp.app/Contents/Resources/Java/My App.app "
which neither RV nor SV or SV+A contain.
3. The simpleconfigurator's bundle.info of SV+A vs. SV now contains the
bundles of A, while RV+A has the same as RV.
4. I did not find any differences between the config.ini in SV vs. SV+A
vs. RV, but in RV+A it is wuite a different thing (and the main issue):
4.1 (RV, SV, SV+A):
osgi.framework=file\:/pathTo/ExportTests/test/MyApp.app/Cont ents/Resources/Java/MyApp.app/Contents/MacOS/plugins/org.ecl ipse.osgi_3.5.1.R35x_v20090827.jar
When fixing this by setting the "old" value, the app will start, however
neither the feature A nor the p2 functionality is present.
4.2 (RV, SV, SV+A):
osgi.bundles=reference\:file\:org.eclipse.equinox.ds_1.1.1.R35x_v20090806.jar@1\:start,reference\:file\: org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v2009080 7-1100.jar @1\:start
osgi.bundles=reference\:file\:/pathTo/ExportTests/test/MyApp .app/Contents/Resources/Java/plugins/A_plugin1_22.214.171.124911111503.jar@4 ,reference\:file\:/pathTo/ExportTests/test/MyApp.app/Content s/Resources/Java/plugins/A_plugin2_1.0.0.jar@4
When fixing this by adding the bundle references from (RV, SV, SV+A) to
this in addition to fix for 4.1, everything works (A and p2 are working,
at least until one installs B...).
4.3 some minor config.ini issues (such as lost osgi.framework.extensions
entries for language packs and absoulte path in
org.eclipse.equinox.simpleconfigurator.configUrl instead of relative as
So far my insights. I hope someone might help me to either find a way to
tell p2 about the repackaged directory structure (preferred) so that
RV+A will behave like SV+A (info in bundles.info instead of config.ini)
or alternatively gain acess to the process where the new config.ini is
created and fix the issues myself everytime an update/install happens.
Thanks for reading this monster,
Powered by FUDForum
. Page generated in 0.01420 seconds