Linux 解包RPM文件并重新打包
我有一个RPM文件。我必须对RPM进行一些更改,重新打包并进行测试。有人能帮我吗?我想这是一个叫做补丁的概念。我开始用这个来修补第一个srpm。但基本思想是,获取srpm,安装srpm,在构建区域目录中创建补丁,并在规范文件中指定补丁文件%patch0-p1。然后进行rpm构建。打补丁快乐 修改没有源代码的RPM的最佳方法是遵循以下步骤:Linux 解包RPM文件并重新打包,linux,solaris,rpmbuild,Linux,Solaris,Rpmbuild,我有一个RPM文件。我必须对RPM进行一些更改,重新打包并进行测试。有人能帮我吗?我想这是一个叫做补丁的概念。我开始用这个来修补第一个srpm。但基本思想是,获取srpm,安装srpm,在构建区域目录中创建补丁,并在规范文件中指定补丁文件%patch0-p1。然后进行rpm构建。打补丁快乐 修改没有源代码的RPM的最佳方法是遵循以下步骤: 使用rpm2cpio命令将rpm解压到一个目录中 在该子目录内进行必要的更改 制作一个“虚拟”等级库文件并构建它 该虚拟规范文件可能如下所示: Name: b
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/*
将此处的所有“废话”替换为实际值(使用rpm-qpirpm文件
获取值)。将BuildRoot替换到已修改rpm展开的目录。然后运行rpmbuild-bb dummy.spec
因为没有定义准备/设置/构建/安装步骤,所以它只需要获取buildroot中的内容并生成RPM
如果rpm包中有脚本文件,那么还必须将它们放在这个虚拟规范文件中。要查看包中是否有脚本,请运行:rpm-qp--scriptsrpm文件
。依赖项、prereq等也是如此
我可能还遗漏了其他细节,但这应该足以让你开始
更新:值得一提的是,我面临的主要问题是我没有RPM源。我只是有RPM构建,然后找到源RPM?只有SRPM之所以存在,这是合乎逻辑的,因为在修补时,我们需要源RPM而不是内置RMP。我可以知道rpm的名字吗?这是一个合适的应用程序构建rpm。Jsut希望确保在没有SRPMaha的情况下根本不可能编辑RPM。另一个问题。如果您想保护rpm的完整性,可能应该签署rpm包。您可能可以阅读rpmrebuild的此链接。如果不指定/修改
rpmbuild
的BUILDROOT
设置,则此链接无效。我认为%文件
应该与BUILDROOT
相关。