Как создать и поддерживать патч в пакете Debian?

7

Я хочу запланировать пакет Trac. Я знаю, как исправлять и восстанавливать пакет, но есть некоторые вещи, которые я не очень хорошо понимаю.

Мой патч является чем-то опасным и вряд ли вернется к сообществу. Итак, позвольте мне сказать, это очень частный патч. Но я хочу, чтобы мой патч продолжал работать, когда пакеты Ubuntu обновляются. (Должен ли я apt-get source trac и перенести мой патч в новую версию исходного каталога каждый раз при обновлении Trac ?)

Я вижу, что есть каталог patch/ (многие используют quilt , я думаю) в debian/ , но я не знаю, как его использовать? Будет ли debuild автоматически применять все патчи в каталоге patch/ ? А как насчет dpkg-buildpackage ? Существуют ли какие-либо переменные окружения для управления выбором патчей?     

задан Xiè Jìléi 28.12.2010 в 04:27
источник

2 ответа

5

Прочитайте раздел Патчи в пакеты в Руководство по упаковке , чтобы лучше понять, как это работает, вы должны прочитать весь справочник.

    
ответ дан João Pinto 28.12.2010 в 09:55
источник
1

Даже если это старый вопрос, это актуально. Поэтому я хотел бы добавить к нему последнюю информацию. Другой ответ прямо ссылается на руководство, тогда как было бы полезно точно указать необходимую информацию.

Из упомянутого руководства соответствующая часть

  

8,4. Обновление до новых версий Upstream

     

Чтобы перейти на новую версию, вы можете использовать команду bzr merge-upstream

Но это Ubuntu-specific.

В качестве альтернативы можно использовать apt-src . Руководство говорит:

  

-p, --patch

     

Попробуйте исправить локальные изменения в новом исходном дереве при обновлении. О      

по умолчанию, используйте --no-p для отключения. Элемент конфигурации:

     

APT :: Src :: Patch.

Для этого вам нужно установить apt-src , например sudo apt-get install apt-src .

Другая возможность - использовать quilt . Выдержка из параграфа «5.26. Патчи / *» из руководства Debian New Maintainers ' следует:

  

Когда кто-то (включая себя) предоставляет исправление foo.patch к источнику позже, изменение исходного пакета 3.0 (одеяло) довольно просто:

     

$ dpkg-source -x gentoo_0.9.12.dsc

     

$ cd gentoo-0.9.12

     

$ dquilt import ../ foo.patch

     

$ dquilt push

     

$ dquilt refresh

     

$ dquilt header -e

     

... описать патч

    
ответ дан PF4Public 23.03.2016 в 22:39