From: Luke Kanies Date: 2006-11-17T05:43:18+09:00 Subject: Distributing libraries Hi all, I'm in the process of starting to integrate a new library into my main project, Puppet[1]. I need to tightly control external dependencies in the Puppet client, because Puppet will normally be responsible for installing all software (it's a configuration management tool, and does things like create users and install packages), so I'm trying to decide on the best way to distribute the library with Puppet. I've verified the license of the library (GRATR[2]) and discussed it with its author, so there's no problem there. I'm currently distributing another library as part of Puppet, but it's a small library with just a few files, so I changed the 'require' lines to point to 'puppet/' instead of just ''; GRATR has enough files that I think this would be a pain to maintain, especially since I expect to provide plenty of patches and feedback to its author. Puppet is currently distributed in at least 5 packaging formats, excluding tarballs -- sun, .deb, rpm, ebuild, and gem -- and I can basically guarantee that none of these except gems have a package for GRATR, so I don't think it would work very well to have just use package dependencies, keeping in mind that Puppet is the tool used to install packages for its users. Is there a kind of standard way of distributing other Ruby libraries with a Ruby project? 1 - http://reductivelabs.com/projects/puppet 2 - http://rubyforge.org/projects/gratr/ -- Luke Kanies http://madstop.com | http://reductivelabs.com | 615-594-8199