<commit_before>RFC 0202: XP Installer
========================================================================
$Id$

@authors: friebe
@created: Sun Apr 25 15:20:53     2010
@status: draft
@category: <core>

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
-------------
Installing classes from ports:
<pre>
  $ xpi install org.nagios
</pre>

Actions performed:
* Connect to XP Framework website
* Query for org.nagios package
* Download XAR file to XP installation directory
* Show META-INF/README from inside XAR if contained
* Print line suitable for adding to path files


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
--------

<EOF><commit_msg>- Add "use" idea<commit_after>RFC 0202: XP Installer
========================================================================
$Id$

@authors: friebe
@created: Sun Apr 25 15:20:53     2010
@status: draft
@category: <core>

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
~~~~~~~~~~~~~~~
<pre>
  $ xpi use <EMAIL>
</pre>

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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<pre>
  $ xpi install <EMAIL>
</pre>

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
--------

<EOF>
{'fraction_non_alphanumeric': 0.1940928270042194, 'fraction_numerical': 0.011251758087201125, 'mean_word_length': 3.117221418234443, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3344636', 'n_tokens_mistral': 807, 'n_tokens_neox': 725, 'n_words': 319}