今更自動化
僕は Debian GNU/Linux というディストリビューションを使っているのだが、いくつかのツールはディストロの管理に依存せず、自分でソースを管理してビルドしている。これは昔からそうしていたから、というのと、やはりディストロのパッケージはカタくできているものなので、最新版を使っている場合にはこの方が都合がいいから、というのもある。
じゃあ具体的に何をそうしているのか、というと、まずは Kernel である。言うまでもなく、Kernel は Linux の中核を成すものなわけだけど、僕は定期的に kernel.org の finger server を覗くようにしていて、Kernel のアップデートがあったときにはアーカイブを落として、自分で debian package を作成している。
そして、GNU Emacs も自力でビルドしている。XEmacs が流行った頃に、GNU Emacs の cvs 版の方がいいなあ、という話をあちこちで聞き、当時はまだ電総研(現在の産総研)で公開されていたソースを落として build するようになって(それ以前も GNU からソースを取ってきてビルドしていたのだが)、それ以来自分で管理する習慣がついてしまった。一時期は Debian のパッケージを使ってみたこともあるのだが、現在は Bazaar で公開されているソースを落としてビルドしている。
Emacs 周辺のパッケージ、具体的には Mew, APEL, Emacs-w3n, FLIM, navi2ch, SKK, twittering-mode 等だが、これらも自分で管理している。具体的には anoncvs や Git でソースツリーを更新しつつ、定期的に自分でビルドしているわけだが、最近は Debian のパッケージを入れると、依存関係の解消のために不要なパッケージが入ってくるのが厭になってGit も自分でビルドするようになってしまった。こうなってくると、いちいち自力でやるのに一日何分かを費すことになるわけだ。
まあ、こう書くと、何をそんな面倒なことをやっているのか、と言われそうだけど、bash の強力なヒストリを使えば、そう入力に困ることはなかった。だから完全手動でやっていたのだけど、さすがにこれも面倒だし、暇があるときに一日に2度 Emacs のビルドをしていたりすると、ああこういうのがいかんのだよな、とか考えて自己嫌悪に陥る。そこで、shell script を書いて cron で自動実行するように整えた。これで一日に1度だけ、ネットワークも端末の負荷も軽い時間に、端末が自動的にその作業をしてくれるようになったわけだ。
本当は、こういうことをまず自動化できることこそが、Linux を使っていて便利なところのはずなんだけど……どうも、いかんな。