他の人誰かやっているとは思うけど、Wiki にはなさそうなのでメモ。
Skype は 32 bit 版しか rpm が提供されていないため、32 bit 版の人は楽ですが、64 bit 版の人は針山を登る覚悟で作業してください。なお、PowerPC や PowerPC 64 の方々は問題外ですので悪しからず。
以下 64 bit 環境 / development の 2012/12/29 現在の最新バイナリで説明する。
development へのアップデートの方法は こちら
Momonga Linux で、Nonfree 提供している lame を自分でビルドしてインストールしていない場合は (usolame のままの場合) は lame をビルドする作業を飛ばせますので、飛ばしてください。なお、usolame のままの場合も、デフォルトでは /etc/yum.conf で除外する設定になってますので外す必要があります。
レポジトリの設定
development の 32bit バイナリのレポジトリを足します。momonga-trunk の内容は basearch に依存するため、mirrorlist から 32bit 版のバイナリを取ってくることができません。直接 URL 指定してください。可能であれば、これもミラーをご利用ください。(ミラー一覧)
なお、この設定はプロジェクトとしてはサポートを得られなくなるのでご注意を。まあ、そもそも開発版だし。
# 64 ビット [momonga-devel-x86_64] name=Momonga Linux devel - x86_64 #baseurl=http://dist.momonga-linux.org/pub/momonga/development/x86_64/os/ mirrorlist=http://www.momonga-linux.org/download/mirrors/momonga-trunk enabled=1 metadata_expired=1d gpgcheck=0 # 32 ビット [momonga-devel-i686] name=Momonga Linux devel - $basearch baseurl=http://dist.momonga-linux.org/pub/momonga/development/i686/os/ #mirrorlist=http://www.momonga-linux.org/download/mirrors/momonga-trunk enabled=1 metadata_expired=1d gpgcheck=0
なお、yum でのインストールに際し、! がついているもの
! gcc.i686
は、x86_64 とファイルが被っており、yum が Conflict と認識するものです。
これらは依存するパッケージを yum でインストールしたあと、rpm ファイルを直接レポジトリからダウンロードしてきて rpm -ivh --force でインストールします。
作業例。
# yum install gcc.i686 # 依存するパッケージを確認する (N でキャンセルして良い) # yum install gmp.i686 libgomp.i686 libmpc.i686 mpfr.i686 ppl.i686 ppl-pwl.i686 # 依存するパッケージをインストール # wget ftp://dist.momonga-linux.org/pub/momonga/development/i686/os/Packages/gcc-4.6.4-0.20121207.1m.mo8.i686.rpm # rpm -ivh --force gcc-4.6.4-0.20121207.1m.mo8.i686.rpm # yum reinstall gcc.x86_64 # 被っているファイルを x86_64 のものと取り替えたい場合
なお、バイナリファイル (/bin/*, /usr/bin/*, /usr/sbin/* など) の重複と、ファイルが同一の場合はエラー報告しないようです。
多い場合の減らす方法としては、yum のトランザクションログをみて、ひとつのパッケージに対してこのようなメッセージが出ます。
---> パッケージ ffmpeg.i686 0:0.10.4-1m.mo8 は インストール です --> 依存性の処理をしています: libx264.so.125 のパッケージ: ffmpeg-0.10.4-1m.mo8.i686 --> 依存性の処理をしています: libvpx.so.1 のパッケージ: ffmpeg-0.10.4-1m.mo8.i686 (省略) --> 依存性の処理をしています: libSDL-1.2.so.0 のパッケージ: ffmpeg-0.10.4-1m.mo8.i686 --> トランザクションの確認を実行しています。
この直後に続く
--> トランザクションの確認を実行しています。 ---> パッケージ SDL.i686 0:1.2.15-1m.mo8 は インストール です ---> パッケージ dirac-libs.i686 0:1.0.2-7m.mo8 は インストール です ---> パッケージ faac.i686 0:1.28-6m.mo8 は インストール です ---> パッケージ gsm.i686 0:1.0.13-4m.mo8 は インストール です ---> パッケージ jack-libs.i686 0:1.9.8-2m.mo8 は インストール です ---> パッケージ libpostproc.i686 0:0.10.4-1m.mo8 は インストール です ---> パッケージ libtheora.i686 0:1.1.1-5m.mo8 は インストール です ---> パッケージ libva.i686 0:1.1.0-3m.mo8 は インストール です ---> パッケージ libvpx.i686 0:1.1.0-1m.mo8 は インストール です ---> パッケージ openjpeg-libs.i686 0:1.5.0-2m.mo8 は インストール です ---> パッケージ schroedinger.i686 0:1.0.11-3m.mo8 は インストール です ---> パッケージ x264.i686 0:0.0.2208-0.20120720.1m.mo8 は インストール です
に出てくるパッケージをインストールすれば揃います。*1
lame をビルドする環境を整える
ははは、こんなの、build-momonga.i686 をインストールすればそれで終わりやろ、とは思った。
# yum install build-momonga.i686 読み込んだプラグイン:aliases, auto-update-debuginfo, changelog, dellsysid, download-order, : downloadonly, etckeeper, fastestmirror, filter-data, fs- : snapshot, installonlyn, keys, langpacks, list-data, local, : merge-conf, post-transaction-actions, presto, priorities, : protectbase, ps, puppetverify, refresh-packagekit, refresh- : updatesd, remove-with-leaves, rpm-warm-cache, security, : show-leaves, tmprepo, tsflags, upgrade-helper, verify, : versionlock Adding ja_JP to language list Loading mirror speeds from cached hostfile * momonga-devel-x86_64: ftp.iij.ad.jp Skipping filters plugin, no data 0 packages excluded due to repository protections パッケージ build-momonga.i686 は利用できません。 エラー: 何もしません # rpm -q build-momonga build-momonga-1-20m.mo8.noarch
noarch やん。…というわけで、build-momonga のちからを借りることができず、地道にインストールしていくことになります。
インストールするパッケージは以下の通り。
! gcc.i686 cpp.i686 binutils.i686 glibc-devel.i686 (他依存パッケージ少々)
必要最小限なので、ちらほらライブラリが見つからないとかエラーが出ますが、あまり気にしないことにします。
lame のビルド
いつもどおり、OmoiKondara でビルドするだけです (rpmbuild でも可能だと思いますがおすすめしません。momonga-nonfree-package-builder (MNPB) ではシステムの Arch に固定されているためビルドできません。)。
ただし、
- すでに x86_64 のバイナリをビルドしている場合には SKIP になってしまいますので、-f を
- lame は Nonfree ですから -n を
- i686 のパッケージを作るので、 -A i686 を
忘れずにつけてください。
多分、ビルドできると思います。できたら、ローカルレポジトリに置きましょう。
(ローカルレポジトリを用意していない場合は、rpm -i でインストールしてください)
$ cd ..../Momonga/pkgs $ ../tools/OmoiKondara -A i686 -nvf lame $ ../tools/update-yum
いくつか無理があるので、chrootbuild の方が確実です。
やり方は こちら を参照。lame だけのために用意するのも…という感じもしますが。
Skype に必要なパッケージのインストール
以下の通り入れるのです! 依存の "葉っぱ" に当たる部分は下の 4 つだけです。
! libstdc++.i686 ! libidn.i686 ! flac.i686 ! gd.i686 ! libsamplerate.i686 ! libdc1394.i686 ! zvbi.i686 ! ffmpeg.i686 (+ libpostproc.i686, x264.i686 : Loop) ! graphite2.i686 ! libcroco.i686 qt-x11.i686 qtwebkit.i686 libXScrnSaver.i686 libXv.i686 (他依存パッケージ多数)
途中でわからなくなったら、
# yum check
を使えば依存関係の問題を確認できます。