[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Problems downgrading a bundle using SynchronizeOperation

I have still got problems when trying to perform a downgrade to a lower version.

When looking in the profile store (\p2\org.eclipse.equinox.p2.engine\profileRegistry\DefaultProfile.profile\) at the profile created in the "downgrade" from 1.0.0.RC2 -> 1.0.0.RC1, it looks ok:

    <unit id='test.app' version='1.0.0.RC1'>...</unit>
    <unit id='test.app.feature.feature.group' version='1.0.0.RC1' singleton='false'>...</unit>
    <unit id='test.app.product' version='1.0.0.RC1'>...</unit>

However, still test.app_1.0.0.RC2 is the one being ACTIVE in the osgi console:

osgi> ss test.app
Framework is launched.
id      State       Bundle
67      ACTIVE      test.app_1.0.0.RC2
69      INSTALLED   test.app_1.0.0.RC1

How can test.app_1.0.0.RC2 be ACTIVE when the profile contains test.app_1.0.0.RC1?

Any help is much appreciated


2012/2/7 Marcus Wallin <wallmarc@xxxxxxxxx>
I still have the problems described below.

What I want to achieve is upgrading/downgrading a product (with one feature and one bundle) interchangeably.

Assuming that the following product versions are available in different P2-repos:

product v1.0.0_RC1
 -> feature v1.0.0_RC1
  -> bundle v1.0.0_RC1

product v1.0.0_RC2
 -> feature v1.0.0_RC2
  -> bundle v1.0.0_RC2

I want to be able to upgrade the product from v1.0.0_RC1 to v1.0.0_RC2 and then back to v1.0.0_RC1 again using SynchronizeOperation and two different P2-repos.
The feature seems to be correct in the end, but the ACTIVE bundle is still v1.0.0_RC2 and not v1.0.0_RC1.

I have forked https://github.com/pieceoftheloaf/SynchronizeOperation and created a test case which I believe shows this problem. This is available at https://github.com/wallmarc/SynchronizeOperation.

Is there a problem in my testcase or is it a known behavior of P2 to not be able to downgrade a bundle?

Thank you for any help!