У мене патч з абсолютними шляхами, який я хочу використовувати. тобто перші кілька рядків наступні.
--- /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 Які конкретні зміни я б внесла до патчу? Мені в основному цікаво, чи можу я уникнути необхідності вказувати будь-які цільові шляхи в
—
Sparhawk
patch
команді.
Будь-який контекст, будь ласка. Ви намагаєтесь застосувати цей патч до запущеної системи? Якщо так, то чому? Який розподіл / ОС? Що робить цей пластир? Це схоже на виправлення для KDE. Який компонент? Загалом, якщо ваш дистрибутив не застосовує для вас патч, вам слід відновити відповідний пакет із джерела із застосованим патчем. І ви можете обрізати провідну частину шляху. Це не повинно бути проблемою. Скільки ви обрізаєте, залежить від того, як виглядає джерело.
—
Faheem Mitha
@FaheemMitha Так, працює з Arch / KDE. Це виправити цю помилку . Виправлення працює, якщо я вручну застосую зміни. Однак я не думаю, що в цьому випадку контекст має велике значення, тому що я можу повторити цю проблему з тестовим файлом в
—
Sparhawk
/tmp/foo
. Мене більше цікавить загальна відповідь, яка стосується patch
.