Re: pg12b1 and version sorting - Mailing list pgsql-pkg-yum

From Justin Pryzby
Subject Re: pg12b1 and version sorting
Date
Msg-id 20200409165601.GQ2228@telsasoft.com
Whole thread Raw
In response to Re: pg12b1 and version sorting  (Devrim Gündüz <devrim@gunduz.org>)
List 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@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
thepackage. Prerelease versions MUST use a Release: tag strictly less than 1, as this is the sole indicator that a
prereleasehas 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



pgsql-pkg-yum by date:

Previous
From: Jesper St John
Date:
Subject: Missing package: pgbackrest in the repos
Next
From: Devrim Gündüz
Date:
Subject: Re: Missing package: pgbackrest in the repos