Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

why is my eclipse RCP product locked and can't be updated?

I am building an Eclipse RCP-based product, and I am running into an issue where when I try to use the built-in p2 UI to install updates to the product, I get an error message in the dialog that "Insufficient access privileges to apply this update."

I have debugged into Eclipse and found that the 'root cause' is that there is a p2 .profile file that has xml that includes this snippet:

<iuProperties id='com.datical.db.ui.product' version='1.33.0.201412032223'>
  <properties size='4'>
    <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='STRICT'/>
    <property name='org.eclipse.equinox.p2.type.root' value='true'/>
    <property name='org.eclipse.equinox.p2.type.lock' value='3'/>
    <property name='org.eclipse.equinox.p2.base' value='true'/>
  </properties>
</iuProperties>

The relevant line is the one that says <property name='org.eclipse.equinox.p2.type.lock' value='3'/>

I'm not sure what I am doing wrong - I think I must have something awry in my product definition or my feature definition or in my install process that is causing this line to be there.

When I step through the Eclipse code (our target environment is 3.7/Indigo) I see that the profile is being written inside org.eclipse.equinox.internal.p2.engine:SurrogateProfileHandler:addSharedProfileBaseIUs (which is private static.) That is called from SurrogateProfileHandler:createProfile

The product's p2 repository is being built using the tycho plugins, version 0.15.

like image 561
SteveDonie Avatar asked Nov 09 '22 22:11

SteveDonie


1 Answers

We finally discovered another piece of information that may be relevant. We were using a custom OSGI directory name. When we removed that, everything started working as expected.

like image 145
SteveDonie Avatar answered Jan 04 '23 01:01

SteveDonie