Just another Ruby porter,

〜2003年10月下旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2003-10-21 (Tue)

[Mail] ruby-bugs, ruby-bugs-ja

たまにSpamAssassinをすり抜けて来るspamがあるので、 ruby-talkで学習したデータベースをruby-bugs, ruby-bugs-jaで流用することにした。 さすがに共有は無理だよなあ。


2003-10-22 (Wed)

[Soft] Procps 3.1.14

Changes: Thread support is now fully working in ps. The H, -L, m, -m,
and -T options all work now, with and without sorting. This feature
requires an NPTL-capable glibc and a 2.6.0-test7 kernel; kernels as
old as 2.2.xx still work without thread display. The "top" program
display now works on a few more genuine serial terminals.

[Linux][Ruby] Rubyx

早く公開してくれないかなあ。


2003-10-23 (Thu)

マンハッタンラブストーリー

たまに遅く帰ってきたら、全然録れてないよ。 1時間も余裕見込んどいたのに、野球中継1時間50分延長だとぉ? 近々再放送が入ること祈ろう。

[Linux] Lunar Linux

[ruby-talk:84392]

The current app management system is in bash, but there
is talk of porting it to Ruby. Needless to say, I'm very
much in favor of that. Some porting work has already been
done by me and a couple of other developers.

2003-10-24 (Fri)

[Soft] fetchmail 6.2.5

configureすると

You can ignore any makedepend error messages:
"/usr/include/assert.h":104:  defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
                                                                  ^--- expecting :

と怒られるが、メッセージ通り無視してmake。

[Soft] Bogofilter 0.15.7

Changes: This release supports mailboxes in ANT format and MH maildirs,
can use QDBM as a database backend, and will use GSL (the GNU Scientific
Library) if it is available. A port to RISC-OS has been added, and many
bugfixes and updates have been made.

[Linux][Ruby] Rubyx

うーむ。Bitkeeperねえ。

% bk clone bk://ftp.rubyx.org/rubyx
BitKeeper/etc/SCCS/s.config
BitKeeper/etc/SCCS/s.ignore
BitKeeper/etc/SCCS/x.cmark
SCCS/s.ChangeSet
SCCS/s.init
SCCS/s.rubyx
SCCS/s.strfile.rb
260395 bytes uncompressed to 296151, 1.14X expansion
Looking for, and removing, any uncommitted deltas...
Removing any directories left empty ...
Set parent to bk://ftp.rubyx.org/rubyx
Running consistency check ...
Clone completed successfully.
% cd rubyx
% bk co
init 1.5: 1320 lines
rubyx 1.125: 6467 lines
strfile.rb 1.1: 192 lines
% ls -l
total 292
drwxrwxr-x    6 watanabe ruby         4096 Oct 25 01:34 BitKeeper
drwxrwxr-x    2 watanabe ruby         4096 Oct 25 01:34 SCCS
-r-xr-xr--    1 watanabe ruby        41285 Oct 25 01:34 init
-r-xr-xr-x    1 watanabe ruby       229829 Oct 25 01:34 rubyx
-r--r--r--    1 watanabe ruby         7072 Oct 25 01:34 strfile.rb
% wc rubyx
   6467   15314  229829 rubyx

このrubyxを見てて最初に気になったのは

#!/bin/ruby -w

だ。そこに置くのか。

なんかすごく見辛いインデントだと思ったら、ts=2だった。

このrubyx一つで全部やってしまうようで、たとえばapacheのはこんな感じだ。

class Pkg_Apache < Package
  def initialize()
    super('Apache HTTP server','2.0.47')
    @versions={
      '2.0.47'=>[['http','www.oss.redundant.com',
        '/pub/apache/httpd','httpd-2.0.47.tar.gz']]
    }
    needs('expat')
  end
  ...

そういうデータは分離してよ。切に。

% ruby rubyx --help
You must run rubyx as root

helpにroot権限は要らないでしょ。

どうもおいらとの相性はあまりよくないようだ。


2003-10-25 (Sat)

[Video] MATRIX RELOADED

難しい。MATRIXにストーリーなぞ望んでないのに。 明日もう一度見よう。

[Video] ALIVE

途中、対決/VERSUSというタイトルを見て、 ひょっとしてと思ったらやっぱり出てきたよ、新庄君(いや名前は全然違う)。 北村龍平はこの二人を余程気に入っているようで、使わないと気がすまないらしい。 「 あずみ」にも出てるようだ。

[TV] ビートたけしのこんなはずでは!!

10年振りぐらいに浮田君を見る。ゴングショーが懐しい。

[Ruby] 1.8.1

version.hが1.8.1になった。


2003-10-26 (Sun)

最近気になるもの

CMake
Mail::Audit

[Ruby] Ruby Binaries

1.6は1.6/へ移動させた。 それにともないsetup.iniも1.8を指すようになったので混乱を生じるかもしれない。

[DJGPP][Linux] Linux上にDJGPPのクロスコンパイラを作る(GCC 3.3.2)

用意するもの:

djcrx203.zip, gcc332s2.zip, gcc-3.3.2.tar.bz2, binutils-2.14.tar.bz2

djgppのファイルはたとえば v2v2gnuにある。 手順はdjcrx203.zipに付属するcross/howto.32を参考に。

% mkdir -p packages/cross
% cd packages

ここに上記の*.zipと*.tar.bz2を置く。

% cd cross
% unzip -a ../djcrx203.zip
% unzip -a ../gcc32s2.zip
% chmod +x unpack-gcc.sh
% ./unpack-gcc.sh ../gcc-3.3.2.tar.gz

これでgccのパッチあては終了。

% cd gnu
% tar xfv ../../binutils-2.14.tar.bz2 --bz

binutilsはそのままオリジナルが使える。 あとは普通にconfigureしてmakeすればいい。でも今日は時間切れ。


2003-10-27 (Mon)

[DJGPP][Linux] Linux上にDJGPPのクロスコンパイラを作る(GCC 3.3.2)

% mkdir -p /usr/local/djgpp/i586-pc-msdosdjgpp
% cd cross
% cp -av include lib /usr/local/djgpp/i586-pc-msdosdjgpp
% gcc -Os -s -o /usr/local/djgpp/bin/stubify src/stub/stubify.c
% cd gnu/binutils-2.14
% CFLAGS=-Os CXXFLAGS=-Os ./configure \
  --target=i586-pc-msdosdjgpp --disable-nls \
  --without-included-gettext --without-catgets \
  --disable-dependency-tracking --prefix=/usr/local/djgpp
% make all install
% cd ../gcc-3.32
% CFLAGS=-Os CXXFLAGS=-Os ./configure \
  --target=i586-pc-msdosdjgpp --enable-languages=c++ \
  --disable-nls --without-included-gettext --without-catgets \
  --prefix=/usr/local/djgpp
% make
<途中略>
getpwd.c: In function `getpwd':
getpwd.c:86: error: `PATH_MAX' undeclared (first use in this function)
getpwd.c:86: error: (Each undeclared identifier is reported only once
getpwd.c:86: error: for each function it appears in.)

うーむ。PATH_MAXは<limits.h>にあるんだけどな。 よくわからんが、-DPATH_MAX=512を追加してみる。 さらにlibstdc++-v3/testsuiteで_U, _L, _N等がないとエラーになる。 testsuiteはどうせ要らないから i586-pc-msdosdjgpp/libstdc++-v3/Makefileを直接いじって、 SUBDIRSからtestsuiteを外す。 あとはmake installで終了。


2003-10-28 (Tue)

[DJGPP][Linux] GCC 3.3.2

2.95.2, 2.95.3のときもlimits.hをいじってた。

% diff -u1 limits.h{.bak,}
--- limits.h.bak        2000-01-28 01:15:24.000000000 +0900
+++ limits.h    2000-01-28 01:54:09.000000000 +0900
@@ -7,2 +7,9 @@
 
+#define LINK_MAX                1
+#define MAX_CANON               126
+#define MAX_INPUT               126
+#define NAME_MAX                12      /* 8.3 */
+#define PATH_MAX                512     /* for future expansion */
+#define PIPE_BUF                512     /* but there aren't any pipes */
+
 /* Number of bits in a `char'.  */

[Ruby] ruby-talk

昨日の話ではあるが、 フィルタルールの事例を参考にして、cfに

&ADD_CONTENT_HANDLER('multipart/.*', 'text/plain', 'allow');
&ADD_CONTENT_HANDLER('multipart/.*', 'text/html', 'strip+notice');

を追加した。

[Soft] Apache 2.0.48

更新。


2003-10-29 (Wed)

[Book] Google Hacks

日本語訳。1/3ぐらい読んだが、いまいち物足りない。 英語でしか使えないような技だらけだからか?

[Ruby] ruby-talk

これを見るとmultipartのPGPなメールもstripしてしまってるような気がする。 ちとまずいか?


2003-10-30 (Thu)

[Ruby] Ruby 1.8.1 preview1

出たけど、ext/syck/yamlbyte.hが入ってないのでmakeは失敗する。 やはりMANIFESTは自動で作らないとだめだな。 ま、それならMANIFEST自体必要ないわけだけど。

マンハッタンラブストーリー

Hはハルコか。

[Ruby] ruby-bugs-ja

ruby-talkで学習したデータベースを流用したせいで日本語メールがspamと判断されてしまった。 日本語hamを食わせねば。

version.hからバージョンを取り出す

VAR=`grep RUBY_VERSION version.h | head -1 | awk '{print $3}' | tr -d '"'`

RUBY_VERSION_CODEがあるから、head -1してるみたいだけど、

VAR=`grep 'RUBY_VERSION ' version.h | awk '{print $3}' | tr -d '"'`

とすればheadを減らせる。RUBY_VERSIONももっと短くてもいい。 さらにそれをawkにやらせれば

VAR=`awk '/VERSION /{print $3}' version.h | tr -d '"'`

のようにgrepも要らない。最終的には

VAR=`awk '/VERSION /{print substr($3,2,length($3)-2)}' version.h`

とすればawkだけでできるが、って長くなってるじゃん。

sedならこんな感じ。

VAR=`sed -n '/VERSION /s/.*"\(.*\)"/\1/p' version.h`

GNU grep 2.5の-Pと-oを使えば

VAR=`grep -P -o '\d+\.\d+\.\d+' version.h`

でいいが、それはまた別の話。


2003-10-31 (Fri)

version.hからバージョンを取り出す

フィールドセパレータを指定すればもっと簡単になることに気づいた。

awk -F\" '/VERSION /{print $2}' version.h

exprを使うなら

expr "`head -1 version.h`" : '.*"\(.*\)"'

かなって、おお、awkと同じ長さだ。

awkをそのままPerlで書くと

perl -F\" -lane 'print $F[1] if /VERSION /' version.h

となり、Rubyだと

ruby -F\" -lane 'print $F[1] if /VERSION /' version.h

となる。全く同じ。

素直にPerlで書くなら

perl -lne 'print $1 if /VERSION "(.+)"/' version.h

かな。って、これもRubyでも同じだよ。

ruby -lne 'print $1 if /VERSION "(.+)"/' version.h

あとはputsを使うぐらいか。

ruby -ne 'puts $1 if /VERSION "(.+)"/' version.h

VAR=``の中で使うなら-lはなくてもいい。

[Cygwin] Updated: gcc-3.3.1-3

Ada, C, C++, Fortran, Java, ObjC, Pascalとフル装備になった。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!