[scl.org] How we've fixed upgrade path for CentOS 6 Software Collections

Honza Horak hhorak at redhat.com
Mon Nov 23 07:02:33 UTC 2015


Short meesage for those who don't have time:
Software Collections builds for CentOS 6 will be soon ready for smooth 
upgrade from older rebuilds.

Now full story for those who care:
Shortly after first RHSCL 1.0 release, CentOS rebuilds were prepared and 
since then they are available under:
http://mirror.centos.org/centos/6/SCL/x86_64/

However, keeping these rebuilds in sync with RHSCL content hasn't been 
easy task. With introduction of Java packages in collections, this task 
became even more tricky, which means these collections were not updated 
for long time. With that said, someone would expect there won't be 
problem with upgrade path, in other words that the new RPMs, that the 
SCLo SIG group is about to release, will update the older RPMs smoothly.

Well, not always. The original RPMs used ".el6.centos.alt" as %dist tag, 
while new builds use just ".el6" and that evolves in cases where 
python27-python-bson-2.5.2-4.el6.centos.alt.x86_64 > 
python27-python-bson-2.5.2-4.el6.x86_64, even if those packages have 
same Release tag in RPM SPEC. That obviously means the packages won't 
update smoothly.

Solution is quite simple in this case -- use higher Release in RPM SPEC. 
In some packages, this was already done, because some of the packages 
received update since original inclusion. In other cases we solve it by 
adding ".scX" (X is number) suffix to the Release tag. The ".scX" was 
chosen deliberately since ".scX.el6" is higher (alphabetically) than .el6.

Btw. for cases we need to build package more times before final build 
(bootstraping), we use suffix ".bsX", which means we can build package 
without any Release suffix in the end, because ".bsX.el6" < ".el6".

Anyway, this whole mail was meant to let you know that upgrading of el6 
packages from originally built RPMs is something we care about.

To verify it works, I've installed all the packages from original 
repository, then ran "yum update" and that evolved in proper update of 
all packages. I took that as proof it should work fine in your case as 
well. If there are still some issues, let us know.

This story was also shared at 
http://www.themindiseverything.eu/2015/11/how-weve-fixed-upgrade-path-for-centos.html.

Honza
SCLo SIG member




More information about the SCLorg mailing list