環境構築:Debianソースコードパッケージをビルドする方法(debソースパッケージ構築ツールのインストール)
前書き
過去の記事で、debソースパッケージの取得方法を示しました。
ソースコードを取得したら、自身で改変し、ビルドも試したくなる筈です。そのため、本記事では、debソースパッケージをビルドする方法を示します。debソースパッケージの取得に関する設定は、上記の過去記事を参照して下さい。
- debパッケージ構築に最低限必要なパッケージをインストール
- debパッケージ作成の補助ツールをインストール
- debソースパッケージのビルド依存パッケージを取得
- debuildコマンドでdebソースパッケージをビルド
検証環境
debパッケージ構築に最低限必要なパッケージをインストール
debパッケージを構築するため、最低限必要なパッケージはbuild-essentialパッケージです。build-essentialによって、各種コンパイラ、makeコマンド、debパッケージ構築ツールがインストールされます。
debパッケージ作成の補助ツールをインストール
Debianパッケージシステムは、Debian独自のツールによって、パッチ管理やビルド自動化が支えられています。それらのツールをインストールします。実際の所、ビルドするだけであれば、必須パッケージはdevscriptsパッケージ(ビルドに使うdebuildが入ったパッケージ)のみです。
他パッケージは明示的にインストールする必要はありませんが、インストールします。
パッケージ名 | 説明 |
dh-make | 一時開発元のソースパッケージをdebソースパッケージ形式に変換 |
devscripts | debパッケージ開発に役立つツール・ラッパー群 |
lintian | debパッケージのバグやポリシー違反を発見するツール |
git-buildpackage | debソースパッケージをgitリポジトリ内に格納するためのヘルパーツール |
quilt | 複数パッチの管理ツール |
pbuilder | chroot環境でパッケージをビルドするツール(ローカルビルド用) |
dput | debパッケージのアップロードツール |
debhelper | debパッケージの自動構築ルール(debian/rules)を実行するためのツール |
debmake | debソースパッケージを作成するためのヘルパースクリプト |
fakeroot | 一般ユーザが管理者権限を擬似的に取得するツール |
equivs | 依存関係情報のみが含まれたパッケージを作成するツール(依存関係回避ツール) |
cdbs | debパッケージ用の共通ビルドシステム |
debソースパッケージのビルド依存パッケージを取得
debソースパッケージのビルド依存パッケージは、ソースパッケージ毎に異なります。それらのパッケージ名を手入力してインストールする事は面倒なため、”apt build-dep (ソースパッケージ名)”で一括インストールします。今回の例では、coreutilsパッケージのビルド依存パッケージをインストールします。
debuildコマンドでdebソースパッケージをビルド
今回の例では、coreutilsパッケージのソースコードを取得して、ビルドします。取得するソースコードにはパッチも含まれていますが、パッチはソースコード取得のタイミングで適用されています。
ちなみに、ビルド時にdebuildに付与しているオプションに関する説明は、helpに記載されていません。debuildのmanにも書かれておらず、dpkg-buildpackageのmanに書かれています。オプションの意味は、以下の通りです(参考)。
- “uc”=”.buildinfo”ファイルと”.changes”ファイルに署名をしない(unsigned changes)
- “us”=ソースパッケージに署名をしない(unsigned source)
- “b”=Binaryビルドか、build=any,allと等価
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。