Re: Backwards compatibility of the RPM format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 10/2/18 1:10 PM, Avi Kivity wrote:
Hi, I'm considering moving from mock to rpmbuild, since simplifications in my build process now allow it and rpmbuild is generally faster.

A possible problem is incompatible changes in the format. If I build on Fedora 28+, will the resulting RPM be installable on RHEL? The RPM is self-contained and has no dependencies.

Depends on which RHEL, and all the other funny little details.

With a truly self-contained package without external dependencies it should be possible to build packages that can be installed on RHEL 3 even, but it'll require some tweaking.

 - are the file formats compatible, and will they continue to be compatible? I know that compression algorithms have changed, but perhaps they were backported (or happened early enough to be included in RHEL)

The fundamental file format is basically unchanged, but like you note compression algorithms can differ. Impossible to say anything specific about comptibility without exact versions, but even if the older version doesn't support compressor X you can always just configure it to use good old gzip compression.

The rpm mechanism for dealing with incompatibilities is rpmlib() dependencies, which will prevent installation on a version that does not support the features a particular package requires. If such a feature gets backported, the same package will become installable.

 - are there flags I can specify to tell rpmbuild to restrict itself to an older feature set?

Not quite like that, but once you know what you're targetting you can configure many things to compatible level. For some other features you might need to create spec conditionals.

 - is this a supported practice, or do you recommend against for future-proofing?

Rpm goes to quite some lengths in the name of compatibility, BUT for best results, build on the target distro. That way any incompatibilities will be caught at build-time instead of install time, fewer hairy details to sort out and so on.

	- Panu -
Rpm-list mailing list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux