Portage Overlay

Portage Overlay を使う。もともと使っていたんだけど、あらためて。

Portage Overlay の何がいいの?

stable でないながらも、追加のパッケージが結構あります。最新のパッケージとか。

あたりで検索してみると、どこにどんなパッケージがあるか検索できます。例えば…

Package Overlay
app-i18n/fbterm-1.5 gentoo-taiwan
app-emulation/virtualbox-ose-3.00 jokey


ただし、あくまで評価用とか開発用という位置づけなので、使用には覚悟がいりますが。

layman で追加の Porgage ツリーを管理

Portage ツリーの取得や管理には layman を使うことにします。

$ eix layman

 * app-portage/layman
     Available versions:  1.1.1 1.2.3 {git subversion test}
     Homepage:            http://layman.sourceforge.net
     Description:         A python script for retrieving gentoo overlays.

$ sudo emerge -av layman


layman はこんな感じで使うみたいです。

$ layman -f                 portage overlay のリストをリモートから取得する。
$ layman -L                 リモートに登録されているリストを表示する。
$ layman -a hogehoge        hogehoge をローカルに追加
$ layman -l                 登録したローカルのリストを表示する
$ layman -s hogehoge        hogehoge のツリーを sync する
$ layman -S                 登録したローカルツリーすべてを sync する
$ layman -d hogehoge        hogehoge を登録から削除


emerge で使う場合は、PORTDIR_OVERLAY 変数を記述しておきます。

例) gentoo-taiwan を追加する
 $ su -
 password:

 (root)# layman -f
 (root)# layman -L
 .
 .
 * gentoo-taiwan           [Subversion] (http://gentoo-taiwan.googlecode.com/svn/trunk/)
 * gentoojp                [Git       ] (git://git.gentoo.gr.jp/ebuilds/gentoojp.git   )
 * gnash-cvs               [Rsync     ] (rsync://overlays.biterror.net/gnash-cvs       )
 .
 .
 .
 
 (root)# layman -a gentoo-taiwan
 * Running command "/usr/bin/svn co "http://gentoo-taiwan.googlecode.com/svn/trunk//" 
 "/usr/local/portage/layman/gentoo-taiwan""...
 (root)# layman -S
 (root)# exit
 
 $ layman -i gentoo-taiwan
 * gentoo-taiwan
 * ~~~~~~~~~~~~~
 * Source  : http://gentoo-taiwan.googlecode.com/svn/trunk/
 * Contact : scsichen@gmail.com
 * Type    : Subversion; Priority: 50
 *
 * Description:
 *   A collection of ebuilds from Gentoo
 *   Taiwan.
 *
 * Link:
 *
 *   http://gentoo-taiwan.googlecode.com/
 *
 * *** This is no official gentoo overlay ***
 *


なお、 gentoo-tiwan は Subversion をインストールしていないと使えません。ついでに git もインストールしておくといいのかもしれません。
# git は2つあります。dev-util/git の方。

$ sudo emerge -av subversion dev-util/git


あとは、PORTDIR_OVERLAY 変数が参照されるように設定しておきます。

$ sudo nano -w /etc/make.conf               ← 以下の行を追加。
source /usr/local/portage/layman/make.conf

$ cat /usr/local/portage/layman/make.conf   ← layman が勝手に編集してくれるみたい?
PORTDIR_OVERLAY="
/usr/local/portage/layman/gentoo-taiwan
$PORTDIR_OVERLAY
"

実際に

こんな感じ。


eix の DB を更新してみる。

$ update-eix
 Reading Portage settings ..
 Building database (/var/cache/eix) ..
 [0] "gentoo" /usr/portage/ (cache: metadata-flat)
      Reading 100%
 [1] "gentoo-taiwan" /usr/local/portage/layman/gentoo-taiwan (cache: parse|ebuild*)
      Reading 100%
 Applying masks ..
 Calculating hash tables ..
 Writing database file /var/cache/eix ..
 Database contains 13975 packages in 153 categories.


fbterm について検索してみる。

$ eix app-i18n/fbterm
 *  app-i18n/fbterm [1]
      Available versions:  ~1.4 ~1.5
      Homepage:            http://fbterm.googlecode.com
      Description:         fast FrameBuffer based TERMinal emulator for Linux

 * app-i18n/fbterm-ucimf [1]
      Available versions:  ~0.2.3 ~0.2.5 {debug}
      Homepage:            http://ucimf.sourceforge.net/
      Description:         UCIMF input method support for FbTerm

 [1] "gentoo-taiwan" /usr/local/portage/layman/gentoo-taiwan
 
 Found 2 matches.


virtualbox-ose について検索して emerge -pv してみる

$ eix virtualbox-ose
 * app-emulation/virtualbox-ose
      Available versions:  1.6.6 ~1.6.6-r1 ~1.6.6-r1[2] ~2.1.4-r1 ~2.1.4-r2 ~2.2.0 ~2.2.2 ~2.2.4 
                           ~2.2.4[2] ~3.0.0_beta2[1] ~3.0.0[2] **9999 **9999[2] 
      {additions alsa hal headless kernel_linux opengl pulseaudio python qt3 qt4 sdk vboxwebsrv}
      Homepage:            http://www.virtualbox.org/
      Description:         Softwarefamily of powerful x86 virtualization

 * app-emulation/virtualbox-ose-additions
      Available versions:  1.6.6!f ~2.1.4 ~2.2.0 ~2.2.2 ~2.2.4 ~2.2.4[2] ~3.0.0_beta2[1] ~3.0.0[2]
      Homepage:            http://www.virtualbox.org/
      Description:         Guest additions for VirtualBox
 
 [1] "zugaina" /usr/local/portage/layman/zugaina
 [2] "dev-jokey" /usr/local/portage/layman/jokey

 Found 2 matches.


$ ACCEPT_KEYWORDS="~x86" emerge -pv =app-emulation/virtualbox-ose-3.0.0
 
 These are the packages that would be merged, in order:
 
 Calculating dependencies... done!
 [ebuild  N    ] sys-devel/bin86-0.16.17  149 kB [0]
 [ebuild  N    ] app-emulation/virtualbox-modules-3.0.0  714 kB [1]
 [ebuild  N    ] app-emulation/virtualbox-ose-additions-3.0.0  31,200 kB [1]
 [ebuild  N    ] sys-libs/libcap-2.16-r1  USE="-pam" 48 kB [0]
 [ebuild  N    ] sys-power/iasl-20090521  USE="-test" 919 kB [0]
 [ebuild  N    ] sys-devel/dev86-0.16.17-r6  687 kB [0]
 [ebuild  N    ] dev-util/cvs-1.12.12-r6  USE="crypt kerberos nls -doc -pam -server" 3,123 kB [0]
 [ebuild  N    ] dev-util/kbuild-0.1.5-r1  21,430 kB [1]
 [ebuild  N    ] app-emulation/virtualbox-ose-3.0.0  USE="additions alsa hal opengl python qt4
 -headless -pulseaudio -sdk -vboxwebsrv" 49,973 kB [1]

 Total: 9 packages (9 new), Size of downloads: 108,239 kB
 Portage tree and overlays:
  [0] /usr/portage
  [1] /usr/local/portage/layman/jokey