Ruby interpreter transitions

Ruby interpreter transitions are done in phases so that (hopefully) unstable is never broken:

phase 0: the new ruby reaches unstable

phase 1: enable both interpreters in experimental

ruby-defaults gets uploaded telling gem2deb to build for both the old and the new ruby versions.

changes needed in ruby-defaults:

Do test rebuilds of all reverse-dependencies before and open a transition bug against release.debian.org!

phase 2: enable both interpreters in unstable, rebuild/fix

upload the new ruby-defaults to unstable.

packages get rebuilt/fixed with support for both the old ruby and the new ruby

ideally, what needs to fixed has to be fixed in a way that it won't need to be fixed again in the next transition.

phase 3: new interpreter becomes the default, old one is disabled

changes needed in ruby-defaults:

stage this in experimental first, ask ask people to test (at least in debian-ruby@lists.debian.org).

in special, test rebuilding all the stuff that links against the current default ruby version and make sure they can be binNMUed when the default really changes.

phase 4: rebuild/fix after default is changed in unstable

packages get rebuilt/fixed to drop support for the old interpreter and/or build against the new default.

phase 5: old interpreter gets removed