rpa-base 0.2.3 is now available at http://rpa-base.rubyforge.org .
Many of the most popular libraries/applications as per Rubyforge
statistics (rake, redcloth, activerecord, rails, sqlite, log4r, ruvi,
and some >140 more libs/apps) have been packaged for use with rpa-base
0.2.3.
Screenshots and animations showing rpa-base's operations can be found at
http://rpa-base.rubyforge.org/wiki/wiki.cgi?Rpa_Base_In_Action .
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.
Please join #RPA on irc.freenode.net for additional information on
RPA/rpa-base and their goals (several RPA developers and users hang
around there). The FAQ list at
http://rpa-base.rubyforge.org/wiki/wiki.cgi?Rpa_FAQ
might prove useful too.
Changes since 0.2.2
This is mostly a bugfix release. Work on new features and a better UI is
taking place in the 0.3 branch at the moment.
* critical workaround for a modification in ostruct.rb introduced
recently in Ruby's ruby_1_8 CVS branch and HEAD (1.9), which broke
rpa-base altogether. Note that this workaround was released as a
self-update, but people using recent 1.8 builds (including the latest
preview) would not be able to install rpa-base for the first time
* support for
rpa install package1.rpa .... packageN.rpa
(you can copy the binary packages built on one machine to another and
install without a connection to the Internet)
* rpa update doesn't limit the new/updated info to the last 14 days
* bash completion script included (thanks to Brian Schröder, Nobu Nakada)
* several minor bugfixes
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 6 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.3:
* 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 UI
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 us through RubyForge's ML at
http://rubyforge.org/mailman/listinfo/rpa-base-testers
or drop me an email at <batsman.geo@yahoo.com> (adding RPA to the subject
will help get it past the spam filtering or via IRC, #RPA on
freenode.net if you have any interest or for any additional information
on RPA/rpa-base and their goals.
--
Hassle-free packages for Ruby?
RPA is available from http://www.rubyarchive.org/