thekid/rfc — Issue #202: RFC 0202: XP Installer
Author: thekid
Created: 2011-10-09 16:11:46+00:00
State: open

Scope of Change
====
A new command line utility will be created and distributed with the XP
Framework. It will provide a shell to manage XP software packages and
libraries.

Rationale
====
Installing software built for the XP Framework currently is a manual
process.

Functionality
====

Using a library
----

```
$ xpi use org.nagios@packages.xp-forge.net

```

Actions performed:
* Connect to XP Forge website
* Query for org.nagios package
* Verify version compatibility
* Download XAR file to ./lib directory
* Run tests inside package (if any)
* Add line to lib.pth
* Show META-INF/README from inside XAR if contained

This library will only be available inside the project.

Installing classes from ports
----

```
$ xpi install org.nagios@packages.xp-forge.net

```

Actions performed:
* Connect to XP Forge website
* Query for org.nagios package
* Verify version compatibility
* Download XAR file to XP installation directory
* Run tests inside package (if any)
* Add library to lib.pth
* Show META-INF/README from inside XAR if contained

This library will be available globally.

Security considerations
====
Some kind of signing / checksum verification should take place.

Speed impact
====
None at runtime.

Dependencies
====

Related documents
====
PEAR installer
* http://pear.php.net/manual/en/guide.users.commandline.installing.php

Comments
====