Kurt M
Kurt M

Reputation: 103

RPM Build Environment For Compatiblity

I'm setting up reproducible build environments for our product using Vagrant and VirtualBox. We are targeting RHEL7, Oracle7 and Ubuntu 14. I have read a few RPM build guides but one thing is not clear to me. Using RHEL6 as an example, say I build an rpm on RHEL 6.4 but want to ensure compatibility with 6.0 and up. Will the generated RPM be compatible with the whole RHEL 6 series or do I need to build on 6.0 to ensure that?

Basically I'm trying to decide if I should have Vagrant update the systems to the latest minor release and packages in my rpm build environments.

Upvotes: 0

Views: 189

Answers (2)

nos
nos

Reputation: 229264

Generally yes, as long as you're only dependent on public interfaces. Determining what a public interface is, isn't all that easy though.

From Red Hat Enterprise Linux: Application Compatibility GUIDE

During the life cycle of a major release, Red Hat makes commercially reasonable efforts to maintain binary compatibility for the core runtime environment across all minor releases and errata advisories.

That's the best guarantee you'll get it seems. Edit: See also Red Hat Enterprise Linux Application Compatibility Policies

During RHEL 5.x and 6.x, we've built many projects whose binaries were run on older minor releases, I've not seen any problems. (Although the binary interface for these applications is minimal, limited to libc/libstdc++ and 3-4 other libraries - and a few python programs)

(As a side note if you're building kernel modules, the kernel provides no ABI guarantee and may change between minor releases.)

Upvotes: 1

Etan Reisner
Etan Reisner

Reputation: 81022

I'd always operated under the assumption that the compatibility guarantee was from anywhere in the series to anywhere in the series but I've seen at least one instance where that was broken (I don't know if that was accidental or not though).

So, for safety, I would probably suggest using the oldest revision of the series that you officially want to support.

Upvotes: 0

Related Questions