portage の autounmask 機能

なんかちょっと前のアップデートで portage に autounmask の機能が統合されてたのでメモしておきます。

autounmask を使わない例

例えば、今日現在 ~amd64 でキーワードマスクされている xorg-server-1.10.4 を入れたい場合 /etc/portage/package.keywords に手動で書いてやる必要があったりしますが、これをそのまま書かずに入れようとすると

$ emerge -pv1 =xorg-server-1.10.4

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ~] x11-base/xorg-server-1.10.4 [1.10.2] USE="ipv6 nptl udev xorg -dmx -doc
                         -kdrive -minimal -static-libs -tslib -xnest -xvfb" 5,260 kB

Total: 1 package (1 upgrade), Size of downloads: 5,260 kB

The following keyword changes are necessary to proceed:
#required by =xorg-server-1.10.4 (argument)
=x11-base/xorg-server-1.10.4 ~amd64

NOTE: This --autounmask behavior can be disabled by setting
      EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.


となって「キーワードマスクされてるよ」と言われます。これを許可するには /etc/portage/package.keywords を手で編集して明示的に外してやる必要がありました。

これが本来 (従来) のやり方。

autounmask を使ってみる

autounmask を使ってみます。

管理者権限で -p オプション無しで --autounmask-write をつけて実行します。

$ sudo emerge -v1 --autounmask-write =xorg-server-1.10.4

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ~] x11-base/xorg-server-1.10.4 [1.10.2] USE="ipv6 nptl udev xorg -dmx -doc
                         -kdrive -minimal -static-libs -tslib -xnest -xvfb" 5,260 kB

Total: 1 package (1 upgrade), Size of downloads: 5,260 kB

The following keyword changes are necessary to proceed:
#required by =xorg-server-1.10.4 (argument)
=x11-base/xorg-server-1.10.4 ~amd64

NOTE: This --autounmask behavior can be disabled by setting
      EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.

Autounmask changes successfully written. Remember to run etc-update.

「autounmask が変更を書き込みました、 etc-update して下さい」とでます。てことで etc-update のかわりに最近の流儀で dispatch-conf を実行しておきます。

$ sudo dispatch-conf
--- /etc/portage/package.keywords       2011-08-22 12:09:36.270276250 +0900
+++ /etc/portage/._cfg0000_package.keywords     2011-08-22 12:31:59.466170428 +0900
@@ -54,3 +54,5 @@
 =sys-fs/yaffs-utils-9999       **
 =sys-fs/yaffs2-utils-9999      **

+#required by =xorg-server-1.10.4 (argument)
+=x11-base/xorg-server-1.10.4 ~amd64

>> (1 of 1) -- /etc/portage/package.keywords
>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge:


/etc/portage/package.keywords に必要な情報が書き込まれたことがわかります。あとは use-new を選んで書き換えて再度 emerge すればいいだけです。

今回は変更が 1 つだけなのでたいしたことないように見えるわけですが、依存関係で大量にキーワードを外してやる必要がある場合等には楽ができると思います。たとえば今日現在 ~amd64 キーワードでマスクされている kde-base/kde-meta-4.7.0 を入れたいとか、今日現在マスクされている gnome-base/gnome-3.0.0 を入れたいとか。そういうときには楽ができちゃいますね。

常用する

常用するくらいならもう KEYWORDS いじっちゃえばいいんじゃねとか思わなくもないですが、 --autounmask-write は常用することもできます。先ほどのログにちょっと出ているのですが

NOTE: This --autounmask behavior can be disabled by setting
      EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.

これにあるとおり /etc/make.conf に EMERGE_DEFAULT_OPTS="--autounmask=y" と書くと常に --autounmask-write な状態になります。

追記:autounmask=n について

autounmask=y にすると常用できると書きましたが、では autounmask=n にすると…これは従来の emerge と同じ動作になり、どのパッケージのマスクを外せばいいかのアナウンスを行わなくなります。鬱陶しいと感じたら n を設定するのもいいでしょう。


 

Xperia mini pro の H264/AVC 再生能力を検証

Xperia mini pro の H264/AVC な MP4 再生能力を調べてみる。ちょっとやってみたら PSP 用に作った動画は余裕で再生 (ただしアス比はみてくれない) してくれたので、縦 720 まであげて検証してみよう。

再生は基本的にプリインストールの動画アプリを使います。

PSP 用の SD サイズな動画再生

解像度 fps プロファイル CABAC 再生可/不可 コメント
720x480 24 MP@3.0 ただしアス比 (40:33) は
反映されない

PSP 用に作った動画。アス比以外は問題なく再生してくれる。 VPlayer を使えばアス比が反映されて再生されるが、どうも VPlayer はハードウェア再生支援が有効にならないようで、ちょっとだけカクつく。

縦 720 30fps な動画再生

縦 720 な解像度でどこまでプロファイル/レベルを上げて再生できるか確認。BaseLine プロファイルに関しては全く見る気がなく作ってみなかったので今回の確認作業には含まない。

解像度 fps プロファイル CABAC 再生可/不可
1280x720 30 MP@3.1
1280x720 30 MP@3.1
1280x720 30 MP@3.2
1280x720 30 MP@3.2
1280x720 30 HP@3.2
1280x720 30 MP@4.0 ×
1280x720 30 MP@4.0 ×
1280x720 30 HP@4.0 ×
1280x720 30 HP@4.0 ×

1280x720 30fps な動画に関しては HighProfile@Level3.2 まで再生できた。 Level4.0 まで上げてしまうと Main だろうが no-cabacだろうが再生できなかった。

この結果を見るに、Level が 4 未満かどうかそれだけが分かれ目になるようでプロファイルに関してはあまり関係ないようだ。 CABAC の有無も関係ない。

縦 720 60fps な動画再生

調子にのって 60fps な動画を作って再生してみた。

解像度 fps プロファイル CABAC 再生可/不可 コメント
1280x720 60 MP@3.2 × 音はでるが映像がでない
1280x720 60 HP@3.2 × 同上

さすがに無理だったw

追記

ゆかりんな映像を mp4 にして再生してみたらこれまた再生できなかったのでいろいろ試してみたところ、どうやらファイルサイズが 2GB を超えていてもダメなようだ。ネットワーク経由の再生が NG になり、 SD カードに入れれば再生できるがその場合も 2GB を超えた再生位置より後ろを再生させようとすると固まる。

てわけで機種固有の問題なのか共通仕様なのか、 2GB なのか 2GiB なのかよくわからんが、なにしろ壁がある模様。そういえば 2GB の壁っていろんなところにあるので、とにかくそれより小さくしておいたほうが良いようです。

連絡先に登録したアドレスをEメールアプリで引用したい

Android 初心者の私は日々アプリと格闘しています。

今日もメールを打とうとして苦戦。普通のガラケーだとメール入力中にアドレスをアドレス帳から引用とか当たり前にできるんだけど、 Android の標準なのかそれができなくてとてもめんどいです。アドレスの頭の 2 文字を打てば候補として出てくるんだけどそれもなんか違いますね。

なんかいい方法はないものかなとググってたら、 Xperia mini pro についてる日本語標準 IMEPOBoxプラグインで似たようなことが実現できるらしいことを発見。アプリの名前は『連絡先引用 2.3』。さっそくアンドロイドマーケットからダウンロードして入れてみました。
# ちなみに 2.3 ってのは Android のバージョンらしいです。


実際に使ってみます。


E メールアプリを立ち上げて…


文字入力モードにします。プラグインを使う場合は左下の「文字ボタン」を長押し…


長押しするとポップアップで出てきます。真ん中のパズルのピースみたいな「プラグインボタン」を選択します…


すると入っているプラグインがリスト表示されます。あとはここで『連絡先引用 2.3』を選択してやれば連絡先アプリが立ち上がってくれるので、その後は直感的に作業すれば無問題。


初めての Android ってことで。なかなか難しいです、ハイ。