Differences between revisions 1 and 2
Revision 1 as of 2015-07-22 02:08:58
Size: 1308
Comment:
Revision 2 as of 2015-07-22 06:21:04
Size: 1313
Editor: PaulWise
Comment: formatting
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
* ruby depending on new interpreter main package (rubyX.Y)
* ruby-dev depending on new interpreter -dev package (rubyX.Y-dev)
 * ruby depending on new interpreter main package (rubyX.Y)
 * ruby-dev depending on new interpreter -dev package (rubyX.Y-dev)
Line 34: Line 34:
* ruby-all-dev drops dependencies on rubyX.Y/rubyX.Y-dev from old interpreter  * ruby-all-dev drops dependencies on rubyX.Y/rubyX.Y-dev from old interpreter
Line 44: Line 44:
* remove from testing first
* remove from unstable later
 * remove from testing first
 * remove from unstable later

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