LINUX.ORG.RU

cd /usr/src/program_name

patch -p1 < /path/to/patch.diff

K48 ★★★★
()

И еще один вариант. Я его часто использую. У него два плюса: не нужно копировать патч и не нужно его распаковывать, так как не секрет, что патчи часто бывают заархивированы.


// Вариант с ядром, раз уж тут начали про него ;-)

cd /usr/src/kernel
bzcat /path/to/patch.bz2 | patch -p1

Можно и так:

cd /usr/src
bzcat /path/to/patch.bz2 | patch -p0

Но второй вариант работает не всегда. Он не будет работать, если, к примеру, вы хотите наложить патч для ядра 2.6.9 на ядро 2.6.10 Т.е. патч-то может быть и без проблем "встанет", но diff будет искать именно каталог linux-2.6.9 Вообщем, второй вариант -- так, для общего образования. Лучше использовать первый... Всегда работает :)

php-coder ★★★★★
()
Ответ на: комментарий от anonymous

Почитай man patch, там интересные вещи пишут, типа:

       -pnum  or  --strip=num
          Strip the smallest prefix containing num leading slashes from each file name found in the patch file.   A
          sequence  of  one  or  more  adjacent slashes is counted as a single slash.  This controls how file names
          found in the patch file are treated, in case you keep your files in a different directory than the person
          who sent out the patch.  For example, supposing the file name in the patch file was

             /u/howard/src/blurfl/blurfl.c

          setting -p0 gives the entire file name unmodified, -p1 gives

             u/howard/src/blurfl/blurfl.c

          without the leading slash, -p4 gives

             blurfl/blurfl.c

          and  not  specifying -p at all just gives you blurfl.c.  Whatever you end up with is looked for either in
          the current directory, or the directory specified by the -d option.

K48 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.