New naming schema proposal for reverted upstream release versions

Picking a correct package version number can be quite complicated. The Ubuntu project documentation has a very long page explaining probably all cases.

The Version: Undoing mistakes section says:

In a very rare case where an upgrade to a new upstream version of a package caused major regression and the only way out is rolling back, the convention is to insert +really followed by the actual version number.

Using +really helps undoing a mistake, but what should you do in case you have to undo a second mistake? Imagine you upgraded from 7.80+dfsg1-5 to 7.91+dfsg1-1, but then revert back to 7.80+dfgs1 by using 7.91+dfsg1+really7.80+dfsg1-0ubuntu1. Then you upgrade to 7.91 again using 7.91+dfsg1+really7.91+dfsg1-0ubuntu1. Assume this was a mistake and you have to revert again. You could use 7.91+dfsg1+really7.91+dfsg1+really7.80+dfsg1-0ubuntu1. This is a very long version number and hard to read.

Today I propose to use more than one string besides +really to revert an upstream release version. Let’s use following strings (in alphabetical order):

  • +actually
  • +definitely
  • +for.sure
  • +really
  • +very.definitely
  • +very.very.definitely
  • +what.i.meant

So in case you have to revert multiple times, you can pick the next string in this list. Example: 7.91+dfsg1-17.91+dfsg1+actually7.80+dfsg1-0ubuntu17.91+dfsg1+definitely7.80+dfsg1-0ubuntu17.91+dfsg1+for.sure7.80+dfsg1-0ubuntu17.91+dfsg1+really7.80+dfsg1-0ubuntu1 and so on.

Let’s discuss this proposal before submitting a merge request for the Ubuntu project documentation. Which strings would you use and how many do you need? Are 7 strings enough?

13 Likes

While I’m looking at the date and laughing, I actually love this.

I propose we also add +just.kidding to the list of possible strings.

5.6.1+just.kidding5.4.5-1 has a nice ring to it.

7 Likes

I think that this string can be confusing. Therefore we should only use it for uploads on April 1st!

4 Likes

I forgot to add +but.actually to the list.

1 Like

I’ll be honest, it took me until this line…

Well done.

1 Like

I think a few more sensible options are:

  • +oops.i.did.it.again
  • +fixed.it
  • +this.time.i.promise

and maybe one of my favourites, for especially problematic packages: +here.be.dragons

2 Likes