2008年11月17日(月) 病み上がり [同日]
● カテキンとかカフェインとかに頼りっきりのようです。こまったね。
● [git] use "git add ..." to update what will be committed
先週TaskJugglerのパッケージにドキュメントを含めたものを作って喜んでいたら、githubにその変更が上がっていなかった。あれ?git push origin masterしたよなあ、と思って週明けに職場に来てみたら、どうもローカルなレポジトリにもcommitされてない。
git statusすると、「modified: taskjuggler/taskjuggler.spec」ってコメントマークのうしろに表示されるのね。git diffでは何も変更点が見えないけれど、パスを明示して、git diff taskjuggler/taskjuggler.specすると確かに最後に施した変更が見える。git add taskjuggler/taskjuggler.spec、git commit、git push origin masterしたら期待通りの状態になったようです。CVSやsubversionに慣れてる身としてはちょっと直感と違うなあ。やっぱりひととおりチュートリアルをやらないといけなさそうです。いつ。
● RPMパッケージに含める例示ファイルのパス
それはそうと、specファイルの%installセクションで%{_docdir}にドキュメントをインストールしても、%filesセクションの最初に消されちゃうんですね。%docで相対パス指定したファイルだけが後からコピーされる。今のところ、TaskJugglerのデフォルトのまま、/usr/share/doc/packages/taskjugglerに入ったファイルも%docとしてパッケージに含めたのですが、できれば%{_docdir} (って/usr/share/doc/taskjuggler-2.4.1-2mみたいなところ) に含めたいような気もします。どうするのがいいのかな。
● [run] CSO+76+行き止まり+CSO+坂途中までの登り1回 1時間06分03秒
古い靴、皮膚リミット。
最後の登りは無酸素状態でたぶん乳酸が溜まる(筋肉痛がある)のがわかった。やっぱりこれくらいやらんとだめか。
走り終わってから喉が痛い。これだけ湿度があっても風邪だと喉に来るんだね。日本の冬はやっぱり走らない方が良さそうに思える。
● [DocoMomo] 開発マシンでフラッシュメモリ無しで試験できるようにする (失敗編)
Momonga 4でqemu-0.9.1-2m.mo4.i686。これでMomonga 5に移行する準備を整える!
まずはUSBメモリを挿してQEMUからブートできるのを確かめる。とりあえずrun level 1まででいい。
# make boot-qemu
これでgrubのメニューからrun level 1になるように編集。すごいぞ自分。
sh-3.2# sycn;sync;poweroff
でちゃんとSystem Haltまで行く。あれウインドウが閉じないのは仕様?
次に、前もって512MBのパーティションを切っておいたのでそこにDocoMomoをインストールする。えーと、Makefileの変数を強制的に書き換えて、
$ make -n usb_disk=sdb2 | lv
ところどころsdb21というパーティションが現われている。 デバイスファイル名に単純に「1」を追加してるのがいかんのだよね。 どうせMomongaでしか使わないのでGNU makeの置換機能を探す…見つけられん。 sedでゆるちて。デバイスファイル名に数字が含まれてたら1を付け足すのを止める。
-target_dev = /dev/${usb_disk}1
+target_dev = /dev/$(shell echo ${usb_disk} | sed '/[0-9]/q;s/$$/1/;q')
あと、installのたびにyum updateするのも止めとこう。
-$(root_dir)/etc/docomomo-release: update-packages +$(root_dir)/etc/docomomo-release: install-packages
これで試してみる。
# /sbin/mkfs.vfat /dev/sdb2 # make usb_disk=sdb2 install
あれ。yum updateが走っちゃったよ。他にも依存があったかな?
if [ ! -e ./mnt/boot/grub/device.map ]; then /sbin/grub-install --root-directory=`python ./scripts/absolute-path.py ./mnt` /dev/sdb2; fi Probing devices to guess BIOS drives. This may take a long time. Installation finished. No error reported. This is the contents of the device map /home/zunda/local/src/docomomo/mnt/boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'. (fd0) /dev/fd0 (hd0) /dev/sda (hd1) /dev/sdb (hd2) /dev/sdc
さて。
# make usb_disk=sdb2 boot-qemu : ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (494 MBytes) ata1 master: QEMU CD-ROM ATAPI-4 CD-Rom/DVD-Rom Booting from Hard Disk... GRUB Geom Error_
しょぼん。
device.mapを下記のようにしてみよう。
(hd0) /dev/sdb2
さあどうだ。
# make usb_disk=sdb2 mount-usb # vi mnt/boot/grub/device.map # /sbin/grub-install --root-directory=`python ./scripts/absolute-path.py ./mnt` /dev/sdb2 # make usb_disk=sdb2 umount-usb # make usb_disk=sdb2 boot-qemu
おんなじエラー。しょぼん。最初のパーティションじゃないと騙せないかな。
今日はここまで。
脳味噌から汁が出るくらい考える。こともある。
最近のツッコまれどころ