On Fri, Nov 19, 2004 at 08:55:28PM +0900, David Garamond wrote:
> >That is the primary goal of RPA, but it doesn't exclude packaging more
> >libraries; in fact, some 150 libraries/applications have been packaged
> >so far, and many are not "production-level".
> >Quoting from http://rpa-base.rubyforge.org/wiki/wiki.cgi?Rpa_FAQ :
> 
> I see. Thanks for the clear-up. Haven't had a chance to play with RPA.
> 
> So which between rubygems and RPA is more popular?

RubyGems is more popular. The RubyGems team have made a great effort to
document and establish it as the Ruby standard for upstream releases.

> Is there any  indication of  which one will be the "official" or
> "preferred" packaging system for Ruby in the future?

One doesn't preclude the other. RubyGems' goal is expressed by its
RubyForge description:
 "RubyGems is the Ruby standard for publishing and managing third party
  libraries."
(AFAIK there is no other mission statement or declaration of purposes)
In other words, RubyGems should become the preferred system for upstream
releases. This is fine because the RubyGems team have often expressed
their commitment to making RubyGems packages easy to repackage, so
hopefully it will improve the current situation; this hasn't happened
yet but RubyGems is still young.

The goals of RPA are expressed in our manifesto:
  http://rpa-base.rubyforge.org/wiki/wiki.cgi?RpaManifesto
The RPA project is larger and more ambitious than RubyGems; it's not
primarily about making other people package using our technology, but
about having the RPA packager team create and maintain the packages.

The analogy would be automake/autoconf vs. FreeBSD.

RPA happens to use its own packaging technology (rpa-base) because
RubyGems' one doesn't satisfy our requirements and there is some gain
in being able to change simultaneously the port/package manager and the
ports/packages. You can find more information about rpa-base and its
features at http://rpa-base.rubyforge.org/ .

> Which one will become (or will be the closest to) the Ruby equivalent
>of CPAN? By that I mean I can find and install most Ruby libraries
>with it.

Currently, there are more libraries/applications packaged in RPA than in
RubyGems' repository. This should change eventually, since mere package
count is not a goal in itself for RPA: the fact that it still has more
packages than RubyGems' repository is a rather anomalous situation.

Note that neither RubyGems nor RPA try to mimic CPAN. In the case of RPA,
the main sources of inspiration are FreeBSD and Debian. However the idea
of having a repository is more central to RPA than to RubyGems: after
all, it's the Ruby Production *Archive*.

> Ruby library writers, which one do you prefer or do you find easier to 
> package your software with?

In general, they should package using RubyGems or Aoki's setup.rb.
RPA packages are created by the RPA crew: the upstream developer needs
not do anything.

So the comparison would be creating the gemspec vs. doing nothing ;-)

If you're interested in RPA or its technology, feel free to join #RPA
at irc.freenode.net. A typical "rpafied install.rb" (most often the only
thing you need to create a RPA port) looks like


require 'rpa/install'

class Install_rcov < RPA::Install::FullInstaller
    name "rcov"
    version "0.0.2-2"
    classification Application.Devel
    description <<EOF
RPA's code coverage info and profiling overview generator

rcov allows the developer to identify unused regions of code. It is
especially useful when combined with unit tests, since it will indicate
which areas of the code can't possibly have been tested.

rcov can also gather some basic profiling information (how often a line
of code is run), allowing to locate the hotspots visually.
EOF
end


-- 
Hassle-free packages for Ruby?
RPA is available from http://www.rubyarchive.org/