Ikey Doherty氏、Barney基盤上でデスクトップLinux「Pavee OS」を開発
出典: github.com

Pavee OSはBarney基盤の実用例に

Ikey Doherty氏が、デスクトップ向けLinuxディストリビューション「Pavee OS」の開発を発表しました。Pavee OSは、同氏が開発するディストリビューション構築基盤「Barney」と共通レイヤー「bny-base」を土台に構築する計画です。

Pavee OSは、Doherty氏自身が日常的に使うデスクトップとして位置づけられています。Barneyを実際のディストリビューションに適用しながら、個別のデスクトップに必要な設定と、複数のプロジェクトで共有できる基盤を分ける構想です。

Doherty氏は、まず共有可能な仕組みを整え、その上に自分の好みを反映したディストリビューションを載せる方針を示しています。Pavee OSは、その構築手法を具体化する用途も担います。

Barneyと共通レイヤーの役割

Barneyは、Linuxディストリビューションを組み立てて提供するためのパイプラインです。bny-baseは、Barney上で使う共通の基本レシピ群として分けて管理されています。

レシピは、パッケージなどの構築方法を記述するファイルです。Barneyが構成やビルドの仕組みを担い、bny-baseや追加レイヤーが再利用可能なレシピを提供する形を目指しています。

この分離により、個別ディストリビューションの選択を共有レシピに固定せず、構成ごとの設定で調整する考えです。Pavee OSでは、Barneyとbny-baseを共通部分として使い、独自のブランドや設定を重ねます。

レシピ設定でビルドの依存関係を扱う

Barneyのレシピやディストリビューション設定には、型付きの静的プロパティを持たせる計画です。プロパティはビルド時に使い、同じレシピを複数の構成で再利用しながら、ディストリビューション単位で上書きできるようにします。

レシピには、通常の構成とは別にビルド用の「variant(変種)」を設けられます。変種は依存関係の構築にだけ使い、完成したシステムや利用者向けの公開物には含めない設計です。

この仕組みは、互いを必要とするパッケージのビルド依存を扱う例として示されています。たとえばsystemdとutil-linuxの依存が循環する場合、片方の機能を無効にした変種を先にビルドし、その後に通常構成を作る手順をレシピで表せます。

Pavee OSで共有基盤を検証

Barneyとbny-baseのプロジェクトでは、構築ツールと基本レシピを分けて公開しています。Pavee OSのリポジトリは、共通基盤の変更が単一のディストリビューションだけに最適化されないよう試す場にもする方針です。

Pavee OSでは、レシピのプロパティを使ってブランド設定を追加し、共有レイヤーを直接改変したり複製したりせずに独自の構成を作る案が挙げられています。Doherty氏は、Pavee OSを自身の日常利用環境として開発し、Barneyの基盤を具体的な構成で示す計画です。

開発コードはGitHubのPavee OSリポジトリで追跡できます。BarneyのDSL(ドメイン固有言語)やレシピ形式は開発中で、Doherty氏はスキーマや依存関係の表現を整えている段階です。