20

我有一个 RPM 文件。我必须对该 RPM 进行一些更改,重新打包并测试。谁能帮我?

4

2 回答 2

18

修改您没有源代码的 RPM 的最佳方法是按照以下步骤操作:

  1. 使用rpm2cpio命令将 rpm 解压到一个目录中
  2. 在该子目录中进行必要的更改
  3. 制作一个“虚拟”规范文件并构建它。

该虚拟规范文件可能如下所示:

Name: blah
Version: 1.0
Release: 1
Summary: blah
License: blah
Distribution: blah
Group: blah
Packager: me
BuildRoot: /path/to/dir/with/mods

%description
blah

%files
/path/to/dir/with/mods/*

将此处的每个“废话”替换为实际值(用于获取值)。将 BuildRoot 替换为您已解包修改后的 rpm 的目录。然后运行。rpm -qpi rpm filerpmbuild -bb dummy.spec

由于没有定义 prep/setup/build/install 步骤,它只会采用 buildroot 中的内容并制作 RPM。

如果 rpm 包有脚本文件,您还必须将它们放在这个虚拟规范文件中。要查看包是否有任何脚本,请运行:。依赖项、先决条件等也是如此。rpm -qp --scripts rpm file

我可能还缺少其他细节,但这应该足以让您入门。

更新:对于它的价值,还有http://rpmrebuild.sourceforge.net/

于 2011-06-23T22:19:15.370 回答
0

我认为这是一个叫做补丁的概念。我开始使用此链接修补第一个 srpm 。但基本思想是,获取 srpm,安装 srpm,在该构建区域目录中创建补丁,并在规范文件中指定补丁文件 %patch0 -p1。然后进行 rpm 构建。快乐修补!

于 2011-06-15T08:12:23.543 回答