Gentoo PortageチームはPortage 2.0.51をリリースするという道の上で面白い旅しています。
変更点と新機能に付いての俗説は幾多のサークルで会話されていました。ですから議論はともかくとして、変更点と新機能のリストを提供します。
USEフラグ変更でのリビルド
PortageはUSEフラグの変更を反映したパッケージの自動emerge(とre-emerge)のサポートをします。この機能を使用するにはemergeに–newuseオプションを付けてください。
Code listing .1: アプリケーションのUSEを認識させる |
# emerge --newuse --update --deep world
|
初のGPG認証のサポート
どのGentooのパッケージもチェックサムとPortage内でパッケージに付随するファイル群のファイルサイズが書いてあるManifestファイルを持っています。
(digest-*は、パッケージがダウンロードしたソースファイルに対して同じことをするためのものです。誤解しないように。)
「Portageは最近のManifestファイルの中に含まれているGPG署名の認証をサポートします。
これはManifestファイルの厳密なGPGチェックを行えば、あなたが使っているrsyncミラーでハッカーが改竄しても、あなたのシステムにはほとんどダメージをあたえられない、ということです。
これはもちろん、ハッカーがGPG証明を無効にせずに変更することができないからです。
FEATURES変数にgpgを設定して置けば、ユーザは何も意識することなく扱えます。
他のFEATURES変数によって、Portageは”最小限の信用”(追加のFEATURES変数なしの場合)、”少しの信用”(strict)、GPGキーが署名されていることも要求される”完全な信用”(severe)と扱いが変わります。
Code listing .2: /etc/make.confでGPG認証を有効にする |
FEATURES="gpg"
FEATURES="gpg strict"
FEATURES="gpg severe strict"
|
FHS準拠
新しいPortageはいくつかファイルの再配置をします。
- 仮想(virtual)ファイル(/var/cache/edb/virtuals)はもう使いません。現在は透過的に算出してます。
- worldファイルは/var/cache/edbの代わりに/var/lib/portage/の下に配置されます。
-
/etc/portage/profile/virtualsはユーザ設定のみの用途になります。
worldファイルの再配置とvirtualの動的なチェックのおかげで、Portageは現在FHSとの整合性がとれています。
例えば、/var/cache以下は消すことができるようになります。実際にcacheデータですし。
パッケージのコンパイル成功の確認
新しいebuildは、コンパイルプロセスが正しく終了したかどうかを検査するために、emerge後に走らせる用にいくつかのテストを定義できます。
Code listing .3: /etc/make.conf内でマージのテストを有効にする |
FEATURES="maketest"
|
injectされたパッケージの扱いに関する改善
–injectは廃止予定です。
パッケージをinjectする場合は/etc/portage/profile/package.providedに(<category>/<name>-<version>)を代わりに使用して追加するべきです。
(訳注: Gentooでは、Portageに(実際のインストールは行わず)されているように見せかけることをinjectと呼んでいます。)
大規模のスピードアップ
よく聞かれる苦情は「Portageは遅い」ということです。ええ、そうですね。うちも結構がんばってるんですけどね(笑)。
依存性の計算時間は2.0.50の約33%になっています。
埋め込みシステムサポートの改善
autoconfigの機能を通じて、Portageはgnuconfigが提供するファイルを自動的にアップデートすることでuclibcベースのシステムで構築されたものを扱います。
これはあなた用にアプリケーションを自動的に構成してくれる機能のことではありませんよ!
Code listing .4: /etc/make.confでuclibcベースの構築を有効にする |
FEATURES="autoconfig"
|
ロックの強化
Portageは現在ソフトウェア管理のさまざまな局面でlockfileを使用しています。
これで(フェッチやマージを含めて)正しく並列に動作するようになります。
Eye-candy(みてたのしいもの)
“candy”機能を有効にすると、Portageが新しくクールなスピナーになっていることに気付くことでしょう。
Code listing .5: coolなスピナーをゲット |
FEATURES="candy"
|
もうmooから目が離せない。言いたいことはそれだけさ! |