我想重新制作没有srpm的rpm包

时间:2017-01-05 09:31:11

标签: compilation rpm rpmbuild rpm-spec

  1. 目标

    我有一个rpm包,但是我想在rpm中替换几个文件,然后再换一个rpm。

  2. 化背景

    我无法找到某个软件的srpm。我可以下载的是rpm包。

  3. 操作

    一个。我通过rpmrebuild --package --notest-install -sxxx.spec xxx.rpm

    从rpm获得了spec文件

    湾我通过rpm2cpio pkgname | cpio -ivd

    获取了rpm中的所有文件

    ℃。我将上面的文件复制到〜/ rpmbuild / SOURCE,并将xxx.spec复制到〜/ rpmbuild / SPECS

    d。我做了rpmbuild -bb xxx.spec,但我发现每个文件都有File not found:

  4. 问题

    我不知道如何解决这个问题。我应该从rpm2cpio pkgname | cpio -ivd制作文件的tarball,然后去修改spec文件吗?

    或者我必须首先安装rpm,然后尝试运行rpmrebuild来创建新的rpm?

    非常感谢我想知道解决这个问题的传统方法。

1 个答案:

答案 0 :(得分:0)

您需要打开该规范并使其适应所需的文件。 spec文件本身可以解答您的大部分问题:

  • Source标记会告诉您所需的源文件及其名称。

  • %files部分会告诉您在构建之后的rpm 中预期会有哪些文件。

我建议您打开另一个问题并发布规范文件和您提取的文件列表rpm2cpio