私はパッケージ(特にgrub2
)を再構築して、アップストリームで修正されたがUbuntuで修正されていないバグを克服し、パッケージをUbuntuに適切に統合しようとしています。パッケージは、LaunchpadとGNU Savannahの両方でbzrでホストされています。
「未加工」のアップストリームソースパッケージを「Ubuntu」バージョンに変換し、再コンパイル/再パッケージ化するにはどうすればよいですか?パッケージソースの最新のUbuntuバージョンをapt-get source
で取得できることを確認しましたが、アップストリームバージョンには大きな違いがあります。ここでの最善の行動は何ですか?
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」を試してください
質問に似た自分のパッケージング要件については、この方法に従いました: 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>