RPM 和补丁

RPM 和补丁

我有 3 个文件(来自这里)我已被允许安装以尝试升级编译器:

binutils-2.13.2.1-1.mipsel.rpm
binutils-2.13.2.1-1.src.rpm
binutils-2.13.2.1-r5900-7.diff.gz

我对此有点摸索。

我所做的是:

rpm -i mipsel -vv
rpm -i src -vv

我不知道该怎么处理.diff.gz我知道这是一个补丁,但真的不知道如何处理它。

答案1

COPYING更改到顶级源目录(包含文件等的目录bfd)并应用补丁:

zcat ../binutils-2.13.2.1-r5900-7.diff.gz | patch -p1

在应用补丁时,您几乎总是需要传递或-p0-p1该数字是从补丁中的文件名中删除的路径组件的数量。检查补丁的前几行。在这里,它们是

diff -urN binutils-2.13.2.1.orig/ChangeLog.PS2 binutils-2.13.2.1/ChangeLog.PS2
--- binutils-2.13.2.1.orig/ChangeLog.PS2        1969-12-31 18:00:00.000000000 -0
+++ binutils-2.13.2.1/ChangeLog.PS2     2003-01-20 17:48:29.000000000 -0600

由于所有路径都有一个前导目录,因此您需要传递-p1.如果第一行类似于diff -urN ../binutils-2.13.2.1.orig/ChangeLog.PS2 ChangeLog.PS2or diff -urN ChangeLog.PS2.orig ChangeLog.PS2,您可以使用-p0.

应用补丁后,运行rpmbuild -bb以构建新的二进制包。

相关内容