[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

tentative TODO list for getting Rails 3 on Wheezy



Hello all,

TL;DR: there is an ongoing effort to have Rails 3 in Wheezy; I don't
know if it will be possible, but we'll try.

Some days ago I started to help Ondřej with Rails 3 packaging to try to
get it into Wheezy.  I don't know if we will have time to have
everything in by the freeze, but it might be possible.

So, the TODO list I compiled is here:

http://wiki.debian.org/Teams/Ruby/Rails3

The bulk of the (manual) work includes some missing dependencies. Those
dependencies are not for Rails itself, which works with the packages
currently on unstable (if you remove the Gemfile, what is not cool --
see below).  Those dependencies are required to run the default
application created by `rails new foo`, and while they are not strictly
required, I think it's having them in guarantees a minimal quality
experience for users.

If anyone wants to help, please get in touch by e-mail or on IRC, and
please mark the corresponding TODO item at the wiki page linked above
with your name/nick.

Besides packaging these dependencies, there is one important point. As
you may known, Rails uses bundler to specify application dependencies
and to load them during startup. To make sure Rails applications created
in Debian are usable outside of Debian, we need to make Debian packages
be recognizable by Rubygems so that applications work regardless of how
packages are installed [*], what makes them recognizable by bundler.

[*] you may argue that we should fix Rails/Bundler/Rubygems instead, but
since Rubygems is *the* standard for Ruby packages outside of Debian --
e.g. other distros just package stuff in Rubygems format -- I think
making our packages recognizable by Rubygems is a reasonable compromise
on our side.

I already wrote a basic implementation of this, which comprises:

- a change in gem2deb's dh_ruby to install package gemspecs into
  /usr/share/rubygems-integration/$ruby_version/:
  http://deb.li/tnhv

- a new package called rubygems-integration, which makes Rubygems look
  at that directory for gemspecs:
  http://deb.li/3EFyn

  (as you may note, rubygems-integration also duplicates the Rubygems
  customizations we do in Debian; assuming rubygems-integration shows
  itself as a useful piece of Ruby in Debian, my plan for the future is
  to drop the Rubygems patches we use and just make the Ruby packages
  depend on rubygems-integration)

But that's not all. In order to have packages compatible with
rubygems-integration, they need to be rebuilt with gem2deb > 0.3 (not
uploaded yet). For `Arch: any` packages, we can just request binNMU's,
but they are only 35 out of 333 packages that Build-Depend on gem2deb.
For `Arch: all` packages, we have to do sourcefull uploads.

Lucas, can the mass package rebuild infrastructure help us with this?

-- 
Antonio Terceiro <terceiro@debian.org>

Attachment: signature.asc
Description: Digital signature


Reply to: