This post originated from an RSS feed registered with Ruby Buzz
by Mauricio Fernández.
Original Post: Keine leichte Geburt (no easy birth)
Feed Title: fail unless class << self; self end
Feed URL: http://www.thekode.net/blog/Tech/Ruby/syndication.rss
Feed Description: Ruby babblings.
Some people on #ruby-lang are aware of my involvement in RPA (see
the manifesto),
and I have been giving away snapshots of rpa-base on IRC, but
it’s still mostly a secret; time to uncover it.
Introducing rpa-base
Short version of the README (the most
important piece of documentation as everybody knows :)
rpa-base is a port/package manager created to be the base for RPA’s
client-side package management. You can think of it as RPA’s apt-get
+ dpkg. Some sexy features (see the link above for more) working
now:
sane 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)
handling C extensions: if you have the required C toolchain, rpa-base can
compile extensions as needed
rdoc integration: RDoc documentation for libraries is generated at install
time (currently put in $prefix/share/doc/rpa0.0/portname)
unit testing: when a library is installed, its unit tests are run; the
installation is canceled if they don’t pass
ri integration: ri data files are generated for all the libraries managed
by RPA; you can access this information with ri-rpa
Releasing
I’ve been feeling it was ready for a preliminary release for a long
time now (since around mid-March), but I’m notoriously bad at that
and just kept hacking. Now that RPA is reported to work on win32,
it’s definitely time for a tech-preview release.
I’m soon applying for Rubyforge’s services and working on a FAQ
and some minimalistic documentation.