[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-update-dev] Question about update on multi-user systems
|
There is a pattern of using Eclipse
that works on Windows, and I don't know why it won't work on Linux.
You can get a master configuration and
then private configurations based on the master.
Master is r/o and private configs are
r/w, but changes to the master control the private for those things kept
in the master.
It is a brute force approach that depends
on order of invocation 1st time around.
>If you start with an empty eclipse
and start it the config is local and r/w.
>If you make an empty eclipse r/o,
or just use the -configuration parm to direct the config to a private location
and the eclipse instance has never
been started to create a config in the default location, you have
a full r/w config.
>If you start the base eclipse once
and let the config be stored in the default location, then make it r/o
or use -configuration to force the
use of a new configuration, the
first configuration is the master and the second can only add new
content and manage that content; the rest is
controlled by the first configuration
in the default location.
You can tell when you are using a config
based on the master when the platform.xml contains this content:
<config
date="1143778421878" shared_ur="file:configuration/org.eclipse.update/platform.xml"
transient="false" version="3.0" />
Its been this way since at least 3.0.
I've tested all the above again with 3.2M5a and things are pretty much
the same.
My testing environment was setup by
having a fresh eclipse instance with a local JRE (S:\ManagedIDE\eclipse).
I then shared the S:\ManagedIDE dir
read only and mounted it as a new drive. That is where I'd launch
my private configs (M:\eclipse).
Testing cycle using that environment:
- run a private config without
a master config -full control in private config; delete config/workspace
when done - they were in these locations by default:
C:\Documents and
Settings\Administrator\workspace
C:\Documents and
Settings\Administrator\.eclipse\org.eclipse.platform_3.1.0\configuration
- run a master/default config
-full control in master config; default locations:
C:\Documents and Settings\Administrator\workspace
S:\ManagedIDE\eclipse\configuration
- run a private config; now with the
master in place. Still using these by default:
C:\Documents and Settings\Administrator\workspace
S:\ManagedIDE\eclipse\configuration
but the private config references
the master : shared_ur="file:configuration/org.eclipse.update/platform.xml"
Added EMF using to the master config
- shows in private runtime but it can't be disabled.
Added GEF using to the master config
- shows in private runtime but it can't be disabled.
Added VE to the private config - works
fine.
Disabled GEF in the master config.
Started with private config - VE is
disabled; GEF pre-req not available.
Additional details in here:
I think you can use a config.ini in
your private configuration target location to create a custom environment.
I also think you can use a setting to make the private config ignore the
master (otherwise it will always use it). This setting in the config.ini
would look like:
#Prevents eclipse from using the parent
configuration
osgi.configuration.cascaded=false
You might be able to fashion a centrally
managed environment with freedom to the users in their private configs
with this strategy.
Changes to the master are pushed to
the private config, but they must restart first of course.
Good luck.
Pat McCarthy Read-write - no extras - 1st start
S:\ManagedIDE\eclipse - rw instance
C:\Documents and Settings\Administrator\workspace
S:\ManagedIDE\eclipse\configuration
<config date="1143778276429" transient="false" version="3.0">
<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="platform:/base/">
<feature id="org.eclipse.platform" url="features/org.eclipse.platform_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.rcp" url="features/org.eclipse.rcp_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
<feature id="org.eclipse.platform.source" url="features/org.eclipse.platform.source_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.jdt" url="features/org.eclipse.jdt_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.jdt.source" url="features/org.eclipse.jdt.source_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.pde" url="features/org.eclipse.pde_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.sdk" url="features/org.eclipse.sdk_3.2.0.v20060210--hQXJzJJez/" version="3.2.0.v20060210--hQXJzJJez" />
<feature id="org.eclipse.pde.source" url="features/org.eclipse.pde.source_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.rcp.source" url="features/org.eclipse.rcp.source_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
</site>
</config>
--------------------------------------------------
Read-only - no extras - never started
M:\eclipse - read-only
C:\Documents and Settings\Administrator\workspace
C:\Documents and Settings\Administrator\.eclipse\org.eclipse.platform_3.1.0\configuration
<config date="1143778150088" transient="false" version="3.0">
<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="platform:/base/">
<feature id="org.eclipse.platform" url="features/org.eclipse.platform_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.rcp" url="features/org.eclipse.rcp_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
<feature id="org.eclipse.platform.source" url="features/org.eclipse.platform.source_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.jdt" url="features/org.eclipse.jdt_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.jdt.source" url="features/org.eclipse.jdt.source_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.pde" url="features/org.eclipse.pde_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.sdk" url="features/org.eclipse.sdk_3.2.0.v20060210--hQXJzJJez/" version="3.2.0.v20060210--hQXJzJJez" />
<feature id="org.eclipse.pde.source" url="features/org.eclipse.pde.source_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.rcp.source" url="features/org.eclipse.rcp.source_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
</site>
</config>
--------------------------------------------------
Read-only - no extras - base instance was started first - first start of read-only instance
M:\eclipse - read-only
C:\Documents and Settings\Administrator\workspace
C:\Documents and Settings\Administrator\.eclipse\org.eclipse.platform_3.1.0\configuration
<config date="1143778421878" shared_ur="file:configuration/org.eclipse.update/platform.xml" transient="false" version="3.0" />
--------------------------------------------------
Added emf to S:\ManagedIDE\eclipse - rw instance
Stored in base config - S:\ManagedIDE\eclipse\configuration
<config date="1143779290958" transient="false" version="3.0">
<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="platform:/base/">
<feature id="org.eclipse.platform" plugin-version="3.2.0.v20060214-1600" url="features/org.eclipse.platform_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.platform.source" url="features/org.eclipse.platform.source_3.2.0.v20060215-6arkIf-1sI/" version="3.2.0.v20060215-6arkIf-1sI" />
<feature id="org.eclipse.rcp" plugin-version="3.2.0.v20051206" url="features/org.eclipse.rcp_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
<feature id="org.eclipse.jdt" plugin-version="3.2.0.v20060216-0800" url="features/org.eclipse.jdt_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.jdt.source" url="features/org.eclipse.jdt.source_3.2.0.v20060215-1200-0cq-cuim1y/" version="3.2.0.v20060215-1200-0cq-cuim1y" />
<feature id="org.eclipse.pde" plugin-version="3.2.0.v20060213-1200" url="features/org.eclipse.pde_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.pde.source" url="features/org.eclipse.pde.source_3.2.0.v20060210--qSWJzJJez/" version="3.2.0.v20060210--qSWJzJJez" />
<feature id="org.eclipse.sdk" plugin-version="3.2.0.v20060214" url="features/org.eclipse.sdk_3.2.0.v20060210--hQXJzJJez/" version="3.2.0.v20060210--hQXJzJJez" />
<feature id="org.eclipse.rcp.source" url="features/org.eclipse.rcp.source_3.2.0.v20060210-38mARRhN5X/" version="3.2.0.v20060210-38mARRhN5X" />
</site>
<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="file:E:/Eclipse-Development/eclipse_tools/emf-sdk-xsd211/eclipse/">
<feature id="org.eclipse.emf.source" url="features/org.eclipse.emf.source_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf.sdk" url="features/org.eclipse.emf.sdk_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.xsd.doc" url="features/org.eclipse.xsd.doc_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.xsd.source" url="features/org.eclipse.xsd.source_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf.ecore.sdo.doc" url="features/org.eclipse.emf.ecore.sdo.doc_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf.ecore.sdo" url="features/org.eclipse.emf.ecore.sdo_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf.ecore.sdo.source" url="features/org.eclipse.emf.ecore.sdo.source_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf.doc" url="features/org.eclipse.emf.doc_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.xsd" url="features/org.eclipse.xsd_2.1.1/" version="2.1.1" />
<feature id="org.eclipse.emf" url="features/org.eclipse.emf_2.1.1/" version="2.1.1" />
</site>
</config>
--------------------------------------------------
Read-only - started after base had added emf
Added GEF to the private config - C:\Documents and Settings\Administrator\.eclipse\org.eclipse.platform_3.1.0\configuration
- <config date="1143780377641" shared_ur="file:configuration/org.eclipse.update/platform.xml" transient="false" version="3.0">
- <site enabled="true" policy="USER-EXCLUDE" updateable="true" url="file:E:/Eclipse-Development/eclipse_tools/gef311/eclipse/">
<feature id="org.eclipse.gef.source" url="features/org.eclipse.gef.source_3.1.1/" version="3.1.1" />
<feature id="org.eclipse.gef" url="features/org.eclipse.gef_3.1.1/" version="3.1.1" />
<feature id="org.eclipse.gef.sdk" plugin-identifier="org.eclipse.gef.source" url="features/org.eclipse.gef.sdk_3.1.1/" version="3.1.1" />
</site>
</config>
--------------------------------------------------
Could disable EMF in the base config - can't change it in the private config
Added VE to the private config - works fine
Disabled EMF in the base config - VE fails in the private config - base took EMF away