[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Cannot update my product after migrating to Eclipse 3.5/p2/Buckminster build

Thanks Andrew! Added a .qualifier to the product version, and product updates are working on Linux.

On Windows the product update is failing (error log below). This is with a fresh application build & fresh workspace.ÂIf I'm reading the IU correctly, it looks like its on the RCP product executable.Â

My startup & launcher in the ini file are:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

Tried using absolute paths for those (similar update errors seem to recommend this as a workaround) with no effect.

How can I get past this one? So close... :)

-Casey

!ENTRY org.eclipse.equinox.p2.engine 4 4 2010-06-28 16:34:41.744
!MESSAGE An error occurred while unconfiguring the items to uninstall
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-06-28 16:34:41.744
!MESSAGE session context was:(profile="" phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Unconfigure, operand=[R]com.phurnace.deliver.ui.product.executable.win32.win32.x86.deliver 3.7.1.15000_201006282129 --> null, action="">
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-06-28 16:34:41.744
!MESSAGE Error while loading manipulator.
!STACK 0
java.lang.IllegalStateException: Error while loading manipulator.
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:54)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getLauncherData(LazyManipulator.java:118)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetLauncherNameAction.setLauncher(SetLauncherNameAction.java:43)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetLauncherNameAction.execute(SetLauncherNameAction.java:29)
at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:35)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.mainPerform(Phase.java:129)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.perform(Phase.java:72)
at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet.perform(PhaseSet.java:44)
at org.eclipse.equinox.internal.provisional.p2.engine.Engine.perform(Engine.java:54)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.performProvisioningPlan(ProvisioningUtil.java:389)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProfileModificationOperation.doExecute(ProfileModificationOperation.java:61)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation.execute(ProvisioningOperation.java:37)
at org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner$1.run(ProvisioningOperationRunner.java:94)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


On Mon, Jun 28, 2010 at 3:11 PM, Andrew Niefer <aniefer@xxxxxxxxxx> wrote:

You need to increment the version of your product. The "Check for Updates" is looking for new versions of the product, not for new features that are included in the product.

When you try "install new software" you end up with a conflict because you still have the original version of the product which has requirements on the original features.

This blog post tries to explain this situation, it also links to a few forum questions about the same thing:
http://aniefer.blogspot.com/2009/07/composing-and-updating-custom-eclipse.html
http://www.eclipse.org/forums/index.php?t=msg&th=41383&start=0&S=5763840b219361fc591b43e71884b82b
http://www.eclipse.org/forums/index.php?t=tree&th=41087&start=0&S=47c495d41f26650fc5964f406daf6b70


Inactive hide details for Casey Marshall ---06/28/2010 03:43:21 PM---Hi, I recently migrated my RCP application from a 3.4.2 toCasey Marshall ---06/28/2010 03:43:21 PM---Hi, I recently migrated my RCP application from a 3.4.2 to 3.5.2 target. Product


From:

Casey Marshall <casey.marshall@xxxxxxxxx>

To:

p2-dev@xxxxxxxxxxx

Date:

06/28/2010 03:43 PM

Subject:

[p2-dev] Cannot update my product after migrating to Eclipse 3.5/p2/Buckminster build

Sent by:

p2-dev-bounces@xxxxxxxxxxx




Hi,
I recently migrated my RCP application from a 3.4.2 to 3.5.2 target. Product building happily on multiple platforms with Buckminster and p2 director. There was some learning curve involved with that, but overall I am very happy with the improvements to our build process and configuration.

However, I am close to releasing my product and now having a serious blocker with getting my product to update. When I create an update site, I am unable to update the product itself through the update site. This was possible with our earlier (pre-p2) update mechanism.

Our product consists of a single top-level feature (includes sub-features and required plugins that comprise the core application). The update site is a separate feature that includes the product feature and some additional optional ones. The optional features install no problem, but when I try to update the main product feature through the UI with "Check for Updates", no updates are found. When I try "Install New Software", the feature seems to recognize an update should be performed but configuration fails fails with:

Your original request has been modified.
ÂÂ"BladeLogic Application Release Automation Feature" is already installed, so an update will be performed instead.
ÂÂ"BIRT Runtime for BladeLogic Applications" is already installed, so an update will be performed instead.
ÂÂ"BladeLogic Application Release Automation Team Feature" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
ÂÂSoftware being installed: BladeLogic Application Release Automation Feature 3.7.1.16000_201006281830 (com.phurnace.deliver.feature.feature.group 3.7.1.16000_201006281830)
ÂÂSoftware currently installed: Deliver 3.7.1 (com.phurnace.deliver.ui.product 3.7.1)
ÂÂOnly one of the following can be installed at once:Â
ÂÂ ÂBladeLogic Application Release Automation Feature 3.7.1.15000_201006281812 (com.phurnace.deliver.feature.feature.jar 3.7.1.15000_201006281812)
ÂÂ ÂBladeLogic Application Release Automation Feature 3.7.1.16000_201006281830 (com.phurnace.deliver.feature.feature.jar 3.7.1.16000_201006281830)
ÂÂCannot satisfy dependency:
ÂÂ ÂFrom: BladeLogic Application Release Automation Feature 3.7.1.15000_201006281812 (com.phurnace.deliver.feature.feature.group 3.7.1.15000_201006281812)
ÂÂ ÂTo: com.phurnace.deliver.feature.feature.jar [3.7.1.15000_201006281812]
ÂÂCannot satisfy dependency:
ÂÂ ÂFrom: BladeLogic Application Release Automation Feature 3.7.1.16000_201006281830 (com.phurnace.deliver.feature.feature.group 3.7.1.16000_201006281830)
ÂÂ ÂTo: com.phurnace.deliver.feature.feature.jar [3.7.1.16000_201006281830]
ÂÂCannot satisfy dependency:
ÂÂ ÂFrom: Deliver 3.7.1 (com.phurnace.deliver.ui.product 3.7.1)
ÂÂ ÂTo: com.phurnace.deliver.feature.feature.group [3.7.1.15000_201006281812]

I have tried incrementing the micro revision as well, same result.ÂIt seems from researching this issue, p2 does not handle updating the product platform in the same way that it does updating an optional feature. However, this is exactly what I need -- I want the user to be able to update the product in the same manner.

Pre-p2, the update mechanism would simply copy the new plugins and features side-by-side with the old ones into the product installation, and Equinox would load the latest version on next startup. How do I (can I?) get p2 to do this, or something equivalent? How do I configure my update site for product updates?

I've tried playing with p2.inf settings, director options, but I'm flying blind here.

Please advise,
Casey_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx


_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev