64ビットXubuntu 14.04でパッケージ(libvorbis、その価値があるもの)にパッチを当てて再構築しようとしています。過去に、私がこのようなことをしたいと思ったとき、私はこの式に従いました:
Sudo apt-get build-dep <package>
apt-get source <package>
cd <package-dir>
patch -Np1 < ../<patch>
dch -i
dpkg-source --commit
debuild -us -uc
cd ..
Sudo dpkg -i <new.deb>
そして、過去のWineにパッチを適用する場合、それは魅力のように機能しました。私の現在のプロジェクトでは、何とかしてパッケージを再構築し、再構築することができましたが、新しいパッケージをインストールしようとすると、次のようになりました。
dpkg: error processing package libvorbis0a:AMD64 (--install):
package libvorbis0a:AMD64 1.3.2-1.3ubuntu2 cannot be configured because libvorbis0a:i386 is at a different version (1.3.2-1.3ubuntu1)
32ビットパッケージを本当にアンインストールするか試してみましたが、本当に必要かどうかはわかりませんが、多くのことで依存関係が壊れてしまいました。並列インストール用の32ビットバージョンのパッケージもビルドするように手順を変更(または再実行)するにはどうすればよいですか?出来ますか?
編集:試しましたapt-get source libvorbis:i386
、しかし得た:
E: Can not find a package for architecture 'i386'
E: Unable to find a source package for libvorbis:i386
編集2:apt-get source libvorbis0a:i386
は機能しているように見えましたが、64ビットパッケージに戻ってしまいました。
後 ポーキングアラウンド multiarchの良さにもかかわらず、少なくとも大量のパッケージをインストールしたり、chrootされた環境を作成したりしないと、必要なことを実行できないことがわかりました。
幸運なことに、ビルドボットとメンテナーはこれを行う必要があるようです。そのため、この提案に役立つツールがいくつかあります。私はpbuilder
を使用します。これは、2つの理由で、Debianのメインリポジトリであるergo Ubuntuで利用でき、メインに触れることなく気まぐれに更新/削除/維持できるクリーンなエコシステムの自動作成ですシステムの柔軟性は別として。多分しばらくして、クロスツールチェーンについて書こうと思います。
したがって、まずpbuilder
およびubuntu-dev-tools
パッケージをインストールし、その後pbuilder-dist trusty i386 create
を実行します(たとえば、--distribution trusty
を使用してターゲットリリースを指定することもできます)。ダウンロードとシステムの速度によっては、しばらく時間がかかる場合があります。終了すると、次のコードのみを使用してパッケージを作成できるようになります。
pbuilder-dist trusty i386 libvorbis_1.3.2-1.4.dsc
trusty
は、他の使用可能なバージョンに変更できます。パッケージのi386バージョンを生成します。