ルギア君の戯言

雑多な記事。

6年12月20日 (水) - TeX Live 20100722 + e-pTeX 20100315 奮闘記 その 6 - Linux x86_64 + wine i686

みんな「みーっつ! みんな笑顔で明るいあるぱ城〜。」
ドンちゃん「よーし、今日も仕事始め〜!」


……………………


ルギア君「よし、TeX Live 2009 にあって TeX Live 2010 で無くなったファイルの粛清は完了だ。」
アルル君「ほう。」
ルギア君「あとは、新たに追加されたファイルだが、」
アルル君「ふむ。」
ルギア君「5628 個か。」
アルル君「多いなー。」
ルギア君TeX Live 全体の 1% にも満たない量だよ。」
アルル君「そうなのかー。」
ルギア君「まずは空っぽになったパッケージの削除からかな〜。」
アルル君「それは最後のほうがよく無いか?」
ルギア君「それもそうかなー。でも後にすると忘れちゃうんだよねー。」
アルル君「何故?」
ルギア君「これで梱包されなかったファイルを梱包すると『成功』で終わってしまうからその作業の存在をほぼ必然的に見逃すことになる。」
アルル君「なるほどな。」
ルギア君「まず、空っぽになったパッケージのうち同じ名前で提供できるファイル群が無いか確認し、あれば修正してそれにいれる。」
アルル君「ふむ。」
ルギア君「この作業はほとんど無いに等しいけど。」
アルル君「はぁ。」
ルギア君「残りは texmf-make-file-lists.conf から削除する。少しプログラムを直して直接 %files を書き出すように直せば楽だな〜と思ったけど、このプログラムから得られるのと別に %files 書いてるから、無理かな? %files を 2 つ書いても問題ないならそうするけど。」
キリルン「その辺は試してみるしかないんじゃなイカ?」
ルギア君「いたのか。」
キリルン「もちろん。」
ルギア君「…どちらにせよ、%package とか %prep とか %post とかは消さなくちゃいけないんだが。」
キリルン「それらも生成するプログラムを作ればいいんじゃなイカ?」
ルギア君「まあ、そうすればいいんだが、それもプログラムを変える量が多いから、いまはとりあえず、無し。そうなるともはや Fedora のとこで使われているツールと同じになるな。」
キリルンFedora のところでそんなツール使っていたんですか!」
ルギア君「使いかたがわからなかったから使わなかった。」
キリルン「なるほど…。」
ルギア君「あとは、今どうなっているのか知らないのと、向こうは今でも texlive と texlive-texmf の SRPM が別なんじゃないかな。」
キリルン「へぇ。」
ルギア君「まあ、いいや。作業を続けよう。これが終わったら、追加になるパッケージなんだが、まあ、これは %package と %prep、%postun の追加とその他に texlive-metapackages への追加もしないといけないんだな。」
キリルン「作業量が多いですね〜。」
ルギア君「%prep と %postun は機械処理で生成できるけどね。」
キリルン「どうやって?」
ルギア君「まず、」

%files hoge -f hoge-files

ルギア君「のように files を使っている奴はその中身は全て texmf{,-dist,-config,-local} 以下を含むから、 mktexlsr を実行する。実は doc 以下と sources 以下は実際に TeX の処理で使わない *1 から除いてもいいけど、除けるのは全体量に比べればそんなに多く無いかな。」
キリルン「ふむふむ。」
ルギア君「この中でさらに *.map を含むパッケージは %post で updmap --enable を、%prepun で updmap --disable か updmap --syncwithtrees を実行する。まあ、この作業は TeX Live 2009 ではやってないけどな。」
キリルン「だめじゃなイカ。」
ルギア君「必ずしも必要ではないし、全部登録しようとすると Conflict するのも結構多いんだよ *2。それから、info ファイルを含む奴は dir への登録がある。これも TeX Live 2009 の時ひとつ忘れているのを発見した。が、それがなんだったかは忘れた。」
アルル君「うーん、難しいんだな。」
ルギア君「だから、map ファイル関係は今後もしばらく管理はユーザー任せかな。」
アルル君「こらっ。」
ルギア君「難しいことじゃない。vim が使えるなら、 updmap-sys --edit で使いたい map ファイルのコメントアウトを外して使わない map ファイルをコメントアウトするだけだ。」
アルル君「なるほどな。」
ルギア君「これができれば晴れて TeX Live 2010 が Momonga Linux に投入される。」
アルル君「がんばれー。」

キリルン「ところで!!」
ルギア君「ところで?」
キリルン「64bit の Linux で 32bit Wine が動いたって聞いたんだけど。」
ルギア君「まあ、動くだけなら前から動いていたんだが。まあ、まずはインストールしたパッケージ達はこの通りだ。32bit の Skype も使っているから qt-x11 とかは Skype 用だが。この中で太字になっている奴はファイルが x86_64 と被っているので、インストールの仕方を工夫しないといけない。」

[lugia@arpa-castle Age2_x1]$ uname -a
Linux arpa-castle.site 2.6.39.1-1m.mo8.x86_64 #1 SMP Sun Jun 12 17:43:17 JST 2011 x86_64 x86_64 x86_64 GNU/Linux
[lugia@arpa-castle Age2_x1]$ rpm -qa | grep 'i686$' | sort
GConf2-2.32.3-1m.mo8.i686
ORBit-0.5.17-20m.mo8.i686
ORBit2-2.14.19-3m.mo8.i686
alsa-lib-1.0.23-5m.mo8.i686
alsa-plugins-pulseaudio-1.0.23-5m.mo8.i686
atk-2.0.0-2m.mo8.i686
audiofile-0.2.7-4m.mo8.i686
audit-libs-2.1.1-1m.mo8.i686
avahi-0.6.30-4m.mo8.i686
avahi-glib-0.6.30-4m.mo8.i686
bzip2-libs-1.0.6-3m.mo8.i686
cairo-1.10.2-5m.mo8.i686
cdparanoia-libs-10.2-5m.mo8.i686
cracklib-2.8.18-1m.mo8.i686
cups-libs-1.4.5-3m.mo8.i686
cyrus-sasl-lib-2.1.23-7m.mo8.i686
db4-4.8.30-4m.mo8.i686
dbus-glib-0.92-2m.mo8.i686
dbus-libs-1.4.10-1m.mo8.i686
esound-libs-0.2.41-8m.mo8.i686
expat-2.0.1-11m.mo8.i686
flac-1.2.1-12m.mo8.i686
fontconfig-2.8.0-7m.mo8.i686
freeglut-2.6.0-4m.mo8.i686
freetype-2.4.4-2m.mo8.i686
gamin-0.1.10-9m.mo8.i686
gd-2.0.35-13m.mo8.i686
gdk-pixbuf-0.22.0-23m.mo8.i686
gdk-pixbuf2-2.23.3-2m.mo8.i686
giflib-4.1.6-5m.mo8.i686
glew-1.5.5-4m.mo8.i686
glib1-1.2.10-27m.mo8.i686
glib2-2.28.8-1m.mo8.i686
glibc-2.14-1m.mo8.i686
glibc-common-2.14-1m.mo8.i686
gnome-libs-1.4.2-23m.mo8.i686
gnome-themes-standard-3.0.2-1m.mo8.i686
gnome-vfs2-2.24.4-3m.mo8.i686
gnutls-2.12.2-2m.mo8.i686
gstreamer-0.10.34-1m.mo8.i686
gstreamer-plugins-base-0.10.34-2m.mo8.i686
gtk+1-1.2.10-53m.mo8.i686
gtk2-2.24.4-2m.mo8.i686
gtk3-3.0.11-1m.mo8.i686
hal-libs-0.5.14-17m.mo8.i686
imlib-1.9.15-14m.mo8.i686
keyutils-libs-1.2-7m.mo8.i686
krb5-libs-1.7.1-11m.mo8.i686
lcms-libs-1.19-5m.mo8.i686
libICE-1.0.7-2m.mo8.i686
libIDL-0.8.14-4m.mo8.i686
libSM-1.2.0-3m.mo8.i686
libX11-1.4.3-2m.mo8.i686
libXScrnSaver-1.2.1-3m.mo8.i686
libXau-1.0.6-4m.mo8.i686
libXcomposite-0.4.3-3m.mo8.i686
libXcursor-1.1.11-3m.mo8.i686
libXdamage-1.1.3-4m.mo8.i686
libXdmcp-1.1.0-3m.mo8.i686
libXext-1.3.0-4m.mo8.i686
libXfixes-5.0-2m.mo8.i686
libXft-2.2.0-3m.mo8.i686
libXi-1.4.3-1m.mo8.i686
libXinerama-1.1.1-3m.mo8.i686
libXmu-1.1.0-3m.mo8.i686
libXpm-3.5.9-3m.mo8.i686
libXrandr-1.3.1-3m.mo8.i686
libXrender-0.9.6-4m.mo8.i686
libXt-1.1.1-2m.mo8.i686
libXtst-1.2.0-3m.mo8.i686
libXv-1.0.6-3m.mo8.i686
libXxf86vm-1.1.1-4m.mo8.i686
libacl-2.2.49-4m.mo8.i686
libasyncns-0.8-4m.mo8.i686
libattr-2.4.44-5m.mo8.i686
libcap-2.19-4m.mo8.i686
libcom_err-1.41.14-2m.mo8.i686
libdaemon-0.14-4m.mo8.i686
libdrm-2.4.26-1m.mo8.i686
libexif-0.6.20-2m.mo8.i686
libgcc-4.6.1-0.20110610.1m.mo8.i686
libgcrypt-1.4.6-4m.mo8.i686
libgpg-error-1.10-3m.mo8.i686
libgphoto2-2.4.11-1m.mo8.i686
libgudev1-151-9m.mo8.i686
libjconv-2.9-9m.mo8.i686
libjpeg-8c-1m.mo8.i686
libmng-1.0.10-7m.mo8.i686
libogg-1.2.2-1m.mo8.i686
libpciaccess-0.12.1-2m.mo8.i686
libpng-1.2.44-4m.mo8.i686
libselinux-2.0.99-1m.mo8.i686
libsmbclient-3.5.9-1m.mo8.i686
libsndfile-1.0.24-3m.mo8.i686
libstdc++-4.6.1-0.20110610.1m.mo8.i686
libtalloc-2.0.5-3m.mo8.i686
libtasn1-2.9-2m.mo8.i686
libtdb-1.2.9-3m.mo8.i686
libthai-0.1.14-4m.mo8.i686
libtheora-1.1.1-5m.mo8.i686
libtiff-3.9.5-1m.mo8.i686
libtool-ltdl-2.4-6m.mo8.i686
libudev-151-9m.mo8.i686
libunwind-0.99-7m.mo8.i686
libusb-compat-0.1.3-4m.mo8.i686
libusb1-1.0.8-4m.mo8.i686
libuuid-2.19.1-1m.mo8.i686
libvisual-0.4.0-14m.mo8.i686
libvorbis-1.3.2-3m.mo8.i686
libxcb-1.7-3m.mo8.i686
libxml2-2.7.8-3m.mo8.i686
mesa-demos-7.10.3-1m.mo8.i686
mesa-dri-drivers-7.10.3-1m.mo8.i686
mesa-libGL-7.10.3-1m.mo8.i686
mesa-libGLU-7.10.3-1m.mo8.i686
mesa-libGLw-7.10.3-1m.mo8.i686
mesa-libOSMesa-7.10.3-1m.mo8.i686
nas-libs-1.9.1-8m.mo8.i686
ncurses-libs-5.9-4m.mo8.i686
nss-softokn-freebl-3.12.9-2m.mo8.i686
openal-soft-1.13-2m.mo8.i686
openldap-2.4.24-2m.mo8.i686
openssl-1.0.0d-3m.mo8.i686
orc-0.4.11-3m.mo8.i686
pakchois-0.4-6m.mo8.i686
pam-1.1.1-7m.mo8.i686
pango-1.28.4-2m.mo8.i686
pixman-0.22.0-1m.mo8.i686
polkit-0.101-2m.mo8.i686
pulseaudio-libs-0.9.22-3m.mo8.i686
python-libs-2.7.2-1m.mo8.i686
qt-4.7.3-1m.mo8.i686
qt-x11-4.7.3-1m.mo8.i686
readline-6.2-2m.mo8.i686
samba-winbind-clients-3.5.9-1m.mo8.i686
sqlite-3.7.5-3m.mo8.i686
tcp_wrappers-libs-7.6-35m.mo8.i686
wine-1.3.22-1m.mo8.i686
wine-utils-1.3.22-1m.mo8.i686
xcb-util-0.3.6-6m.mo8.i686
zlib-1.2.5-5m.mo8.i686
[lugia@arpa-castle Age2_x1]$

ルギア君「まあ、flac とかはどっちのファイルを使ってもいいからどうでもいいんだが、glibc-common に含まれる ldd とかはそれぞれ自分の Arch のプログラムしか調べられないからという理由で困ったりもするので、こうやってインストールする。ただし、これは被るファイルについて x86_64 を優先する場合なので、i686 を優先してインストールしたい時は、逆にする。あ、yum 使うから i686レポジトリを追加するのを忘れないでね。」

# wget ftp://dist.momonga-linux.org/pub/momonga/development/i686/os/Packages/glibc-common-2.14-1m.mo8.i686.rpm
# rpm -ivh --nodeps --force glibc-common-2.14-1m.mo8.i686.rpm
# yum reinstall glibc-common.x86_64

*3
キリルン「え、reinstall で Transaction Fail するんじゃなイカ?」
ルギア君「いや、実は reinstall の時は何故か file の Conflict チェックはない。」
キリルン「へぇ。」
ルギア君「アップデートの時はこうだ。」

# rpm -e --nodeps glibc-common.i686
# yum update glibc-common.x86_64
# wget ftp://dist.momonga-linux.org/pub/momonga/development/i686/os/Packages/glibc-common-2.14-1m.mo8.i686.rpm
# rpm -ivh --force glibc-common-2.14-1m.mo8.i686.rpm
# yum reinstall glibc-common.x86_64

キリルン「なんか面倒ですね。」
ルギア君「で、wine-utils.i686、wine.i686 と mesa-dri-drivers.i686 を yum でインストールする。これをインストールしないと、Direct X を使うゲームなどはまったくもって遊べない。あ、そうそう、Windows の 64bit アプリを使う予定が無いなら、wine.x86_64 はインストールしない方がいいよ。」
キリルン「ふむふむ。」
ルギア君「というわけでいくつか。」
f:id:lugia:20110626014518p:image
ルギア君「画像じゃわからないけど、音楽がなってないや。とりあえず timidity を -iA で動かしてみたけど、それでもならないから、うーん、なんだろうね。」
キリルン「音楽なってないと寂しいですね。」
ルギア君「若干動作がもっさりしてるけど、たぶん、パソコンの性能の問題だろう。RPG ツクールのランタイムも重そうだし。」
f:id:lugia:20110626021721p:image
ルギア君「これは、音はなるけど、絵が変だね。これじゃあ、プレイできないねぇ。」
キリルン「東方の他はどうなの?」
ルギア君「ちょっと Windows の領域にたまたまインストールされてなかったからわからないや。あとでやってみる」
キリルン「っていうと忘れるんですよね。」
ルギア君「だろうな。あ、そうそう、東方地霊殿と言えば、とても遅いって前に書いたけど、さすが、時代の流れが解決してくれたようで、普通の速度で動いている。もしかしたら絵が正常に表示されていないから、かもしれないが。」
アルル君「ふむふむ。」
f:id:lugia:20110626023518p:image
ルギア君「このゲームは…うーん、これもかなりもっさりしてる。って誰かも言ってたな。」
アルル君「誰が?」
ルギア君「忘れた。Queue の入っている建物を選択しているととても動作が遅い。Queue の数が多ければ多いほど遅くなる。表示の問題らしく、複数選択してキューを入れたりすれば遅くならずに済む。」
アルル君「ほう。」
ルギア君「もうひとつの RTS ゲームはデバッガを無効にしてくれと英語で言われて起動しない。このやりかたは僕はわからん。」
アルル君「ほう。」
ルギア君「Wine のデータベースによれば、nations.exe ではなく rise.exe を起動しろっていうことらしいが、どっちもダメだった。」
アルル君「ふむ。」
ルギア君「これの拡張の方のプログラムを起動すると、CD からインストールしてくれと言われるので、その辺はあとで試してみるとする。」

*1:本当はこれはしない方がいい。特に sources 以下は。

*2:例えば、txfonts.map と txr.map txr1.map txr2.map txr3.map など。

*3:この URL は Momonga Linux の development レポジトリなので注意。