首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rpm模拟-复杂的rpm大楼

rpm模拟-复杂的rpm大楼
EN

Unix & Linux用户
提问于 2018-04-03 15:27:44
回答 1查看 1.8K关注 0票数 1

让我说,我想做一个RPM,它使用自己的OpenSSL提供一个Apache服务器:

代码语言:javascript
复制
/mydir/apache_postfix1
/mydir/openssl_postfix1

由于Apache mod_ssl需要真正的OpenSSL安装,所以我必须使用configure --prefix=/mydir/opensslmakemake install OpenSSL到/mydir/openssl,这样Apachewithmod_ssl才能真正使用configure --with-ssl=/mydir/openssl进行编译。

在构建服务器(Jenkins)上,在其作业目录之外的任何内容上都没有权限,这是不可想象的。但是,我需要用OpenSSL构建Apache并将其打包到一个RPM中(交付固定的多个Apache,每个都有自己的OpenSSL)。

因此,我认为mock是解决方案(它更有可能安装在构建服务器上,而不是获得任何用户/安装权限)。

但是,我还没有找到完整的文档,说明如何使用mock来使用rpmbuild完整的功能。

我试过mock -r epel-7-x68_64 example.src.rpm,但它正在寻找/builddir/build/SPECS/example.spec,所以失败了.为什么?它从哪里得到这份文件的?

这只是一个例子,真正的问题由7个独立的软件包组成,它们应该相互配置/编译,这样它们就像一个单一的服务.并打包成一个RPM,供红帽卫星传送到>200台服务器上.没有在构建服务器上实际安装它们..。

任何帮助或链接到可用的文档/示例都是非常值得赞赏的!

EN

回答 1

Unix & Linux用户

发布于 2018-04-04 04:03:41

最好的文档来源将是模拟源代码官方rpm文档rpm包装指南以及任何其他推荐的文档。至于您发布的示例,您的example.src.rpm包似乎没有一个合适的规范文件在正确的位置使用。

模拟将接受一个src.rpm文件的输入来重建,或者您可以使用一个规范文件和源文件目录来构建一个源rpm (SRPM)。有了一些额外的配置,您甚至可以在源代码签出时直接使用模拟。一旦安装了模拟并配置为使用它的用户(如果尝试将其用作root用户,则非特权用户需要在模拟组中),使用起来非常简单:

代码语言:javascript
复制
yumdownloader --source openssl
mkdir rpm-results
mock -r epel-7-x68_64 --resultdir=rpm-results openssl-*.src.rpm

这将重建提供OpenSSL的发行版,并将结果包放置在rpm-结果dir中。要对发行版提供的包进行更改,您可能需要安装src.rpm,进行更改,然后构建生成的rpm文件:

代码语言:javascript
复制
yumdownloader --source openssl
rpm -ivh openssl-*.src.rpm
# usually this installs to ~/rpmbuild
# make your changes to ~/rpmbuild/SOURCES/* and ~/rpmbuild/SPEC/openssl.spec as necesary
mkdir rpm-results
mock -r epel-7-x68_64 --resultdir=rpm-results --buildsrpm ~/rpmbuild/SPEC/openssl.spec
mock -r epel-7-x68_64 --resultdir=rpm-results rpm-results/openssl-*.src.rpm

我不确定较新的版本是否不需要两个步骤构建(SRPM => RPM),但这就是我们在我的店里使用模拟的方式。您可能希望/需要对您试图重建的每个包执行此操作。我不建议像你要求的那样把所有的东西打包到一个包里,但是技术上没有什么能阻止你这样做。您只需要使您自己的规范文件将所有内容组合在一起,或者使用不同的工具,如FPM

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/435311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档