Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Equinox/p2/Console Users Guide
Contents
Using P2 Provisioning Commands
The P2 Provisioning Commands are console commands enabled by the presence of P2 that allow you to perform common provisioning operations, such as managing the repository and profiles, installing and removing components, etc.
Prerequisties
To have the Eclipse console available, you have to add -console as a program argument either in the Eclipse.ini file of your default Eclipse installation, or, in the Argument tab in your Eclipse IDE.
To run with the provisioning console enabled, make sure that the P2 console bundle is available and started in the process to which you want to connect the console:
1. Start the console.
2. Find the ID of the P2 console bundle by using the command:
>ss p2.console
<bundle ID> RESOLVED org.eclipse.equinox.p2.console_1.0.202
3. Start the bundle:
> start <bundle ID>
4. To list all the commands, type man in the console line. The P2 Provisioning Commands all start with "prov".
P2 Provisioning Commands
Repository Commands
provaddrepo <repository URI> - Adds both metadata and artifact repository at URI
provdelrepo <repository URI> - Deletes metadata and artifact repository at URI
provaddmetadatarepo <repository URI> - Adds a metadata repository at URI
provdelmetadatarepo <repository URI> - Deletes a metadata repository at URI
provaddartifactrepo <repository URI> - Adds an artifact repository at URI
provdelartifactrepo <repository URI> - Deletes an artifact repository URI
provlg [<repository URI> <iu id | *> <version range | *>] - Lists all IUs with group capabilities in the given repository or in all repositories if URI is omitted
provlr [<repository URI> <iu id | *> <version range | *>] - Lists all metadata repositories, or the contents of a given metadata repository
provlar [<repository URI>] - Lists all artifact repositories, or the contents of a given artifact repository
provliu [<repository URI | *> <iu id | *> <version range | *>] - Lists the IUs that match the pattern in the given repo. * matches all
provlquery <repository URI | *> <expression> [ true | false ] - Lists the IUs that match the query expression in the given repo. * matches all. The expression is expected to be a boolean match expression unless the third argument is true, in which case the expression is a full query.
Profile Registry Commands
provaddprofile <profileid> <location> <flavor> - Adds a profile with the given profileid, location and flavor
provdelprofile <profileid> - Deletes a profile with the given profileid
provlp [<profileid | *>] - Lists all profiles, or the contents of the profile at the given profile
provlgp [<profileid>] - Lists all IUs with group capabilities in the given profile, or current profile if profileid is omitted
provlpts [<profileid>] - Lists timestamps for given profile, or if no profileid given then the default profile timestamps are reported
provlpquery <profileid | this> <expression> [ true | false ] - Lists the IUs that match the query expression in the given profile. The expression is expected to be a boolean match expression unless the third argument is true, in which case the expression is a full query
Install Commands
provinstall <InstallableUnit> <version> <profileid> - installs an IU to the profileid. If no profileid is given, installs into the default profile.
provremove <InstallableUnit> <version> <profileid> - Removes an IU from the profileid. If no profileid is given, installs into the default profile.
provrevert <profileTimestamp> <profileid>] - Reverts to a given profile time stamp for an optional profileId
To see the applied configuration changes at runtime, you have to use the "confapply" command.
Note that the install commands use only the previously added repositories. If your IU is part of a new custom repository, you have to add the repository manually using the provaddrepo command.