9.1.4. ビルドの開始
必要な変更がすべてソースに適用されたら、実際のバイナリ パッケージの生成を開始できます。 debファイル ファイル。 プロセス全体は、 dpkg-ビルドパッケージ コマンドを実行すると次のようになります。
$ dpkg-buildpackage -us -uc -b
dpkg-buildpackage: ソース パッケージ libfreefare dpkg-buildpackage: ソース バージョン 0.4.0-2buxy1 dpkg-buildpackage: ソース ディストリビューション 未リリース
dpkg-buildpackage: Raphael Hertzog によってソースが変更されました[メール保護]> dpkg-buildpackage: ホスト アーキテクチャ amd64
[...]
dh_builddeb
dpkg-deb: パッケージ「libfreefare0-dbgsym」を「../libfreefare0-dbgsym_0.4.0-2buxy1_amd64.deb」に構築しています。 dpkg-deb: パッケージ「libfreefare0」を「../libfreefare0_0.4.0-2buxy1_amd64.deb」に構築しています。
dpkg-deb: パッケージ「libfreefare-dev」を「../libfreefare-dev_0.4.0-2buxy1_amd64.deb」に構築しています。
dpkg-deb: パッケージ「libfreefare-bin-dbgsym」を「../libfreefare-bin-dbgsym_0.4.0-2buxy1_amd64.deb」に構築しています。
$ dpkg-buildpackage -us -uc -b
dpkg-buildpackage: ソース パッケージ libfreefare dpkg-buildpackage: ソース バージョン 0.4.0-2buxy1 dpkg-buildpackage: ソース ディストリビューション 未リリース
dpkg-buildpackage: Raphael Hertzog によってソースが変更されました[メール保護]> dpkg-buildpackage: ホスト アーキテクチャ amd64
[...]
dh_builddeb
dpkg-deb: パッケージ「libfreefare0-dbgsym」を「../libfreefare0-dbgsym_0.4.0-2buxy1_amd64.deb」に構築しています。 dpkg-deb: パッケージ「libfreefare0」を「../libfreefare0_0.4.0-2buxy1_amd64.deb」に構築しています。
dpkg-deb: パッケージ「libfreefare-dev」を「../libfreefare-dev_0.4.0-2buxy1_amd64.deb」に構築しています。
dpkg-deb: パッケージ「libfreefare-bin-dbgsym」を「../libfreefare-bin-dbgsym_0.4.0-2buxy1_amd64.deb」に構築しています。
dpkg-deb: パッケージ「libfreefare-bin」を「../libfreefare-bin_0.4.0-2buxy1_amd64.deb」に構築しています。 dpkg-deb: パッケージ「libfreefare-doc」を「../libfreefare-doc_0.4.0-2buxy1_all.deb」に構築しています。
dpkg-genchanges -b >../libfreefare_0.4.0-2buxy1_amd64.changes dpkg-genchanges: バイナリのみのアップロード (ソース コードは含まれません)
dpkg-source --after-build libfreefare-0.4.0
dpkg-buildpackage: バイナリのみのアップロード (ソースは含まれません)
dpkg-deb: パッケージ「libfreefare-bin」を「../libfreefare-bin_0.4.0-2buxy1_amd64.deb」に構築しています。 dpkg-deb: パッケージ「libfreefare-doc」を「../libfreefare-doc_0.4.0-2buxy1_all.deb」に構築しています。
dpkg-genchanges -b >../libfreefare_0.4.0-2buxy1_amd64.changes dpkg-genchanges: バイナリのみのアップロード (ソース コードは含まれません)
dpkg-source --after-build libfreefare-0.4.0
dpkg-buildpackage: バイナリのみのアップロード (ソースは含まれません)
当学校区の -us -uc オプションは、生成されたファイルの一部の署名を無効にします (.dsc, .変更) に入力した ID に関連付けられた GnuPG キーがない場合、この操作は失敗するためです。 変更履歴 ファイル。 ザ -b オプションは「バイナリのみのビルド」を要求します。 この場合、ソース パッケージ (.dsc) は作成されず、バイナリ (debファイル) パッケージはそうなります。 このオプションは、ソース パッケージのビルド中の失敗を回避するために使用します。パッチ管理システムに変更を適切に記録していない場合、パッチ管理システムからエラーが発生し、ビルド プロセスが中断される可能性があります。
によって提案されたように dpkg-debのメッセージを参照すると、生成されたバイナリ パッケージが親ディレクトリ (ソース パッケージのディレクトリをホストするディレクトリ) で利用できるようになります。 これらは次のようにインストールできます。 dpkg-i or apt install.
$ sudo apt install ../libfreefare0_0.4.0-2buxy1_amd64.deb \
../libfreefare-bin_0.4.0-2buxy1_amd64.deb
パッケージ リストを読み取り中... 完了 依存関係ツリーを構築しています
状態情報を読み込んでいます...完了
「../libfreefare0_0-0.4.0buxy2_amd1.deb」ではなく「libfreefare64」を選択していることに注意してください。
「../libfreefare-bin_0.4.0-2buxy1_amd64.deb」ではなく「libfreefare-bin」を選択することに注意してください。次のパッケージがアップグレードされます。
libfreefare-bin libfreefare0
アップグレードされた 2 件、新規インストールされた 0 件、削除される 0 件、アップグレードされない 0 件。 0 B/69,4 KB のアーカイブを取得する必要があります。
この操作の後、2 B の追加のディスク領域が使用されます。 [...]
$ sudo apt install ../libfreefare0_0.4.0-2buxy1_amd64.deb \
../libfreefare-bin_0.4.0-2buxy1_amd64.deb
パッケージ リストを読み取り中... 完了 依存関係ツリーを構築しています
状態情報を読み込んでいます...完了
「../libfreefare0_0-0.4.0buxy2_amd1.deb」ではなく「libfreefare64」を選択していることに注意してください。
「../libfreefare-bin_0.4.0-2buxy1_amd64.deb」ではなく「libfreefare-bin」を選択することに注意してください。次のパッケージがアップグレードされます。
libfreefare-bin libfreefare0
アップグレードされた 2 件、新規インストールされた 0 件、削除される 0 件、アップグレードされない 0 件。 0 B/69,4 KB のアーカイブを取得する必要があります。
この操作の後、2 B の追加のディスク領域が使用されます。 [...]
私たちは好む apt install が dpkg-i 欠落している依存関係を適切に処理するためです。 しかし、少し前までは、次のことを使用する必要がありました。 dpkg as apt 対処できなかった debファイル リポジトリの外部にあるファイル。
dpkg-ビルドパッケージ 多くの場合、Debian 開発者は次のような高レベルのプログラムを使用します。 デビルド; ラッパー これは走る dpkg-ビルドパッケージ 通常どおりですが、プログラムの呼び出しも追加されます (リンティアン) 生成されたパッケージを検証するために多くのチェックを実行します。 脱
ビアンポリシー3。 このスクリプトは環境もクリーンアップします。これにより、ローカル環境が
変数はパッケージのビルドを汚染しません。 の デビルド コマンドは、 devscripts これらのスイートは、保守者のタスクを容易にするために、ある程度の一貫性と構成を共有します。
dpkg-ビルドパッケージ 多くの場合、Debian 開発者は次のような高レベルのプログラムを使用します。 デビルド; ラッパー これは走る dpkg-ビルドパッケージ 通常どおりですが、プログラムの呼び出しも追加されます (リンティアン) 生成されたパッケージを検証するために多くのチェックを実行します。 脱
ビアンポリシー3。 このスクリプトは環境もクリーンアップします。これにより、ローカル環境が
変数はパッケージのビルドを汚染しません。 の デビルド コマンドは、 devscripts これらのスイートは、保守者のタスクを容易にするために、ある程度の一貫性と構成を共有します。
3https://www.debian.org/doc/debian-policy/