[CentOS-devel] Confusing package versioning

Wed May 4 13:35:47 UTC 2011
Ned Slider <ned at unixmail.co.uk>

Hi Johnny et al.,

I'd like to raise a query relating to recent package versioning.

For example, CentOS recently released the following updates:

httpd-2.2.3-45.el5.centos.1.src.rpm
selinux-policy-2.4.6-300.el5_6.1.src.rpm

relating to the upstream packages:

httpd-2.2.3-45.el5_6.1.src.rpm
selinux-policy-2.4.6-300.el5_6.1.src.rpm

which IMHO is confusing.

In the case of selinux-policy (and others) CentOS rigorously follows the 
upstream versioning, yet for httpd the versioning is different.

Firstly, IMHO it is difficult to establish that the two (httpd) packages 
are indeed the same, and secondly, one wonders how CentOS might handle 
the notional upstream release of httpd-2.2.3-45.el5_7.1.src.rpm, for 
example.

Where it is necessary to append the centos tag, I would assume it would 
be preferable to do it at the end of the existing release string thus 
preserving the upstream notation.

For example,

httpd-2.2.3-45.el5_6.1.centos.src.rpm

I realise it's not easy when upstream do things like this:

Release: 45%{?dist}.1

but at the very least it would be nice if you could set %{dist} to 
el5_6.centos in this case which would be a closer match to upstream

As it stands, it looks like the centos.1 was appended by CentOS and the 
original upstream package was httpd-2.2.3-45.el5.src.rpm which clearly 
isn't the case.

In such cases, would editing the SPEC file release line be the lesser of 
two evils?