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

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

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

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

7
задан 28 December 2010 в 07:52

2 ответа

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

0
ответ дан 28 December 2010 в 07:52

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

Из упомянутого руководства релевантной части является

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

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

Но это зависит от Ubuntu.

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

-p, --patch

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

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

APT :: Src :: Patch.

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

Другой возможностью является использование quilt. Выдержка из параграфа «5.26. Patches / *» из Руководства для новых сопровождающих Debian :

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

$ dpkg-source -x gentoo_0.9.12.dsc

$ cd gentoo-0.9.12

$ dquilt import ../foo.patch

$ dquilt push

$ dquilt refresh

$ dquilt header -e

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

0
ответ дан 28 December 2010 в 07:52

Другие вопросы по тегам:

Похожие вопросы: