John T. wrote:
It bugs me a little that I’m installing ruby packages into two different
locations using two different package managers.
I can agree with that. As I’ve said before, one only has to extend this
to other languages to realize that if this were the status quo we’d
have to deal with dozens of different package mangers. No one really
wants to do that. Which is way an offical package manager is a key
component of any operating systems.
Don’t get me wrong. I like Gems! It’s a very nice manager (for Ruby
libs). But that doesn’t address the issue. Packaging is already
fragmented enough across the variety of operating systems. It’s ironic
that in addressing that issue for Ruby the field gets fragmented more.
I’ve been working on a solution. Something I had called Sow
(http://sow.rubyforge.org) BUT PLEASE NOTE this code is undergoing some
major revision and will likely get a new name. (Release time table is
about a month). So take what’s there as merely expiremental at this
point. In anycase, the upshot is this tool transforms packages from one
format to another on the fly and installs them using your native
format. So for instance any .gem can automatically become a .deb.
That’s great in itself, but what’s really interesting is the side
effect this has. With such a tool in hand it becomes clear that you no
longer even need to package up your source code. Just distribute the
source tar/zip and this tool will make whatever package type you want
out of it transparently upon installation.
While were on the topic of RubyGems, I’ve actually been considering the
totalliy opposite direction too. Like I said, I really do like Gems. So
I’ve been wondering, what would it take to make Gems a general purpose
package manager and not just Ruby oriented? Some interesing work has
recently appeared to this end by Matthieu R. called Raven.
Apperaently he’s manager to pack Java .jar files into gems. It would be
interesting to see just how generalized RubyGems can become. Could it
ever become the standard package manager of a Linux distribution?