hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
12/21/2002 髪
■ 飲み
昨日は飲み会でした。いつものごとく数人が電車で会場まで行き、二次会で徹夜カラオケ。いつもと違ったのは、下ネタで始まり下ネタで終わったことですかね。下ネタ以外で盛り上がったっけか?
野郎しかいない飲み会なんてこんなもんかも知れないですけどね。
■ 髪
髪切りに床屋に行ったんですよ。適当に要求を店員に言って、面倒臭いから寝たフリして*1終わるのを待ってました。さぁ終わったぞってな時、俺は目が悪い(=普段眼鏡っ子)ので、眼鏡をかけなおすまでどんな頭になったのか分からないわけですよ。
鏡を見ると、'70〜80年代のアイドルグループのような頭をした俺が立ってました。
大激怒!!
っていうかむしろショック。どーせ俺は癖毛だよ。
切ってしまったものは元に戻らないし、しょうがないから髪型だけでもマシにしようと家に速攻帰りましたが、その間羞恥プレイですよ。世を忍ぶ人たちの気持ちが少し分かったよママン。
くっそー、やっぱ少しでもカッコつけようとするなら床屋じゃダメだね。特に田舎では。
■ ぼやき
研究室の一部の人達に一言。あまり俺を買い被らないで下さい。
■ 灰羽連盟
最終話…あんなん泣くわ。どうも「泣かせる」話には弱い。それがたとえ狙って作られたものでも。だまされていたとしても。
■ 今日のBGM
MIND ODYSSEY - Keep It All Turning より "Fire in the Sky"
*1 この地方の人の世間話は、言語がおかしいので何言ってるのか分からないんですよ。妙な言語で世間話されても受け答え出来ません。
12/21/2003 ふむ
■ [Gentoo] ほ
むむ,テストパターンを生成するスクリプト がある! というわけで負けじと(?) このスクリプトにラッパーをかけて,自動的にテストさせるスクリプトを適当にでっちあげてみる.
#!/bin/bash
source /etc/init.d/functions.sh
for EBUILD in $@; do NAME="`basename ${EBUILD} .ebuild`"
grep IUSE ${EBUILD} | ruby usetest.rb | \ while read USE; do ebegin "Testing ebuild ${GOOD}${NAME} ${BRACKET}[ ${GOOD}${USE} ${BRACKET}] ${NORMAL}" eval "${USE} emerge =${NAME}" > /dev/null 2>&1 eend $? "Failed to emerge ${BAD}${NAME}${NORMAL} with ${BRACKET}[ ${BAD}${USE} ${BRACKET}]${NORMAL}" done done
これを実行すると,
root# ./usetest.sh /usr/portage.local/games-engines/onscripter/onscripter-20031129.ebuild * Testing ebuild onscripter-20031129 [ USE="oggvorbis avi mad" ] ... [ ok ] * Testing ebuild onscripter-20031129 [ USE="oggvorbis avi -mad" ] ... [ ok ] * Testing ebuild onscripter-20031129 [ USE="oggvorbis -avi mad" ] ... [ ok ] * Testing ebuild onscripter-20031129 [ USE="oggvorbis -avi -mad" ] ... [ ok ] * Testing ebuild onscripter-20031129 [ USE="-oggvorbis avi mad" ] ... * Failed to emerge onscripter-20031129 with [ USE="-oggvorbis avi mad" ] [ !! ]
* Testing ebuild onscripter-20031129 [ USE="-oggvorbis avi -mad" ] ... * Failed to emerge onscripter-20031129 with [ USE="-oggvorbis avi -mad" ] [ !! ]
* Testing ebuild onscripter-20031129 [ USE="-oggvorbis -avi mad" ] ... * Failed to emerge onscripter-20031129 with [ USE="-oggvorbis -avi mad" ] [ !! ]
* Testing ebuild onscripter-20031129 [ USE="-oggvorbis -avi -mad" ] ... * Failed to emerge onscripter-20031129 with [ USE="-oggvorbis -avi -mad" ] [ !! ]
うまく動かなかったやつは [ !! ] が出る*1.
見て分かるとおり(分かんねーよ),以下のような制限がある.
- 対象 ebuild が PORTDIR(_OVERLAY) なディレクトリになければならない (個人的に ebuild 直指定で emerge するのは嫌いなので)
- メッセージを全て殺すので,エラーがあったとしても何がなんだか分からない
- スゲー時間かかるくせにメッセージや進捗が表示されないのでまだかまだかとやきもきしてしまう
- 途中でやめれない (やめたかったら Ctrl-C を高橋名人もびっくりなくらい連打)
- エラー出ても die しないような ebuild だと超意味なしスクリプトと化す (ていうかエラー出たら die して下さい)
…ダメダメじゃん.
思いつく使い方としては,引数の ebuild は複数指定できるので,テストしたい ebuild を寝る前に一気に指定しておいて,エラーがあった分を後日検証するとか,そんな感じかな.
■ [Gentoo] というわけで
「メッセージをすべて殺す」と「途中でやめれない」をなんとかした (ような気がする) バージョン を作ってみました.無駄に長いのでファイルとして上げときます.
もうなんて言うかかなりやっつけに近いスクリプトですが僕のシェルプログラミング能力なんてこの程度です.てかもっと突っ込んだことやろうとしたら Python で portage.py 使ってやるのが吉かと.
■ [音楽] うげ
$ ls ~/data/MP3/HR-HM Accept/ Fire-Wind/ Nightwish/ Stratovarius/ Angra/ Gamma-Ray/ Nostradameus/ Symphony-X/ Arch-Enemy/ Gardenian/ Primal-Fear/ System-Of-A-Down/ At-The-Gates/ Green-Day/ Queensryche/ Ten/ At-Vance/ Hammer-Fall/ Rage/ Terra-Nova/ Axel-Rudi-Pell/ Helloween/ Rhapsody/ The-Encyclopedia-Of-German-Metal/ Bon-Jovi/ Highload/ Ring-Of-Fire/ Thunderhead/ Children-Of-Bodom/ Impellitteri/ Royal-Hunt/ Twilightning/ Daniele-Liverani/ Iron-Maiden/ Running-Wild/ V2/ Dark-Moor/ Iron-Savior/ Rush/ Valiance/ Defleshed/ Jordan-Rudess/ Santana/ Vision-Divine/ Delight/ Lana-Lane/ Savatage/ X/ Dream-Evil/ Luca-Turilli/ Secret-Sphere/ Yngwie/ Dream-Theater/ Manowar/ Sinner/ 陰陽座/ Drowning-Pool/ Metal1/ Slipknot/ 特撮/ Fair-Warning/ Mind-Odyssey/ Sonata-Arctica/
$ find ~/data/MP3/HR-HM -name *.mp3 | wc -l 1724
$ du -hs ~/data/MP3/HR-HM 8.6G /home/atzm/data/MP3/HR-HM
よくもまあこんだけ CD 買ったもんだな….
アルバムや曲目をリスティングするととんでもないことになるので省略.アルバムの数は↓
$ find ~/data/MP3/HR-HM -maxdepth 2 -mindepth 2 -type d | wc -l 147
*1 ちなみにこれは use oggvorbis || die を挿入してテストした結果なのでエラーが出て当然
□ なかの [ああ、これ欲しいなぁと思ってました。ただUSEが10個くらいあるやつだとemerge1000回か・・修行だな(^^;..]
□ atzm [僕は全然構わないですが,テストパターンを生成する部分は bashi さんのスクリプトですので確認を取らないと…. ..]
□ なかの [「メッセージをすべて殺す」と「途中でやめれない」は、なんとかなるとうれしいなぁ。メッセージはオプションで出す出さない..]
□ atzm [ebuild にするとなると SRC_URI が微妙ですねぇ. 永久的にここにおいておけるわけじゃないので…. ]
□ usata [では gentoojp に置くということで ;-) ]
□ atzm [そですね,一瞬 files に入れてしまうかとも思いましたが GentooJP に置くのが一番かも. ]
□ bashi [私の拙いスクリプトで良ければ是非使ってやってください:-) やっつけ仕事で作ったものなので問題があるかも知れませんが..]
□ atzm [おぉっ,ありがとうございます. ありがたく使わせて頂きますね.:) ]