ビルド依存パッケージの扱いが変わる
build-dependencyは、ソフトウェアをビルドするのに必要な依存関係を指定する仕組みです。Ubuntu 16.04では、開発の負担になっている状況を改善し、将来に負債を残さないようにするため、build-dependencyの扱いが変更されます。
長い間我々は、mainとuniverseの分類作業がUbuntu開発の負担になっていることを認識している。
mainでは、依存するパッケージに加えビルド依存のパッケージも扱っている。
mainへパッケージを配置するためには、以下の作業を行う必要がある。
- セキュリティーレビュー
- 重複機能のチェック
- Canonicalがサポートしない依存を取り除くためにパッチを当てる
- などなど
これらの作業は、ユーザーの環境にインストールされるパッケージだけでなく、ビルド時に使われるパッケージや実行時に殆どのユーザーに影響がないパッケージに対しても行われる。
最近、サポートされているパッケージのビルド依存が言語ランタイムを含めるため増大傾向にある。
この中には、我々がセキュリティーサポートをUbuntu 16.04で提供できないものも含まれている。
この状況を受け、昨年11月のUOS以来、Ubuntu 16.04がリリースされる前にmainの定義を変更できないか議論を開始した。
- Archive Reorg Episode VII: Follow Build-Depends
- Archive Reorg Episode VII: Follow Build-Depends (reply)
数カ月前に行った議論により出された結果から、変更をLaunchpadに適用した。
また、mainからuniverseへ移動できるビルド依存のパッケージをアーカイブレポートにまとめた。
(restrictedも同様にuniverseやmultiverseに移動できるビルド依存のパッケージを掲載している。)
この結果、アーカイブの管理者は数日かけて、Ubuntu 16.04のリリースに備え多くのパッケージをmainからuniverseへ移動する。
影響を直接受けるのは開発者
この変更で直接影響を受けるのは開発者です。一般的なデスクトップユーザーは気にしなくて良いです。
参考
- Canonical Eases Ubuntu App Development with New Build Dependency Rules
- Archive Reorg Episode VII: Follow Build-Depends (Google Doc)