〜2004年5月下旬〜
これってなんでそうしたんだっけかなあ。 LDSHAREDがld -bだから-Wl,-Eが渡されたら絶対まずい気がする。 調べてからメール出そう。今日はもう眠い。
ext/tcltklib/extconf.rbにtry_runが入っていることに、今日気づいた。 これを使うとクロスの環境ではmakeできなくなってしまう。 そうか。 threadが有効かどうかを調べるのにこの方法を取ったのか。 最近ちょっとさぼりすぎた。もうちょっとまめにクロスでmakeしないと。
さて、autoconfのAC_TRY_RUNなら環境変数で教えてあげれば回避可能なんだけど、 mkmf.rbのtry_runはそんなオプションはない。 どうすべきか。 一応投げとこ。
minirubyを作る際にXLDFLAGSを使うという提案をした。 でも、configure.inを見ると、AIXの
XLDFLAGS="$XLDFLAGS -Wl,-bE:ruby.imp"
が気になる。なんかAIXとHP-UXは常に問題ありだな。 自由に使えるマシンがあればなんとかなるんだけど。
2009年末まで用意してあります。 確認してみるとちゃんと存在しているので、 browserかproxyのcacheにアクセスしてしまってるんじゃないでしょうか? FirefoxのRSS Reader Panelだとなんかそんな感じになりやすいようです(経験済み)。 reloadすると出てきたり。
なぜか標準セットのほうにはlily.cgiが同梱されてないようだ。 lily本体からlily.cgiを取ってくる。 またそのまま採用された模様。どうもです。 考えてみるとstorysじゃなくてstoriesか。
さて、dist_*をさらに思い切り書き換えてしまったし、どうしたもんかな。 pluginに追い出すか。
enable_configはtrue, false, nilを返す。 つまり
という3つ状態がわかるようになっている。
クロスコンパイルを考えるとtry_run()は無条件に使えないんだから、try_run()の中にenable_config()があるべきなのかもしれない。 でも、enable_config()の引数を固定にしても意味ないし、 try_run()の引数を増やすのもなんだし、うーむ。
国民年金未納詐欺ときたか。ほんといろいろ考えるな。
Windowsだけかな?Linuxも作ってよ。
いつのまにかRAAの各プロジェクトのURLが/project/foo/になっていることに気づいた。 この間のversion upのときらしい。
* /project/prjname shows project summary page for users whereas list.rhtml?name=prjname shows project page for owner.
ruby-talk MLのnews gatewayをとめようという案が出てる。 どうも黒daveさんの記事がcomp.lang.rubyへ出て行かない、 なんか一方通行気味だということからそんな提案になったようだ。 MLの管理の面ではとめてくれたほうがありがたいというのはこの際置いといて、 まずはgatewayをなんとかしろというか。どこかにソースが公開されてるんだっけ? まあ、双方向うまく届いたとしても、 あの量からいってどうせ全記事を読むわけじゃないんだし、 一方通行でもいいじゃん。
そういえば最近の
Subject: What so special about PostgreSQL and other RDBMS?
のようなあまりRubyに関係ない、しかも長い話が延々クロスポストされてるのを見ると、 gatewayなんかなくてもいいと思わないでもない。
ええと、速くなったってことかな。
One special note is called for in this release -- Corinna Vinschen and Pierre Humblet have spent a lot of time on performance in this release and it shows. In running the test suites prior to releasing this, I was really struck by how much snappier cygwin 1.5.10 felt when compared to 1.5.9. So, hats off to Corinna and Pierre.
インストールは明日。
毎度お馴染のドタバタがあったようだ。
I somehow managed not to test the version of cygwin that I uploaded to sourceware.org and screwed up some things which made cygwin applications fail to start at all. That's the bad news.
早速1.5.10-2が出たようだけど、まだミラーされてなかった。 1.5.9で困ってるわけでもないし、しばらく様子を見よう。
samidare の機能拡張版。 なかなか面白そう。公開されるのが楽しみ。
夜になってc.l.rからどっと流れて来た。 この議論白熱の最中に落ちてたんだろうか? それともへそを曲げてとめてたとか。
まずは Ruby Banariesのcygwin,mingw32,djgppを安全性を確認。 と言っても単にいつもrsyncを実行するだけなんだけど。
Rubyのソースのtarballを確認するためにRHGのCD-ROMを探したが見つからず。 どうせruby-lang.orgに行けばいつもあるしと思うとCD-ROMも存外に扱ってしまいがち。
見つかった。tarballは全部確認した。
プラグインを実現する方法としてはreadしてeval系を使用するというのが多い。 requireやloadってあまり聞かないなあ。トップレベルとかの問題だろうか?
$SAFE == 1のときになるべくuntaintしないで済むを方法はないかなと考えてみた。
module PluginFoo def bar end end
という感じでfoo.rbというプラグインを作り、
class Foo def initialize Dir['plugin/**/*.rb'].each do |plugin| begin require File.expand_path(plugin).untaint rescue Exception 例外の処理 end ObjectSpace.each_object(Module) do |mod| if mod.class == Module and /^Plugin/ =~ mod.to_s extend mod end end end end end
のように、extendするのはどうだろう?
差分は途中からreversed patchになっているので注意。 1個1個別々にdiffを取ったようだ。
実に久し振りのリリースだ。
Changes:
Support for POSIX.1-2001 and ustar archive formats was added. A new --format option selects the output archive format. The default output format can be selected at configuration time by presetting the environment variable DEFAULT_ARCHIVE_FORMAT (allowed values are GNU, V7, OLDGNU, USTAR, and POSIX). A new --strip-path option cuts off a given number of path elements from the name of the files being extracted.
--strip-pathは結構便利だな。
% tar xfv cygwin-1.5.10-3.tar.bz2 --bz --strip-path 2 usr/bin/cygwin1.dll usr/bin/cygwin1.dll % ls cygwin1.dll cygwin1.dll
のように、取り出せるわけだ。 bzip2のオプションは-jらしいけど、 もう覚えるのが面倒なので、--bz(ip2)を使ってる。
Changes:
This is primarily a security-fix release, correcting a textmode data-corruption bug in 16-bit ports and several directory-traversal flaws (involving invalid filename characters, quoted characters, symlink traversal, and local/central-directory filename mismatches). It also adds support for restoring directory timestamps under Windows.