Re: pg12b1 and version sorting

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Devrim Gündüz <devrim(at)gunduz(dot)org>
Cc: pgsql-pkg-yum(at)postgresql(dot)org
Subject: Re: pg12b1 and version sorting
Date: 2020-04-09 16:56:01
Message-ID: 20200409165601.GQ2228@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pkg-yum

On Thu, 2019-05-23 at 09:55 -0500, Justin Pryzby wrote:
> > I'm wondering how versioning on PGDG RPMs is intended to work.
> > Yum seems to thinks that the "nightly builds" are of higher version number
> > than beta.
> > [pryzbyj(at)dev ~]$ yum list --enablerepo='pgdg12-updates-testing' --showdu postgresql12
> > Installed Packages postgresql12.x86_64 12.0-1devel_20190502_1PGDG.rhel7 @pgdg12-updates-testing
> > Available Packages postgresql12.x86_64 12beta1-1PGDG.rhel7 pgdg12-updates-testing

On Thu, Jun 06, 2019 at 11:15:58AM +0100, Devrim Gündüz wrote:
> Oops, I did it again :-( Let's review this once we start releasing 13 devel
> RPMs after summer.

On Thu, Apr 09, 2020 at 12:24:29AM +0100, Devrim Gündüz wrote:
> On Wed, 2020-04-08 at 10:47 -0500, Justin Pryzby wrote:
> > A reminder about this.
> > The versions should sort like:
> >
> > nightly build < beta < rc < released
>
> Can you please send a patch?

I'm sorry, but I don't know anything about building RPMs.

When I mentioned last year, it looked like:
> > postgresql12.x86_64 12.0-1devel_20190502_1PGDG.rhel7 @pgdg12-updates-testing
> > postgresql12.x86_64 12beta1-1PGDG.rhel7 pgdg12-updates-testing

That's an issue since "12" sorts lower than "12beta1", which means that the
devel => beta upgrade didn't work correctly (I don't remember, but that maybe
also broke the beta/rc => 13.0 release upgrade).

The curent package looks like:
postgresql13.x86_64 13.0-20200407_devel_1PGDG.rhel7 @pgdg13-updates-testing

I think that will be an issue again when you release beta1, unless you name it
something weird like 20200601beta1.

I found:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
|Prerelease versions
|In the Version: tag, use the version that upstream has determined the next release will be. For the field of the Release: tag, use a number of the form "0.N" where N is an integer beginning with 1 and increasing for each revision of the package. Prerelease versions MUST use a Release: tag strictly less than 1, as this is the sole indicator that a prerelease has been packaged.

So I *think* the devel release should be called something like this with a
leading "0.0":

postgresql13-13.0.0.20200407git[...]

And then beta1 can use a leading "0.1" or (according to that doc) "~":
postgresql13-13.0.1.beta1
postgresql13-13.0~beta1

"r" follows "b" so "rc" will work right using the same convention.
postgresql13-13.0.1.rc1
postgresql13-13.0~rc1

And then I think it's finally released as:
postgresql13-13.0 (here, the "release tag" is 1):

--
Justin

In response to

Browse pgsql-pkg-yum by date

  From Date Subject
Next Message Devrim Gündüz 2020-04-10 00:04:54 Re: Missing package: pgbackrest in the repos
Previous Message Jesper St John 2020-04-09 08:44:08 Missing package: pgbackrest in the repos