Восстановить пакет из исходного кода?

Я пытаюсь пересобрать пакет (в частности, grub2), чтобы устранить некоторые ошибки, которые были исправлены в восходящем потоке, но не исправлены в Ubuntu, и чтобы пакет должным образом интегрировался в Ubuntu. Пакет размещен в bzr на Launchpad и GNU Savannah.

Как преобразовать «сырой» исходный пакет исходных текстов в версию «Ubuntu» и перекомпилировать / переупаковать его? Я понял, что могу получить последнюю версию исходного кода пакета Ubuntu с apt-get source, но есть существенные отличия от исходной версии. Какой лучший курс действий здесь?

6
задан 13 November 2011 в 10:59

3 ответа

Может случиться так, что версия Grub, которая упакована в Ubuntu, старше, чем та, что в предыдущей ветке Grub.

В ветке Ubuntu также будет каталог «debian /», содержащий метаданные Debian / Ubuntu для пакета и, возможно, некоторые патчи с бэкпортами исправлений ошибок или дальнейшей интеграцией для Ubuntu. Для получения дополнительной информации читайте http://developer.ubuntu.com/packaging/html/

0
ответ дан 13 November 2011 в 10:59

Для моего собственного требования к упаковке, которое похоже на вопрос, я следовал этому методу: https://wiki.ubuntu.com/PackagingGuide/Complete#Updating_an_Ubuntu_Package

Вы можете захотеть сосредоточиться на связях pbuilder, чтобы ускорить процесс.

Что касается меня, я следовал инструкции до шага 5 в методе. Тогда я сделал:

apt-get build-dep <package> #since I had not configured pbuilder
dpkg-buildpackage -k<key id> 
0
ответ дан 13 November 2011 в 10:59

Возможно, вы захотите попробовать этот трюк после установки bzr и bzr-builddeb:

bzr branch ubuntu:yourrelease/grub2
cd grub2
[ -d debian/patches ] && quilt pop -a
bzr commit -m 'reverting all patches' || :
bzr merge-upstream lp:grub2
dch -i
# Here edit the version info to match upstream..
bzr bd

Это должно создать вам новый grub2 исключительно из исходного кода (без патчей). Вы можете обнаружить, что вам нужны некоторые из этих патчей, поэтому стоит взглянуть на список и принять решение.

обратите внимание, что «ubuntu: yourrelease / grub2» может не работать на старых версиях bzr. Если это не поможет, попробуйте 'lp: ubuntu / yourrelease / grub2'

0
ответ дан 13 November 2011 в 10:59

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

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