sh != bash

autoconf や automake 、configure が意図した動きをしなくて嵌る。Kubuntu に持っていって動かしたらちゃんと動いてしまった。なせ!?

それは linux 系は sh が bash だからなんだよ。

こんな基本的なことに気が付くのに丸一日かけちまった。

bash ./configure

これでちゃんと動いた。autotools は bash が必要なんだと無理やり納得することにした。

うかでみーセクシー賞予選 A ブロック終了

なんというか思いのほか票が入ってびっくり。2桁行くとは思わなかったなあ。小野さんの支援絵投下に狂喜乱舞ですよ。いつもありがとうございます。
会場で宣伝してないけど追加シェルの椅子と炬燵を再公開開始。定義とか少しだけリファイン。床とコンパチにするのは無理。あとレポもでっちあげ書いてみた。
新人賞の時は机シェルとおやすみさくらでもできたら出そう。

うかでみーセクシー賞予選 A ブロック

ゆかさくら?がエントリーされるという珍事。予選エントリーゴーストの中で最も縁遠いのではないかなあ。他にもっといただろうに・・・。

そうは言ってもお祭り事なので、同じブロックのゴーストさんに切り替えトーク追加。いいネタが浮かばなかったので面白くないかもしれない。

だがしかし!二匹はねこねこ2〜MaxHeart〜には床でしかできないネタを仕込んだ。まあ苦笑していただければ幸いですかね。

さて、ほったらかしになってる椅子、机、炬燵シェルをなんとかするか。

turn to freebsd-update binary

自前でビルドしたバイナリを security/freebsd-update が受け付けるツリーに戻す方法。開発元の資料を参考にした。

  • シェルは sh。
  • 参考にする場合は自己責任で。

security/freebsd-update をインストールして設定ファイルを作る。

cd /usr/ports/security/freebsd-update
make install clean
cd /usr/local/etc
cp freebsd-update.conf.sample freebsd-update.conf

下準備。

export FU=/var/tmp/fu
for dir in iso release work; do
mkdir -p ${FU}/${dir}
done
cd ${FU}

公式リリースを用意する。

fetch -o iso/disc1.iso ftp://ftp.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.1/6.1-RELEASE-i386-disc1.iso
mdconfig -a -t vnode -f ${FU}/iso/disc1.iso -u 9
mount -t cd9660 -o ro /dev/md9 /mnt

カーネルの展開。SMP カーネルなら smp を指定。

cd /mnt/6.1-RELEASE/kernels
./install.sh generic
cd /boot
mv kernel kernel.old
mv GENERIC kernel
cd ${FU}

ローカルで変更されたファイルリストを作る。

freebsd-update -v IDS | tail +8 | grep . | cut -c 2- - > work/base-modified

etc の下の戻されては困るもの(master.passwd, pwd.db 等)とか戻さなくてもいいもの(catman 等)を削除する。

vi work/base-modified

変更リストから公式リリースのファイルを展開してみる。games とか catpages とか proflibs とかはお好みでどうぞ。

for dist in base dict doc manpages; do
cat /mnt/6.1-RELEASE/${dist}/${dist}.?? |
tar -xpzf - -I work/base-modified -C ${FU}/release
done 2>/dev/null

展開したファイルのリストと変更リストの差分を取って確認。カーネルカーネルモジュールが入ってないのは展開してないから。

find release -type f | cut -d / -f 2- - | uniq | sort > work/base-release
diff -u work/base-modified work/base-release

実際にファイルを展開。お祈りは忘れずに。

sed s/^/\\\// work/base-release | xargs chflags noschg
for dist in base dict doc manpages; do
/mnt/rescue/cat /mnt/6.1-RELEASE/${dist}/${dist}.?? |
/mnt/rescue/tar -Uxpzf - -I work/base-release -C /
done 2>/dev/null

後始末。

umount /mnt
mdconfig -d -u 9
cd ~
rm -rf ${FU}

お祈りしながら再起動。

shutdown -r now

ちゃんと更新されたか確認。

freebsd-update -v IDS | more

freebsd-update で更新。

freebsd-update fetch
freebsd-update install

結論。

  • コンソールに触れるなら再インストールするか Upgrade インストールの方が早くて確実。
  • 1度 SEGV の嵐になって再起動された。ld-elf.so とか更新するしなあ。
  • ネットワーク越しにやるならバックアップと失敗したときの復旧手段は必要かも。

皆口つぐみ公開サイト - 憑姫 -

大急ぎででっち上げました。FirefoxIEOpera で表示確認したので大きく崩れることはないと思う。しっかし手抜きの HikiCSS だ。
リンクは http://tsugumi.nanika.jp/ でお願いします。よさげな CMS を見つけたら乗り換えるのでー。

皆口つぐみ

β公開はじめました。まだβなのは時計合わせとかメールチェックとかヘッドラインとか作ったけど確認してないのでー。あとサイトの方もできてないからってことで。肝心なところは出来てるのであとはネットワーク更新でなんとかなる。
もう Marble Note とゴーストセンターには登録されてるのね。
あと SSP 拡張タグ使ってるので Materia だと意図した通りに動いてくれません。CROW はどうだったかな?