2009-02-09(月) [長年日記]
■ hatena-graph-update 1.2.2 (ついでにgemの作り方)
hatena-graph-updateを更新した。ええと、前回が2年前ですか……。
当初の目的だった(今風にいえば)レコーディングダイエットは、だいたい何を食べればどれくらいのカロリーがあるのかわかってしまったので止めている。だからもうメールでグラフを更新する動機はないのだけれど、ずいぶん前にはてなグラフのAPIにget_dataが増えていたので、対応させなきゃなぁ……と思い続けていたのだ(おせぇ)。
で、せっかくなのでgemを作ってみた。人より2年ほど遅れております。みんながGithub使ってるご時世に、いまごろRubyforgeだよ。
gem作成にはhoeを使うことにする。
% gem install hoe
hoeを入れると、雛形を作るsowコマンドが使えるようになる(lennyでは/var/lib/gems/1.8/binの下に入るのでPATHを通す):
% cd hatenagraphup % sow hatenagraphup
ファイルがいくつかできるので、表示された「FIX」の部分を適当に書き換える。さらに、Manifest.txtを編集して、パッケージに入れたいファイルを明記する。Rakefileでrequireしているlib下のファイルでVERSIONを定義したり、History.txtの記述がないと、このあとの自動処理がうまくいかない。
あと、Rakefileが提供するタスクがかなりいろいろ便利なので、「rake -T」して確認しておくべし。
続いてRubyforgeのセットアップをする(rubyforgeコマンドもgemですでに入ってる):
% rubyforge setup
エディタが起動して、Rubyforgeのユーザ名・パスワードを入力させられる。できた設定ファイルが~/.rubyforgeの下にあるけど、パーミッションがひどい(ヤバい)のであとで変えといた方がいいと思う。
続いてconfigをかけると、Rubyforgeから自分のプロジェクトの情報が取れる:
% rubyforge config
ここまでできれば、gemを作ってリリースまでできる(はず):
% svn ci # リリース前にちゃんとciしておくべき % rake release VERSION=x.y.z # どのバージョンをリリースするか
ふむ。いっぺんやると、二度目は楽そうだ。
2009-02-08(日) [長年日記]
■ Ruby会議2009公式Webサイト公開
Ruby会議2009のサイトがオープン。今年はやっと専用ドメインになった(笑)。今年も実行委員の一員として働いております(まだあんまり働いてないけど)。
CFPも同時公開。今年は3トラックくらいできるので、去年よりもずっと敷居が低いはず。
以下日記。
今日はこれらのことを最終的に決めるはずのRubyKaigi会議だったんだけど、途中で急に気分が悪くなって新宿駅でUターンしてしまった。帰ってきてしばらく寝てたらよくなったけど、熱もないし、悪いものを食べた記憶もないし、なんだかわけがわからない。
なんか最近、体調崩すことが多くていやになるなぁ。
2009-02-07(土) [長年日記]
■ Debian lenny導入メモ(on VMware Player)
マジ個人的な作業メモ。なんか、この日記を始めた頃のことを思い出したよ。当時はKondaraだったが。
さすがにインストールでつまづく時代ではないので省略。パッケージのセットは、「Webサーバ」と「ファイルサーバ」を選択。インストール直後、まだVMwareのコンソールからしか入れない段階で最低必要なパッケージを導入:
# aptitude install sudo zsh vim subversion ssh screen keychain ruby
rubyは最新の1.8.7-p72ですな。1.9.1はあとで野良ビルドする。
sudoの設定。visudoして以下を追加:
sho ALL=(ALL) NOPASSWD: ALL
sambaをセットアップして、sshの鍵をコピーするための穴のあける。
# smbpasswd -a sho # vi /etc/samba/smb.conf ([homes]のread onlyを「no」にする。ファイルのパーミッションは775に)
sshを設定。Windows側の公開鍵を、samba経由で~/.ssh/authorized_keysへ。パーミッションを適切に設定する。
Windows側の/etc/hostsに192.168.43.128を追加。これはDHCPらしいので、あとで固定に変更していいかも。 Poderosaからログインできたら、コンソールは不要なのでTrayIt!あたりで目立たなくしてしまってよい。
あとは.screenrcにUTF-8関連の設定を追加。
defencoding utf-8 encoding utf-8 utf-8 cjkwidth on
■ lenny上のruby 1.9.1のビルドでparse.cのコンパイルが固まる
続いてruby 1.9.1を野良ビルド。そもそもこれが目的である。まずは必要なパッケージを導入。
% sudo aptitude install gcc make libreadline-dev zlib1g-dev bison
続いてruby 1.9.1を持ってきてビルド。
% wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.1-p0.tar.gz % tar zxf ruby-1.9.1-p0.tar.gz % cd ruby-1.9.1-p0 % ./configure --prefix=/home/sho --program-suffix=19 && make
あとは待ってればいい……はずだったのに、待てど暮らせど終わらない。parse.cのコンパイルでえらい時間がかかっている。メモリの割り当てが足らないのかと思い、VMwareの設定を128→256MBにしてみたがダメ。
などと嘆いていたら、Twitterでヒントをもらった。詳細は1.9.1のビルドがparse.cのコンパイルで詰まっていた件。なぜか-O2ではダメらしい。先週、職場のマシンに入れたVMwareでは問題なかったのに、なんで???
まぁいいや、これで通るようになった(丸写しすぎ)。
% optflags="-O3 -pipe" ./configure --prefix=/home/sho --program-suffix=19 && make
まだmake test-allが最後まで走らないけど、追ってなんとかする。
■ screenとUTF-8の相性をなんとかする
さて、先日書いたUTF-8環境でscreenがおかしい件、パッケージを作り直せばいいというすばらしい情報をもらったけど……ハードル高いなぁ!
Kondara時代はrpmを作り直すなんて日常茶飯事だったけど、debianになってから自力でdeb作ったことなんてないし。とりあえず、見よう見まねでやってみた作業記録を試行錯誤の部分を削って書いておく。というか、おまじないだらけで、書いておかないと二度と同じことができない(笑)。
まずはパッケージ再作成に必要なパッケージを導入。deb一般だけでなく、screenのビルドに必要なものも含む:
% sudo aptitude install pentium-builder dpkg-dev fakeroot libncursesw5-dev libpam0g-dev debhelper dpatch
ソースパッケージを取得:
% mkdir screen % cd screen % apt-get source screen
あと、教えてもらったパッチを取得して置いておく(patch-cjkwidth-cvs-2006052001)。
Debianのパッチはdiffじゃなくてdpatchというもので管理されてるそうなので、dpatch用のパッチを作成しなくてはならない。持ってきたdiffを元にして作成する:
% cp -a screen-4.0.3 screen-4.0.3.orig % cd screen-4.0.3 % patch < ../patch-cjkwidth-cvs-2006052001 % cd .. % diff -Nru screen-4.0.3.orig screen-4.0.3 > cjkwidth.diff % mv screen-4.0.3.orig screen-4.0.3 % cd screen-4.0.3/debian/patches % dpatch patch-template -p 60cjkwidth "support cjkwidth" < ../../../cjkwidth.diff > 60cjkwidth.dpatch
ようするに、debian/patchの下に、60cjkwidth.dpatchを作成する手順である。60というのはdebian/patchesの下にある複数のパッチの最後が50~だったので。
同じdebian/patchesにある00listをエディタで開き、「40cjk_eastasian」の行を削り、代わりに「60cjkwidth」を追加する。これでcjkまわりのパッチが入れ替わったパッケージが作れる。
じゃあ作ってみましょう。
% cd ../.. % dpkg-buildpackage -rfakeroot -uc -b
これで上のディレクトリにdebファイルができてるはず。本来ならパッケージ名とかも変えるべき。インストールしておわり。
% sudo dpkg -i screen_4.0.3-11_i386.deb
で、結果としてどうなったかというと、改善したけどまだダメ~というところ。こないだ書いた、w3mのステータス行の問題はまったく改善されていないが、表示はよくなった部分もある。特にvimでのトラブルはほとんどなくなったので、何か書くのに困ることはなさそう。
うーん、w3m捨てちまおうかなー。
◆ densuke [元コメントにあったように「かなりマシ」というレベルなんですよね。 個人的にはこれと http://debian.fa..]
◆ ただただし [うっ、うちのw3mには「ある種のUnicode文字を全角にする」なんて設定がない(笑)。なんかおかしいな……]
◆ ay [「ある種の~」は http://d.hatena.ne.jp/macks/20061001 が参考になると思います。..]
◆ ただただし [おー、ありがとうございます! パッチは試してみたいと思います。ちょっといま時間がない……。]