我有一个包含我要使用的绝对路径的补丁。即前几行如下。
--- /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml 2014-10-10 18:47:23.000000000 +1100
+++ /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod 2014-11-11 09:44:17.786200477 +1100
但是,除非我在根目录中,否则它将失败。
~$ cd
~$ sudo patch -i /tmp/fix_kde_icons.patch -p0
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
...
~$ cd /tmp
/tmp$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/tmp$ cd /usr
/usr$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/usr$ cd /
/$ sudo patch -i /tmp/fix_kde_icons.patch -p0
patching file /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml
有没有办法在patch
任何工作目录中使用绝对路径?
我会自己编辑补丁。
—
Braiam 2014年
@Braiam我将对补丁进行哪些具体编辑?我基本上想知道是否可以避免在
—
Sparhawk
patch
命令中指定任何目标路径。
请提供一些背景信息。您是否正在尝试将此补丁应用于正在运行的系统?如果是这样,为什么?您的发行版/操作系统是什么?该补丁有什么作用?它看起来像是KDE的补丁。什么成分?通常,如果您的发行版没有为您应用补丁程序,则应从应用了补丁程序的源代码中重建相关的软件包。您可以修剪路径的前导部分。那不应该是问题。修剪多少取决于光源的外观。
—
Faheem Mitha 2014年