Compatibility RPM构建兼容环境

Compatibility RPM构建兼容环境,compatibility,rpm,Compatibility,Rpm,我正在使用Vagrant和VirtualBox为我们的产品建立可复制的构建环境。我们的目标是RHEL7、Oracle7和Ubuntu14。我已经阅读了一些RPM构建指南,但有一件事我并不清楚。以RHEL6为例,假设我在RHEL6.4上构建了一个rpm,但希望确保与6.0及更高版本的兼容性。生成的RPM是否与整个RHEL 6系列兼容,或者我是否需要在6.0上构建以确保这一点 基本上,我正在尝试决定是否让Vagrant在我的rpm构建环境中将系统更新为最新的次要版本和软件包。我一直假设兼容性保证是从

我正在使用Vagrant和VirtualBox为我们的产品建立可复制的构建环境。我们的目标是RHEL7、Oracle7和Ubuntu14。我已经阅读了一些RPM构建指南,但有一件事我并不清楚。以RHEL6为例,假设我在RHEL6.4上构建了一个rpm,但希望确保与6.0及更高版本的兼容性。生成的RPM是否与整个RHEL 6系列兼容,或者我是否需要在6.0上构建以确保这一点


基本上,我正在尝试决定是否让Vagrant在我的rpm构建环境中将系统更新为最新的次要版本和软件包。

我一直假设兼容性保证是从系列中的任何地方到系列中的任何地方,但我至少看到过一个实例出现了问题(我不知道这是不是偶然的)


因此,为了安全起见,我可能会建议您使用您官方想要支持的最旧版本。

通常是的,只要您只依赖于公共接口。但确定公共接口是什么并不容易

在主要版本的生命周期内,Red Hat会进行商业化生产 为保持内核的二进制兼容性所做的合理努力 所有次要版本和勘误表公告的运行时环境

这似乎是你能得到的最好保证

在RHEL 5.x和6.x期间,我们构建了许多项目,其二进制文件在较旧的次要版本上运行, 我没有看到任何问题。(尽管这些应用程序的二进制接口非常小,仅限于libc/libstdc++和3-4个其他库,以及一些python程序)

(如果您正在构建内核模块,那么需要注意的是,内核不提供ABI保证,并且可能在小版本之间发生变化。)