在现有RPM中添加新文件

时间:2015-04-17 20:45:07

标签: linux redhat rpm rpmbuild rpm-spec

我正在修改gnome-shell-3.8.xx.rpm包。我已经为rpm创建了几个补丁,它们运行正常。 现在我想在rpm中添加新的源文件,但我无法找到如何做到这一点?

对于我遵循以下方法的补丁:

  1. 下载源rpm。
  2. 安装rpm,创建BUILD,BUILDROOT,RPMS,SOURCES SPECES SRPMS目录。
  3. 在SOURCES目录中复制我的补丁。
  4. 修改SPEC文件以包含我的补丁
  5. 使用rpmbuild -bb SPEC / spec_file命令创建新包。

1 个答案:

答案 0 :(得分:3)

删除你想要包含的补丁或任何其他文件(RPM)将它们全部放入SOURCE目录

 ../SOURCES/package-1.0-my.patch
 ../SOURCES/service.init

添加SPEC文件

Source1:  service.init
Patch0: package-1.0-my.patch

添加%pre部分:

%prep
%setup ...
%patch0 -p1
...
...
install -p -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/service.init

构建RPM:

rpmbuild -ba ../SPEC/package.spec

注意:以上Source1示例您可以使用文件名而不是service.init并更改路径以安装特定位置