GNU/Linux >> Linux Esercitazione >  >> Linux

Come applicare una patch -p0 da qualsiasi directory di lavoro?

Ho una patch con percorsi assoluti che desidero utilizzare. cioè le prime righe sono le seguenti.

--- /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

Tuttavia, fallisce a meno che non sia nella directory principale.

~$ 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

C'è un modo per creare patch utilizzare il percorso assoluto con qualsiasi directory di lavoro?

Risposta accettata:

Osservando il codice sorgente della patch GNU, questo comportamento è integrato dalla versione 2.7. A partire dalla patch GNU 2.7.1, solo i percorsi relativi che non contengono .. sono accettati, a meno che la directory corrente non sia la directory principale.

Per applicare una patch contenente percorsi assoluti, puoi usare

(cd / && sudo patch -p0) <foo.patch

Nelle versioni recenti della patch GNU, puoi semplicemente

sudo patch -d/ -p0 <foo.patch

Linux
  1. Come aggiornare Zabbix da 3.4 a 4.0 su Ubuntu 18.04:facile e veloce

  2. Come imposto la directory di lavoro del processo genitore?

  3. Come verificare se smtp funziona dalla riga di comando (Linux)

  4. Come eseguire uno script .sh da qualsiasi percorso in un terminale?

  5. Come posso escludere una directory dal comando ls

Come creare un video da immagini in Linux

Come stampare la directory di lavoro usando il comando pwd di Linux?

Come aggiornare a Debian 11 da Debian 10

Come aggiungere una directory virtuale da SolidCP?

Come aggiungere una directory virtuale da WebsitePanel 2.1?

Come migrare la directory HOME su Linux