2016-02-01 165 views
1

我想为Oracle Linux的发行版构建OpenCV的RPM。我一直在阅读各种指南,以使一个RPM(见http://www.ibm.com/developerworks/library/l-rpm1/),并从Fedora's documentation,我阅读以下内容:RPM是否需要编译阶段?

为您配置RPM的RPM系统将自动步骤来创建一个应用程序,如 长并采取适当的步骤,例如哪些 使目标运行。不幸的是,配置适当的步骤并不总是很容易。因此,在尝试创建RPM之前,您需要计算出 了解如何构建您计划打包到 RPM中的应用程序或库。一旦你已经想出了如何构建应用程序或库,你可以设置一个可重复的构建。 RPM系统然后可以 自动化这个构建。

从这里我可以看出,RPM不会安装预构建的库和二进制文件,而是从源代码构建它们。然而,我的经验告诉我,当我下载软件包时,我只是安装预先编译的二进制文件。它是否正确?

回答

1

有两个不同的事情。您可以使用应用程序打包应用程序

rpm system using a spec file 

spec文件是用于创建应用程序的配方。一旦你有一个规格文件。您可以使用它生成一个src rpm或二进制rpm。二进制转速是您所指的转速。

spec文件指定如何构建/打包您的rpm。我们使用rpmbuild命令来构建rpm。

现在您可以使用rpm命令来安装/卸载/升级rpm软件包。

请不要转,包和RPM系统,发动机负责建设的rpm

+0

那么多空,你使用的rpmbuild作出RPM,可以是一个自包含的组合之间的混淆库和二进制文件,然后用户可以使用rpm/yum将其安装到他们的系统上。正确? – blackirishman

+0

正确推导出 – dlmeetei

+0

你称之为rpm系统叫做rpmbuild。那里没有混乱。 – Bruno9779