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
ruby-defaults gets uploaded telling gem2deb to build for both the old and the new ruby versions.
phase 2: rebuild/fix
packages get rebuilt/fixed with support for both the old ruby and the new ruby
ideally, what needs to fixed needs 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
ruby-defaults gets uploaded with
* ruby depending on new interpreter main package (rubyX.Y) * ruby-dev depending on new interpreter -dev package (rubyX.Y-dev)
this phase may be done in conjunction with the next one
phase 4: old ruby is disabled
ruby-defaults gets uploaded telling gem2deb to stop building for the old ruby, i.e.
* ruby-all-dev drops dependencies on rubyX.Y/rubyX.Y-dev from old interpreter
this phase may be done in conjunction with the previous one
phase 5: rebuild/fix
packages get rebuilt/fixed to drop support for the old interpreter
phase 6: old ruby gets removed
* remove from testing first * remove from unstable later