blob: 588dc31d0ce7ce6c0331e7ea253555609f05edb0 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>8.4&nbsp;Using the p2 for extending your Virgo installation</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="Virgo User Guide"><link rel="up" href="ch08.html" title="8.&nbsp;Equinox Console"><link rel="prev" href="ch08s03.html" title="8.3&nbsp;Virgo Shell Command Reference"><link rel="next" href="ch09.html" title="9.&nbsp;The Web Admin Console"><!--Begin Google Analytics code--><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-2728886-3");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
</script><!--End Google Analytics code--></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.4&nbsp;Using the p2 for extending your Virgo installation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">8.&nbsp;Equinox Console</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="p2-commands"></a>8.4&nbsp;Using the p2 for extending your Virgo installation</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3347"></a>Extending with the p2 director</h3></div></div></div><p>
You can provision new features on top of your Virgo installation using the p2 director. It can be used both for initial provisioning and extending an existing installtion.
</p><p>For extending an existing installation you can use these director arguments:
</p><pre class="screen">-repository http://download.eclipse.org/rt/ecf/3.5.3/site.p2
-installIU org.eclipse.ecf.remoteservice.feature.feature.group
-destination &lt;your Virgo installation folder&gt;</pre><p>This installs the <span class="bold"><strong>latest</strong></span> version of the specified p2 feature in your Virgo installation's p2 profile.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3361"></a>Extending via the p2 shell commands</h3></div></div></div><p>Another way to achieve the same results is to use the p2 commands. The commands are available only in VN as it includes p2 by default.
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.gif"></td><th align="left">Note</th></tr><tr><td align="left" valign="top">For the other distributions only the director is supported and the operation only extends their kernel region.</td></tr></table></div><p>
</p><p>Here's a list of the most commonly used p2 commands:</p><div class="table"><a name="p2-common-commands-table"></a><p class="title"><b>Table&nbsp;8.8.&nbsp;p2 Common Shell Commands</b></p><div class="table-contents"><table summary="p2 Common Shell Commands" style="border-collapse: collapse;border-top: 1.0pt solid ; border-bottom: 1.0pt solid ; border-left: 1.0pt solid ; border-right: 1.0pt solid ; "><colgroup><col><col></colgroup><thead><tr><th style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; ">Command</th><th style="border-bottom: 1.0pt solid ; ">Help</th></tr></thead><tbody><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provaddrepo &lt;repository URI&gt;</code></td><td style="border-bottom: 1.0pt solid ; ">
Add specified URI as metadata and artifact repository. Note that if you pass a wrong URL you'll get an error saying:
<code class="literal">Repository not modifiable: http://wrongURL</code>. The default behavior of this command is to create an empty repository at the
specified location if there isn't any. That won't work for remote locations so keep in mind that if you see this you probably passed a wrong URL.
</td></tr><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provdelrepo &lt;repository URI&gt;</code></td><td style="border-bottom: 1.0pt solid ; ">
Remove specified metadata and artifact repository.
</td></tr><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provinstall &lt;InstallableUnit&gt; &lt;version&gt; &lt;profileid&gt;</code></td><td style="border-bottom: 1.0pt solid ; ">
Install an IU to the profileid. If no profileid is given, installs into default profile.
</td></tr><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provremove &lt;InstallableUnit&gt; &lt;version&gt; &lt;profileid&gt;</code></td><td style="border-bottom: 1.0pt solid ; ">
Uninstall an IU from the profileid. If no profileid is given, uninstalls form default profile.
</td></tr><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provlg [&lt;repository URI&gt; &lt;iu id | *&gt; &lt;version range | *&gt;]</code></td><td style="border-bottom: 1.0pt solid ; ">
Lists all IUs with group capabilities in the given repo or in all repos if URI is omitted.
</td></tr><tr><td style="border-right: 1.0pt solid ; border-bottom: 1.0pt solid ; "><code class="literal">provliu [&lt;repository URI | *&gt; &lt;iu id | *&gt; &lt;version range | *&gt;]</code></td><td style="border-bottom: 1.0pt solid ; ">
Lists the IUs that match the pattern in the given repo. * matches all.
</td></tr><tr><td style="border-right: 1.0pt solid ; "><code class="literal">confapply</code></td><td style="">
This is a Simple Configurator command, not a p2 one. However it is relevant because it applies dynamically, at runtime, the installed p2 features.
What the command does is to apply to the running OSGi framework the current content in the bundles.info file. When using the provinstall command it takes care of updateing the bundles.info file.
</td></tr></tbody></table></div></div><br class="table-break"><p>Here's an example showing how to install the ECF remote services but with the p2 commands this time:</p><pre class="screen">osgi&gt; provaddrepo http://download.eclipse.org/rt/ecf/3.5.3/site.p2
osgi&gt; provlg
org.eclipse.ecf.core.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.core.featurepatch.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.core.featurepatch.source.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.core.source.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.datashare.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.datashare.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.dnssd.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.dnssd.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.jmdns.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.jmdns.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.slp.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.slp.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.zookeeper.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.discovery.zookeeper.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.eventadmin.examples.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.eventadmin.examples.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.eventadmin.feature.feature.group 2.0.0.v20111109-2142
org.eclipse.ecf.eventadmin.source.feature.feature.group 2.0.0.v20111109-2142
org.eclipse.ecf.osgi.services.feature.feature.group 2.0.1.v20111109-2142
org.eclipse.ecf.osgi.services.source.feature.feature.group 2.0.1.v20111109-2142
org.eclipse.ecf.remoteservice.examples.feature.feature.group 1.1.0.v20111109-2142
org.eclipse.ecf.remoteservice.examples.source.feature.feature.group 1.1.0.v20111109-2142
org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.rest.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.rest.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.rosgi.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.rosgi.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.sdk.feature.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.remoteservice.sdk.source.feature.feature.group 3.5.3.v20111109-2142
org.eclipse.ecf.remoteservice.soap.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.soap.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.remoteservice.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.server.generic.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.server.generic.source.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.xmpp.feature.feature.group 1.0.0.v20111109-2142
org.eclipse.ecf.xmpp.source.feature.feature.group 1.0.0.v20111109-2142
osgi&gt; provinstall org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
Installation complete for org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
osgi&gt; confapply
osgi&gt; ss
"Framework is launched."
id State Bundle
0 ACTIVE org.eclipse.osgi_3.7.1.R37x_v20110808-1106
....
92 RESOLVED org.springframework.osgi.io_1.2.1
93 RESOLVED org.eclipse.ecf.console_1.0.0.v20111109-2142
94 RESOLVED org.eclipse.ecf.discovery_4.0.0.v20111109-2142
95 RESOLVED org.eclipse.ecf.provider_4.2.100.v20111109-2142
96 RESOLVED org.eclipse.ecf.provider.discovery_2.1.200.v20111109-2142
97 RESOLVED org.eclipse.ecf.provider.remoteservice_4.0.0.v20111109-2142
98 RESOLVED org.eclipse.ecf.remoteservice_6.0.200.v20111109-2142
99 RESOLVED org.eclipse.ecf.sharedobject_2.2.100.v20111109-2142
100 RESOLVED org.eclipse.equinox.concurrent_1.0.200.v20110502</pre><p>You can see that after applying the changes with <span class="emphasis"><em>confapply</em></span> the remote services bundles and their dependencies are installed in VN.</p></div></div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script><script type="text/javascript">
_lf_cid = "LF_48be82fa";
_lf_remora();
</script><!--End LoopFuse code--><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">8.3&nbsp;Virgo Shell Command Reference&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;9.&nbsp;The Web Admin Console</td></tr></table></div></body></html>