2003-05-24

λ tDiary FreeBSD用ports との闘い

複数のtDiaryを運営するような ports の作成の前段階として、 fkimura さんが作成された Makefile (リンク先に書いてあるのはMakefileではなくインストール用スクリプト) の理解をしようと portlint -A してみたり他のportsのMakefileを参照したりして、下記のように修正してみた。 理解できた限りで ports の流儀に従うように書いたつもり。

λ 複数のtDiaryを運営する場合 /usr/local/share/example/ の下に本番ファイルがあるのもナニなので、全般的に example/ を削除してある。

(このまま利用する場合、tdiary-FreeBSD.sh からも example/ を抜く必要あり。)

λ プラグインは相対シンボリックリンクで

個人的な趣味ではあったが、副作用として post-install の pkg-plist 作成している部分が簡単になった。

また、make の指定時のマクロは ruby のモジュール名ではなく プラグイン名で指定するように変更。

ただ日記を付けるだけのユーザはrubyのモジュールには興味ないだろうから。

λ ${TAR} in ports

cp -pR だとシンボリックリンクを 上書きしようとする場合にコケる。 /usr/ports/Mk/bsd.ports.mk に pax へのマクロが実装されていないため、昔ながらの tar でディレクトリを再帰的にコピーする方法を 利用することにした。

λ chown -R root:wheel を chown + chgrp に分割

ユーザとグループをchownで両方指定すると文句言うので分割。コロンが含まれたユーザとかがいるとヤバイということであろう。

λ find . -type d -depth

ディレクトリの削除は深いところから順番に。ソートはいらんでしょ。

λ 絵日記プラグイン

の事を考えると、Webから更新した情報を取り込むのも優先順位高いよなあ。

λ 日記ファイルにコメント行

今までTDSで ## で始まる行は表示されないという機能を使ってメモ代わりにしていたのをどうしよう。

俺フィルター? Wikiスタイルがコメントをサポートしてくれれば移行する気になるのだが。

「何も出力しないプラグイン」という技はあるにしても。

λ Subversion + dailyupdate.rb

一応23日分から Subversion + dailyupdate.rb で更新している。

実験を兼ねているので更新しまくり。

λ Scarletテーマ

どんなケバい画面になるのかと思ったら、手元のThinkPadだとどちらかというとワイン色ベースで結構落ち着く。

今回の劇団☆新感線「紅天狗」の歌の一節 "Scarlet Phantom〜It's a daemon〜♪" が最近頭から離れないのも選択の理由。

アンカーの茸が天狗のお面になると完璧なのに。

λ rdfを吐き出すプラグイン パッチ

実行環境の値を取り出すのは プラグインで説明されている @cgi経由で取得するのがスジであろうとちょっとした修正。作者にメールを送ってみた。

λ PATH_INFOとREQUEST_URI

環境によっては

@cgi.path_info でPATH_INFO環境変数が取得できない。

cgi.rb は @cgi.request_uri によるREQUEST_URIの取得ができないので、結局環境変数に頼ることになる。なんてこった。

[]