rpa-base 0.2.0 is now available at http://rpa-base.rubyforge.org .
Many of the most popular libraries/applications as per Rubyforge
statistics (rails, rake, redcloth, activerecord, sqlite, log4r, copland,
ruvi, to name a few) have been packaged for use with rpa-base 0.2.0.
Foreword
···
--------
The Ruby Production Archive (RPA) will provide packages of Ruby
libraries and programs in a form that allows production use, engineered
through a stringent process resembling FreeBSD's or Debian's.
rpa-base is a port/package manager designed to support RPA. Its scope and
purposes are different to those of other systems like RubyGems.
Status
------
Please keep in mind that RPA is at an embryonic stage; this means that
it is impossible to commit to all the long term goals stated in the
manifesto (http://rpa-base.rubyforge.org/wiki/wiki.cgi?RpaManifesto) at
the moment. This doesn't make rpa-base any less usable however.
rpa-base requires Ruby 1.8.[12] (certainly 1.8 at least, it might work
on 1.8.0); it has been tested on several Linux distributions (Debian,
Fedora, older RH, Gentoo, etc), FreeBSD, DragonFly BSD, Mac OSX, win32
(cygwin, 'pragmatic installer', WinXP and 2K).
rpa-base is fairly stable at this stage; it has been tested on several
platforms during the last 2 months. Since rpa-base can self-update,
eventual bugs discovered through the intensive testing associated with
a public release could be solved easily by upgrading rpa-base using
rpa-base itself.
We would appreciate any feedback on rpa-base.
A mailing list has been set up for that purpose:
http://rubyforge.org/mailman/listinfo/rpa-base-testers
Features
rpa-base is a port/package manager designed to support RPA's client-side
package management. You can think of it as RPA's apt-get + dpkg. It
features the following as of 0.2.0:
* strong dependency management: rpa-base installs dependencies as needed,
keeps track of reverse dependencies on uninstall, and will remove no
longer needed dependencies
* atomic (de)installs: operations on the local RPA installation are atomic
transactions; the system has been designed to survive ruby crashes (OS
crashes too on POSIX systems)
* parallel installs: you can install several ports in parallel; building
will be parallelized and the final phase will be serialized properly
* self-hosting: rpa-base installs and updates itself
* modular, extensible design: the 2-phase install is similar to FreeBSD and
Debian's package creation; rpa-base packages need not be restricted
to installing everything under a single directory ("1 package, 1 dir"
paradigm)
* rdoc integration: RDoc documentation for libraries is generated at install
time (currently disabled on win32)
* ri integration: ri data files are generated for all the libraries managed
by RPA; you can access this information with ri-rpa
* handling C extensions: if you have the required C toolchain, rpa-base can
compile extensions as needed
* unit testing: when a library is installed, its unit tests are run; the
installation is canceled if they don't pass
Several of the above features are illustrated in the screenshots and
animations available at
http://rpa-base.rubyforge.org/wiki/wiki.cgi?Rpa_Base_In_Action
Limitations:
A number of features have been pushed back to 0.3.0:
* full support for binary platform-specific packages
* signed packages/ports
* system-wide configuration system
* better user interface
In practice, the first one is the most limiting at the moment since it means
that win32 users in particular need a working C toolchain to install
extensions. This will soon be addressed.
RPA needs your help
RPA is an ambitious project in need for developers. These are some of the
areas that need to be worked on:
* packaging (new software and package maintenance)
* setting up a permanent repository infrastructure
* cross-compilation and build automation
* website development (should provide package indexes, QA section,
bugtracking, etc)
Please contact me at <batsman.geo@yahoo.com> (adding RPA to the subject
will help get it past the spam filtering or via IRC, batsman @
#ruby-lang on freenode.net if you have any interest or for any additional
information on RPA/rpa-base and their goals.
--
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com