[CentOS] How to encourage maintainers to update their software

Johnny Hughes johnny at centos.org
Sun Oct 29 15:21:35 UTC 2017


On 10/29/2017 08:40 AM, vychytraly . wrote:
> Frank please could you explain how to create rpms for el7 from fedora
> src.rpms?
>

Well, I am not Frank, but you download the SRPM (I use wget) and put it
into a directory.

Then you extract it .. there are many ways to do that .. I do this:

rpm -Uvh --define "_topdir $(pwd)" --nodeps <srpm.name>

Then you have an exploded SRPM with a SPECS/ and SOURCES/ directory.
You then need to edit the SPECS/<name>.spec file and verify each line in
the spec file will work with EL7 instead of fc25 (or whatever version of
Fedora you got the SRPM from).  This includes but is not limited to
knowing the differences in the rpm macros between that version of
Fedora's rpmbuild and CentOS 7's rpmbuild .. what the versions of shared
libraries (or other dependencies like python, etc.) are for that version
of Fedora and CentOS 7 .. which one of those shared dependencies are
required or can be degraded in version to the ones in CentOS 7.

Basically, the SRPMs from Fedora 18 generally had all the required
dependencies for RHEL / CentOS for the 7.0 release cycle source code ..
BUT with rebases in every point release since the 7.0 cycle,, that is no
longer true.  Now some components (like Gnome) have very newer
dependencies while others still have the dependencies from Fedora 18.

Fedora 18 stopped getting updates and went EOL on 2014-01-14 .. any
packages that you build based on those SRPMs need to get a new source
code stream so that you can continue to get security fixes .. or you
have to take the newer source code and backport the changes to the
Fedora 18 based SRPMS .. or you have to get newer versions of the
package and build it against the current CentOS 7 provided shared
dependencies, upgrading any dependencies that are too old.  THEN you
have to rebuild any other packages in CentOS that used the older
dependencies from CentOS 7 that you just upgraded.  THEN you need to
maintain not only the package that you wanted to build the way that you
just did .. now you also need to maintain all those dependencies that
way .. AND .. you need to maintain all of the new CentOS packages that
you had to rebuild based on those dependencies in the same way.  That
could mean that to add one thing, you now need to maintain 20 packages.

And if you are taking things from Fedora 25 (as an example) to CentOS 7,
you need to be concerned about things like .. a different location for
kernel install tools .. a different major version of python (python2 vs
python3) .. a majorly different version of GNOME and KDE, differences in
samba, in NFS, etc. etc.

Again, that is why Red Hat has thousands of engineers to maintain the
Enterprise Linux sources.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20171029/644f2de4/attachment.sig>


More information about the CentOS mailing list