Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] p2 provisioning from DMG / changed file structure

Hey Justin,

I am glad to hear that I am not the only person trying to use this workflow:
- creating and signing a DMG file as final step of an
- rcp product build
- using tycho
- updating the product using p2...

What do you mean by "updates will work with p2/configuration in the app itself" ? Usually, the p2 update process is storing the newly installed/updated features, plugins, p2 and configuration folders in another directory which we have specified in our config.ini file:
osgi.configuration.area=@user.home/.ourproduct/configuration
eclipse.p2.data.area=@config.dir/../p2

If the p2 update worked as before changing the file structure I would expect that not the DMG file itself, but only the folders in the external directory would have to be changed. Then the signing of the DMG file would, hopefully, not be a problem. As I am only a p2 beginner, please tell me if I don't see the obvious. Will the files inside the dmg folder always be touched during the p2 provisioning process?

I am starting to think about using a pkg file instead of the dmg as well, but, knowing about the disadvantages (our customers are used to the dmg file), it would be kind of a last resort for us.

Kind regards,
Sonja

Am 23.01.14 17:24, schrieb Justin Dolezy:
Hi Sonja,

I'm also interested in this at the moment as wanting to do the same.

Updates will work with p2/configuration in the .app itself however the .app shouldn't change as when signing to keep Gatekeeper happy you then get the annoying "do you want to allow YourApp to accept incoming connections" from the firewall if the .app is changed,  I believe.

Doesn't having the p2/configuration folders outside the .app also mean a .pkg package installer is required instead of simple .dmg distribution?

Hmm and the .app is going to change on update when features/plugins are downloaded..! So a new signed .app is needed no?

Apologies for thinking out aloud :)
Hopefully someone out there is already doing p2 updates on a signed DMG and can share some knowledge?!

Regards,
Justin

On 23 Jan 2014, at 09:33, "Sonja Subicin" <Sonja-Subicin@xxxxxx> wrote:

Hey there,
we are discovering an issue enabling the p2 provisioning for the DMG file we have created. We have the following setup:
We have configured a multi-platform tycho build. The provisioning of the exported product works fine for all platforms - BUT

THEN, we are using a shell script to create the dmg file.

This script is using a template.dmg file. I have to add, and this is the important part, that we are changing the file structure when running the shell script.

The dmg template contains the following file structure
application.app
---Contents
------Info.plist
------MacOS
---------application.app
---------application.ini
------Resources
---------Java
------------configuration
------------features
------------p2
------------plugins
------launcher.icns


whereas the exported product has the following, flat file structure:
-application
-application.app
-artifacts.xml
-configuration
-features
-p2
-plugins

Using the shell script, we are replacing the folders configuration, features, p2, plugins with the folders from our tycho-built product.
The info.plist File etc. are staying unchanged.

I believe the changes of the folder structure to be the problem, but I have no idea, how to fix this.
In our config.ini, we have the following parameters set:

org.eclipse.update.reconcile=false
eclipse.p2.profile=DefaultProfile
osgi.framework=file\:plugins/org.eclipse.osgi_3.8.2.v20130124-134944.jar
osgi.classloader.type=parallel
equinox.use.ds=true
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.301.v20120914-163612.jar@1\:start
osgi.configuration.area=@user.home/.ourproduct/configuration
p2.gathering=true
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.product=com.ourproduct.client.app.product
osgi.splashPath=platform\:/base/plugins/com.ourproduct.client.app
osgi.framework.extensions=
osgi.bundles.defaultStartLevel=4
eclipse.application=com.ourproduct.client.app.application
eclipse.p2.data.area=@config.dir/../p2

The features we want to update are not being downloaded to the defined folder @user.home/.ourproduct/
We are getting provisioning error code 10001.

Any idea would be appreciated!

Greetings from Cologne,
Sonja
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user




Back to the top