環境構築:Debianソースコードパッケージをビルドする方法(debソースパッケージ構築ツールのインストール)

前書き

過去の記事で、debソースパッケージの取得方法を示しました。

Linuxコマンドのソースコードを取得する方法(Debian環境):オリジナルコマンド作成前の勉強向け

ソースコードを取得したら、自身で改変し、ビルドも試したくなる筈です。そのため、本記事では、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と等価

                                

おすすめ