web-dev-qa-db-ja.com

アップストリームソースからパッケージを再構築しますか?

私はパッケージ(特にgrub2)を再構築して、アップストリームで修正されたがUbuntuで修正されていないバグを克服し、パッケージをUbuntuに適切に統合しようとしています。パッケージは、LaunchpadとGNU Savannahの両方でbzrでホストされています。

「未加工」のアップストリームソースパッケージを「Ubuntu」バージョンに変換し、再コンパイル/再パッケージ化するにはどうすればよいですか?パッケージソースの最新のUbuntuバージョンをapt-get sourceで取得できることを確認しましたが、アップストリームバージョンには大きな違いがあります。ここでの最善の行動は何ですか?

6
Andrew

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」を試してください

2
SpamapS

質問に似た自分のパッケージング要件については、この方法に従いました: 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
gokul