From: "Mauricio Fernández" Date: 2004-10-01T02:33:28+09:00 Subject: [ANN] rpa-base 0.2.2 rpa-base 0.2.2 is now available at http://rpa-base.rubyforge.org . Many of the most popular libraries/applications as per Rubyforge statistics (rake, redcloth, activerecord, sqlite, log4r, ruvi, and some 120 more libs/apps) have been packaged for use with rpa-base 0.2.2. One of the major additions in 0.2.2 is the ability to upgrade itself automatically and report information on updated/added packages/ports. That functionality had been available as an update (0.2.1-9) but was still formally unreleased. Scroll down to see an example of the self-update 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. 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 4 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.2: * 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 forward 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 me at (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. APPENDIX: self-update ===================== bash-2.05b$ su Password: bash-2.05b# rpa update Getting port info from http://rpa-base.rubyforge.org/ports/ports .info. 100% [========================================] 81482 bytes Ports added since the last update (in the last 14 days): ansicolor 0.0.3-2 Library to color strings using ANSI escape sequences. rubilicius 0.1.0-1 Delicious (http://del.icio.us/) bindings in pure Ruby. Ports updated since the last update (in the last 14 days): archive-tar-minitar 0.5.0-1 -> 0.5.1-1 bluecloth 0.0.3b-1 -> 1.0.0-1 cstemplate 0.5.1-1 -> 0.5.1-2 diff-lcs 1.1.0-1 -> 1.1.2-2 extensions 0.3.0-1 -> 0.4.0-1 raggle 0.3.1-1 -> 0.3.1-2 rpa-base 0.2.1-9 -> 0.2.2-1 ** New version of rpa-base available, will install it. ** Installing ports Getting port rpa-base from http://rpa-base.rubyforge.org/ports/rpa-base_0.2.2-1.rps. 100% [========================================] 59392 bytes Defaults loaded... Recovering defaults... Building rpa-base (0.2.2-1). Fixed shebang in rpa/tmp/bin/rpa. Fixed shebang in rpa/tmp/bin/rpa-buildport. Fixed shebang in rpa/tmp/bin/rpaadmin. Fixed shebang in rpa/tmp/bin/rpa-buildrepos.rb. Calculating MD5 digests. Building package in rpa-base_0.2.2-1_i386-pc-linux-gnu.rpa. Installing rpa-base Reusing cached package /usr/lib/ruby/rpa0.0/packages/rpa-base_0.2.2-1_i386-pc-linux-gnu.rpa. Starting lightweight (metadata only) transaction for rpa-base Checking for file conflicts in rpa-base. Starting transaction for rpa-base Preparing to replace rpa-base 0.2.1-9 with /usr/lib/ruby/rpa0.0/packages/rpa-base_0.2.2-1_i386-pc-linux-gnu.rpa Package /usr/lib/ruby/rpa0.0/packages/rpa-base_0.2.2-1_i386-pc-linux-gnu.rpa unpacked. Finished transaction for rpa-base Starting lightweight (metadata only) transaction for rpa-base Finished lightweight (metadata only) transaction for rpa-base Finished lightweight (metadata only) transaction for rpa-base Committed changes -- Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com