Hi Pascal,

Thanks a lot, giving -roaming flag in p2-director worked! :)

Regards,
Dileepa

On Tue, Feb 19, 2013 at 7:23 AM, Pascal Rapicault <[email protected]>wrote:

> Normally this value should be modified by the profile registry when the
> profile is loaded from disk.
> I don't know why it is not. I suspect this is probably because the install
> is not flagged as "roaming".You may want to take a look at the getProfile()
> method in SimpleProfileRegistry .
>
> Pascal
>
> On 2013-02-18, at 6:37 PM, Dileepa Jayakody wrote:
>
> Hi Pascal,
>
> Thanks a lot for the pointer.
> I went through the code, and I saw that LazyManipulator in it's
> loadDelegate() sets the configurationFolder for the running profile;
> launcherData.setFwConfigLocation(Util.getConfigurationFolder(profile));
>
> The configuration folder is selected based on
> org.eclipse.equinox.p2.configFolder OR
> org.eclipse.equinox.p2.installFolder/configuration.
>
> Unfortunately the 'org.eclipse.equinox.p2.installFolder value is
> hard-coded into my Profiles in ProfileRegistry during the build as below.
>
> <profile id='WSO2CarbonProfile' timestamp='1361223701812'>
>   <properties size='4'>
>     <property name='*org.eclipse.equinox.p2.installFolder*' value='*
> /media/Carbon_Volume/Ubuntu_Resources/carbon/multipleP2ProfileSupport/dileepa/kernel/trunk/distribution/kernel/target/WSO2Carbon/WSO2CarbonProfile
> *'/>
>     <property name='org.eclipse.equinox.p2.cache'
> value='/media/Carbon_Volume/Ubuntu_Resources/carbon/multipleP2ProfileSupport/dileepa/kernel/trunk/distribution/kernel/target/WSO2Carbon'/>
>     <property name='org.eclipse.update.install.features' value='true'/>
>     <property name='org.eclipse.equinox.p2.environments' value='osgi.nl
> =en_GB,osgi.ws=gtk,osgi.arch=x86,osgi.os=linux'/>
>   </properties>
> </profile>
>
> I tried to override these values in launch.ini just like I can for
> p2.data.area, osgi.configuration.area. But it was not detected. Can you
> please suggest a way to override the hardcoded p2.installFolder value here
> so that P2 will correctly update the bundles.info file upon a
> provisioning action?
>
> Thanks,
> Dileepa
>
>
> In my case could this be the a reason
>
> On Mon, Feb 18, 2013 at 7:55 PM, Pascal Rapicault <[email protected]>wrote:
>
>> The majority of the handling of the configuration files is done from the
>> LazyManipulator class in the eclipse touchpoint, which is a facade for
>> classes in equinox.fwkadmin.equinox bundles.
>>
>> Pascal
>>
>> On 2013-02-18, at 6:34 AM, Dileepa Jayakody wrote:
>>
>> Hi All,
>>
>> Can I please know how P2 ProvisioningAgent updates the configuration
>> files after a feature installation?
>>
>> At the moment in my new multi-profile target enviorment with a shared
>> p2-data area, after a feature installation only the P2-Profile is updated
>> with the newly installed features.
>> I also see that the new feature and plugins are properly extracted to
>> ${install.area}/features and {install.area}/plugins directories but the
>> relevant configuraton files
>> (configuration/org.eclipse.equinox.simpleconfigurator/bundles.info and
>> configuration/org.eclipse.update/platform.xml) are not updated with the new
>> features and pluging entries.
>>
>> Are these files located by the P2-Agent relative to the URI given when we
>> create the provisioningAgent? (provisioningAgent =
>> provisioningAgentProvider.createAgent(agentURI);)
>> What could be the possible reasons for the provisioning agent properly
>> updating the Profile and not the configuration files after a feature
>> installation?
>>
>> Thanks,
>> Dileepa
>>
>> How does the ProvisioningAgent update these files during a feature
>> installation?
>>
>> On Sun, Feb 17, 2013 at 2:09 AM, Dileepa Jayakody <[email protected]>wrote:
>>
>>> Hi All,
>>>
>>> We use a P2 ProvisioningAgent to perform provisioning operations in our
>>> runtime. Our initial product distribution structure was similar to a
>>> generic Eclipse installation with (dropins, plugins, features,
>>> configuration and p2 directories).
>>> Now we are looking at shipping multiple-profile installations in a
>>> single distribution using a shared p2 data area along with different
>>> configuration directories for each Profile, see the new layout at [1]. So
>>> now default the configuration directory is changed to have separate
>>> configuration directory per Profile.
>>>
>>> AFAIU during the provisioning action, the P2 Agent updates the relevant
>>> Profile and also adds the newly installed bundles to the
>>> configuration/org.eclipse.equinox.simpleconfigurator/bundles.info *
>>> *But with the new directory layout to support multiple-profile
>>> installations, after performing a provisioning action, only the Profile is
>>> updated with the newly installed IUs. The bundles.info in the relavant
>>> configuration directory is not updated.
>>>
>>> Is there a way to provide the osgi.configuration.area argument to the P2
>>> Agent so that it can find the bundles.info file to update after a
>>> provisioning action?
>>> I have also added the code-segment here on how we are performing P2
>>> provisioning actions using P2 API [2].
>>> Any help/pointers on this is a life-saver!
>>>
>>> Thanks,
>>> Dileepa
>>>
>>> [1] new layout;
>>>
>>> *repository/components/*
>>> |--ProfileA
>>> |    /configuration
>>> |       |--config.ini
>>> |       |--org.eclipse.equinox.
>>> simpleconfigurator/bundles.info
>>> |
>>> |--ProfileB
>>> |    /configuration
>>> |       |--config.ini
>>> |       |--org.eclipse.equinox.simpleconfigurator/bundles.info  *
>>>
>>> **repository/components**/p2 *{shared p2 data directory for created
>>> profiles}
>>> |--org.eclipse.equinox.p2.engine
>>> |          |--profileRegistry
>>> |                |---ProfileA.profile
>>> |                |---ProfileB.profile
>>>
>>>
>>> [2] The Provisioning code segment;
>>>
>>>            String P2_AGENT_LOCATION = System.getProperty("carbon.home")
>>> + File.separator + "repository" + File.separator +"components" +
>>> File.separator + "p2";
>>>            URI agentURI = getAgentURI(P2_AGENT_LOCATION);
>>>            provisioningAgent =
>>> provisioningAgentProvider.createAgent(agentURI);
>>>             IPlanner planner =
>>> (IPlanner)provisioningAgent.getService(IPlanner.SERVICE_NAME);
>>>             setPlanner(planner);
>>>             IMetadataRepositoryManager metadataRepositoryManager =
>>>
>>> (IMetadataRepositoryManager)provisioningAgent.getService(IMetadataRepositoryManager.SERVICE_NAME);
>>>             setMetadataRepositoryManager(metadataRepositoryManager);
>>>             IArtifactRepositoryManager artifactRepositoryManager =
>>>
>>> (IArtifactRepositoryManager)provisioningAgent.getService(IArtifactRepositoryManager.SERVICE_NAME);
>>>             setArtifactRepositoryManager(artifactRepositoryManager);
>>>             IProfileRegistry profileRegistry =
>>> (IProfileRegistry)provisioningAgent.getService(IProfileRegistry.SERVICE_NAME);
>>>             setProfileRegistry(profileRegistry);
>>>             IEngine engine =
>>> (IEngine)provisioningAgent.getService(IEngine.SERVICE_NAME);
>>>             setP2Engine(engine);
>>>             setProvisioningContext(new
>>> ProvisioningContext(provisioningAgent));
>>>
>>>
>>> provisioningAgent.registerService(IProvisioningAgent.INSTALLER_AGENT,
>>> provisioningAgentProvider.createAgent(null));
>>>              ProvisioningContext context =
>>> ServiceHolder.getProvisioningContext();
>>>              IEngine engine = ServiceHolder.getP2Engine();
>>>
>>> context.setMetadataRepositories(ServiceHolder.getMetadataRepositoryManager().getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL));
>>>
>>> context.setArtifactRepositories(ServiceHolder.getArtifactRepositoryManager().getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL));
>>>              IStatus status =
>>> PlanExecutionHelper.executePlan(provisioningPlan, engine, context, new
>>> NullProgressMonitor());
>>> --
>>> Dileepa Jayakody,
>>> Software Engineer, WSO2 Inc.
>>> Lean . Enterprise . Middleware
>>>
>>> Mobile : +94777-857616
>>>
>>
>>
>>
>> --
>> Dileepa Jayakody,
>> Software Engineer, WSO2 Inc.
>> Lean . Enterprise . Middleware
>>
>> Mobile : +94777-857616
>>  _______________________________________________
>> p2-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/p2-dev
>>
>>
>>
>> _______________________________________________
>> p2-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/p2-dev
>>
>>
>
>
> --
> Dileepa Jayakody,
> Software Engineer, WSO2 Inc.
> Lean . Enterprise . Middleware
>
> Mobile : +94777-857616
> _______________________________________________
> p2-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/p2-dev
>
>
>
> _______________________________________________
> p2-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/p2-dev
>
>


-- 
Dileepa Jayakody,
Software Engineer, WSO2 Inc.
Lean . Enterprise . Middleware

Mobile : +94777-857616
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to