On Wed, May 02, 2007 at 02:55:07AM +0900, Stephen Touset wrote:
> Essentially, pallet lets you use a simple Rakefile stanza (akin to the
> existing gemspec stanza) to define multiple packaging formats. Right now,
> gem and dpkg are the only formats supported, although adding .tar.gz
> should be trivial, and .rpm should be simple enough for anyone who's built
> an RPM.

I'd definitely be interested in RPM.

Right now I'm using a different approach: gem2spec takes a gem and turns it
into an RPM spec file. Unlike the native .deb packages you're generating
under Pallet, the components are installed under /usr/lib/ruby/gems/1.8 not
/usr/lib/ruby/1.8.

$ rpm -ql rubygem-rake
/usr/bin/rake
/usr/lib/ruby/gems/1.8/cache/rake-0.7.1.gem
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/rdoc
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/rdoc/classes
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/rdoc/classes/CompositePublisher.html
...
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/ri
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/ri/CompositePublisher
/usr/lib/ruby/gems/1.8/doc/rake-0.7.1/ri/CompositePublisher/add-i.yaml
...
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/CHANGES
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/MIT-LICENSE
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/README
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/Rakefile
..
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/test/test_test_task.rb
/usr/lib/ruby/gems/1.8/specifications/rake-0.7.1.gemspec

With Pallet, you can tell it what files to bundle together to build a
package. But what about the initial fetch/untar/configure/build/install
steps? It would be very attractive to write these once in ruby (or rake),
but I don't think Pallet provides rules for this. Are there existing
libraries of rake tasks to do these steps?

Regards,

Brian.

P.S. Another tool I've used occasionally is Debian's "alien" (e.g. to
install the oracle-instantclient RPMs on an Ubuntu box). I've never tried
using alien to convert a .deb to .rpm though.