2005-07-07
_ 朝
0610 起床。
_ JaSST'05 in Osaka
( via やねうらお−よっちゃんイカを買いに行ったついでに家を買う男 )
JaSST: Japan Symposium on Software Testing( ソフトウェアテストシンポジウム )
日程:2005年7月15日(金)10:00〜17:40(9:30受付開始)
場所:大阪国際会議場(グランキューブ大阪)(大阪・福島)
参加申し込み:満席御礼となりました。2006年1月のJaSST in Tokyo をお楽しみに。
残念ながら満席だそうな。
そもそも開催が 2005-07-15( 金 )の大阪なので日程的にも行けそうになかったのだけど。
2006 年明けに東京でも開催されるようなので行ってみよう。
過去の開催概要を見ると 1 月は東京、7 月は大阪で開催しているようだ。
また、過去のプレゼンテーション内容の PDF が読める。
_ 仕事
双樹の足場を書いたり。
_ Mac OS X で qmail を使う
qmail して tcpserver して daemontools する。
参考
- NetBSD で qmail
- The pkgsrc guide - 12.2. Converting packages to use bsd.options.mk
- Linux Squiare - qmail-date-localtime.patchがダウンロードが出来ないのですが..
- Gururi の日記 - qmail on Mac OS X(not Mac OS X Server) 3 回目/tcpserver をインストールしてみる。
- Gururi の日記 - qmail on Mac OS X(not Mac OS X Server) 6 回目/daemontools を設定する。
qmail
rin@kahori[~]% cd /usr/pkgsrc/mail/qmail rin@kahori[/usr/pkgsrc/mail/qmail]% head options.mk # $NetBSD: options.mk,v 1.13 2005/05/31 10:01:38 dillo Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.qmail PKG_SUPPORTED_OPTIONS= badrcptto bigdns darwin netqmail outgoingip PKG_SUPPORTED_OPTIONS+= qregex realrcptto sasl syncdir tls viruscan .if ${OPSYS} == "Darwin" PKG_SUGGESTED_OPTIONS= darwin .endif
OPTION を指定できるので /etc/mk.conf に書いておく。
とりあえず netqmail のみ指定する。
rin@kahori[/usr/pkgsrc/mail/qmail]% diff -u /etc/mk.conf.20050624 /etc/mk.conf --- /etc/mk.conf.20050624 Wed Jun 29 14:40:08 2005 +++ /etc/mk.conf Wed Jun 29 14:42:05 2005 @@ -9,4 +9,5 @@ PAX=/Volumes/NetBSD/pkg/bin/pax ##PKG_DEBUG_LEVEL= 1 X11_TYPE=xorg +PKG_OPTIONS.qmail=netqmail .endif # end pkgsrc settings rin@kahori[/usr/pkgsrc/mail/qmail]%
localtime
localtime は pkgsrc に入ってないようなので手動で patch する。
rin@kahori[/usr/pkgsrc/mail/qmail]% sudo wget ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch --14:44:30-- ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch => `qmail-date-localtime.patch' ftp.nlc.net.au をDNSに問いあわせています... 203.24.133.1 ftp.nlc.net.au[203.24.133.1]:21 に接続しています... failed: Connection refused.
fail した。
プロトコルは http にする。
rin@kahori[/usr/pkgsrc/mail/qmail]% sudo wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch
ソースを取得( work ディレクトリに出来るらしい )するために make する。
rin@kahori[/usr/pkgsrc/mail/qmail]% sudo bmake patch : => Checksum RMD160 OK for netqmail-1.05.tar.gz. Make sure the Makefile and checksum file (/usr/pkgsrc/mail/qmail/distinfo) are up to date. If you want to override this check, type "/usr/pkg/bin/bmake NO_CHECKSUM=yes [other args]". *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/mail/qmail
怒られた。
不整合?
NO_CHECKSUM=yes しておく。
rin@kahori[/usr/pkgsrc/mail/qmail]% sudo bmake NO_CHECKSUM=yes patch : cd /Volumes/NetBSD/pkgsrc/net/ucspi-tcp/work/*-man; for i in 1; do for j in *.$i; do /usr/bin/install -c -o root -g wheel -m 444 $j /Volumes/NetBSD/pkg/man/man$i; done done ===> Registering installation for ucspi-tcp-0.88nb1 ===> Returning to build of qmail-1.03nb10 ===> Patching for qmail-1.03nb10 ===> Applying distribution patches for qmail-1.03nb10
patch する。
rin@kahori[/usr/pkgsrc/mail/qmail]% cd work/qmail-1.03/ rin@kahori[/usr/pkgsrc/mail/qmail/work/qmail-1.03]% sudo patch < ../../qmail-date-localtime.patch patching file date822fmt.c
install する。
rin@kahori[/usr/pkgsrc/mail/qmail/work/qmail-1.03]% cd ../../ rin@kahori[/usr/pkgsrc/mail/qmail]% sudo bmake install : => Unwrapping files-to-be-installed. ===> Installing for qmail-1.03nb10 ===> Creating installation directories . changed permissions expected 0755 found 02755 modified ./install ./instcheck # qmail's installer sets strange permissions; set them back /usr/bin/chgrp wheel /var/qmail/bin /usr/bin/chgrp wheel /var/qmail/boot /usr/bin/chgrp wheel /var/qmail/doc /usr/bin/chgrp wheel /var/qmail/man /usr/bin/chgrp wheel /var/qmail/man/cat1 /usr/bin/chgrp wheel /var/qmail/man/cat5 /usr/bin/chgrp wheel /var/qmail/man/cat7 /usr/bin/chgrp wheel /var/qmail/man/cat8 /usr/bin/chgrp wheel /var/qmail/man/man1 /usr/bin/chgrp wheel /var/qmail/man/man5 /usr/bin/chgrp wheel /var/qmail/man/man7 /usr/bin/chgrp wheel /var/qmail/man/man8 /usr/bin/install -c -o root -g wheel -m 444 /Volumes/NetBSD/pkgsrc/mail/qmail/work/README.pkgsrc /Volumes/NetBSD/pkg/share/doc/qmail /usr/bin/install -d -o root -g wheel -m 755 /Volumes/NetBSD/pkg/share/qmail/setup for i in dnsfq dnsip dnsptr hostname install ipmeprint; do /usr/bin/install -c -s -o root -g wheel -m 555 /Volumes/NetBSD/pkgsrc/mail/qmail/work/qmail-1.03/$i /Volumes/NetBSD/pkg/share/qmail/setup; done for i in config config-fast; do /usr/bin/install -c -o root -g wheel -m 555 /Volumes/NetBSD/pkgsrc/mail/qmail/work/qmail-1.03/$i /Volumes/NetBSD/pkg/share/qmail/setup; done ===> Please note the following: =========================================================================== $NetBSD: MESSAGE,v 1.11 2004/08/22 00:10:51 schmonz Exp $ Please read /Volumes/NetBSD/pkg/share/doc/qmail/README.pkgsrc. There are many ways to enable qmail. One popular, well-regarded choice is to follow the directions in Dave Sill's "Life with qmail": <URL:http://www.lifewithqmail.org/lwq.html> Alternatively, you can let pkgsrc do the work by installing the qmail-run package. =========================================================================== ===> Registering installation for qmail-1.03nb10 qmail-1.03nb10 requires installed package checkpassword-0.90 qmail-1.03nb10 requires installed package daemontools-0.76 qmail-1.03nb10 requires installed package qmail-users-1.0 qmail-1.03nb10 requires installed package ucspi-tcp-0.88nb1 rin@kahori[/usr/pkgsrc/mail/qmail]% sudo bmake clean clean-depends
qmail-run
install と一緒に qmail の config までしてくれる。
やはりパッケージシステムは楽だ。
rin@kahori[/usr/pkgsrc/mail/qmail-run]% sudo bmake install ===> Installing for qmail-run-20050415 ===> Creating installation directories /usr/bin/install -c -o root -g wheel -m 555 /Volumes/NetBSD/pkgsrc/mail/qmail-run/work/qmail-procmail /Volumes/NetBSD/pkg/bin /usr/bin/install -c -o root -g wheel -m 555 /Volumes/NetBSD/pkgsrc/mail/qmail-run/work/qmail-qfilter-queue /Volumes/NetBSD/pkg/bin /usr/bin/install -c -o root -g wheel -m 555 /Volumes/NetBSD/pkgsrc/mail/qmail-run/work/qmail-qread-client /Volumes/NetBSD/pkg/bin /usr/bin/install -c -o root -g wheel -m 444 /Volumes/NetBSD/pkgsrc/mail/qmail-run/work/README.pkgsrc /Volumes/NetBSD/pkg/share/doc/qmail-run /usr/bin/install -c -o root -g wheel -m 444 /Volumes/NetBSD/pkgsrc/mail/qmail-run/work/mailer.conf /Volumes/NetBSD/pkg/share/examples/qmail-run =========================================================================== The following files should be created for qmail-run-20050415: /etc/rc.d/qmailsmtpd (m=0755) [/Volumes/NetBSD/pkg/share/examples/rc.d/qmailsmtpd] /etc/rc.d/qmailsend (m=0755) [/Volumes/NetBSD/pkg/share/examples/rc.d/qmailsend] /etc/rc.d/qmailqread (m=0755) [/Volumes/NetBSD/pkg/share/examples/rc.d/qmailqread] /etc/rc.d/qmailpop3d (m=0755) [/Volumes/NetBSD/pkg/share/examples/rc.d/qmailpop3d] /etc/rc.d/qmail (m=0755) [/Volumes/NetBSD/pkg/share/examples/rc.d/qmail] =========================================================================== Your fully qualified host name is kahori.local. Putting kahori.local into control/me... Putting kahori.local into control/defaultdomain... Putting kahori.local into control/plusdomain... Putting kahori.local into control/locals... Putting kahori.local into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to kahori.local. Make sure to change rcpthosts if you add hosts to locals or virtualdomains! ===> Please note the following: =========================================================================== $NetBSD: MESSAGE,v 1.3 2004/08/23 03:47:48 schmonz Exp $ Please read /Volumes/NetBSD/pkg/share/doc/qmail-run/README.pkgsrc. To enable qmail for... Local and outgoing deliveries: - Check the configuration files in /Volumes/NetBSD/pkg/etc/qmail. - Modify /etc/mailer.conf (see share/examples/qmail-run/mailer.conf). - Set qmailsend=YES in /etc/rc.conf. SMTP: - Set qmailsmtpd=YES in /etc/rc.conf. POP3 (only for Maildirs): - Set qmailpop3d=YES in /etc/rc.conf. To make the queue visible to local non-root users: - Set qmailqread=YES in /etc/rc.conf. - Change the mailq entry in /etc/mailer.conf to qmail-qread-client. =========================================================================== ===> Registering installation for qmail-run-20050415 qmail-run-20050415 requires installed package qmail-1.03nb10 rin@kahori[/usr/pkgsrc/mail/qmail-run]%
Maildir
Maildir を作るために /usr/pkg/share/doc/qmail/INSTALL.maildir にあるとおりに実行する。
rin@kahori[~]% maildirmake $HOME/Maildir rin@kahori[~]% echo ./Maildir/ > ~/.qmail
設定ファイル
contorol や alias を他の計算機からへコピーする。
rin@sakura[~]% tar cf - . | ssh kahori '(cd usr/local/qmail; tar xf -)' rin@kahori[~/usr/local/qmail]% sudo cp * /var/qmail/control/
起動確認
rin@kahori[/var/qmail/boot]% sudo cp home /var/qmail/rc rin@kahori[/var/qmail/boot]% cd /var/qmail rin@kahori[/var/qmail]% sudo csh /var/qmail/rc & [1] 413 rin@kahori[/var/qmail]% ps aux | grep qmail rin 419 3.0 0.1 18172 352 std S+ 12:03AM 0:00.01 grep qmail qmails 413 0.0 0.3 18120 776 std SN 12:02AM 0:00.06 qmail-send qmaill 414 0.0 0.3 18076 780 std SN 12:02AM 0:00.01 splogger qma root 415 0.0 0.3 18072 704 std SN 12:02AM 0:00.00 qmail-lspawn qmailr 416 0.0 0.3 18072 704 std SN 12:02AM 0:00.00 qmail-rspawn qmailq 417 0.0 0.3 18064 724 std SN 12:02AM 0:00.01 qmail-clean rin@kahori[/var/qmail]% sudo kill 413 rin@kahori[/var/qmail]% [1] + done sudo csh /var/qmail/rc rin@kahori[/var/qmail]% ps aux | grep qmail
tcpserver
tcpserver の設定ファイルを既存の計算機からコピーする。
rin@sakura[~/usr/local/tcpserver/etc]% tar cf - . | ssh kahori '( cd usr/local/tcpserver/etc ; tar xfv - )' . ./tcp.pop3 ./tcp.pop3.cdb ./tcp.smtp ./tcp.smtp.cdb
daemontools
daemontools の設定ファイルを既存の計算機からコピーする。
rin@sakura[~/usr/local/qmail/supervise]% tar cf - . | ssh kahori '( cd usr/local/qmail/supervise ; tar xfv - )' . ./pop3d ./pop3d/run ./qmail ./qmail/run ./smptd ./smptd/run
/etc のほうにコピー。
rin@kahori[~/usr/local/tcpserver/etc]% sudo cp * /etc/ rin@kahori[~/usr/local/qmail]% sudo mv supervise /var/qmail/
svscan とか
daemontools 用 ディレクトリ作成
rin@kahori[~]% sudo ln -s /usr/pkg/bin /command rin@kahori[~/usr/local]% sudo mkdir -p /service rin@kahori[~/usr/local]% sudo ln -s /var/qmail/supervise/qmail/ /service/qmail
まだ起動していない。
つぎの作業へ。
いわゆる /etc/rc.d は Mac OS X の /Library/StartupItems に該当する。
依存関係を考えるのが面倒だったので起動項目の設定は貰った。
Start Stop Restart 項目は必須ではないけどせっかくだからそのまま利用させていただく。
rin@kahori[~/usr/local]% wget http://gururi.com/qmail/daemontools_sss.tgz rin@kahori[~/usr/local]% tar xzf daemontools_sss.tgz rin@kahori[~/usr/local]% sudo mv Daemontools /Library/StartupItems/
path を追加しとく。
rin@kahori[~]% diff -u /Library/StartupItems/Daemontools/Daemontools.src /Library/StartupItems/Daemontools/Daemontools --- /Library/StartupItems/Daemontools/Daemontools.src Wed Jul 6 23:09:57 2005 +++ /Library/StartupItems/Daemontools/Daemontools Wed Jul 6 23:14:23 2005 @@ -2,7 +2,7 @@ . /etc/rc.common -export PATH=/usr/local/bin:${PATH} +export PATH=/command:/usr/local/bin:${PATH} svcdir=/service StartService ()
/etc/hostconfig
/etc/hostconfig に DAEMONTOOLS=-YES- を追加。
こうしないと /Library/StartupItems/Daemontools/Daemontools が start の条件分岐を通らない。
rin@kahori[~]% diff -u /etc/hostconfig.20050521 /etc/hostconfig --- /etc/hostconfig.20050521 Wed Jul 6 22:58:33 2005 +++ /etc/hostconfig Wed Jul 6 22:59:09 2005 @@ -28,3 +28,5 @@ COREDUMPS=-NO- VPNSERVER=-NO- CRASHREPORTER=-YES- +DAEMONTOOLS=-YES- +
起動終了確認
rin@kahori[~]% sudo /Library/StartupItems/Daemontools/Daemontools start Starting daemontools rin@kahori[~]% ps aux | grep qmail qmails 768 0.0 0.1 18120 360 std S 11:17PM 0:00.01 qmail-send qmaill 769 0.0 0.1 18076 324 std S 11:17PM 0:00.00 splogger qma root 770 0.0 0.1 18072 316 std S 11:17PM 0:00.01 qmail-lspawn qmailr 771 0.0 0.1 18072 316 std S 11:17PM 0:00.00 qmail-rspawn qmailq 772 0.0 0.1 18064 308 std S 11:17PM 0:00.00 qmail-clean rin@kahori[~]% rin@kahori[~]% sudo /Library/StartupItems/Daemontools/Daemontools stop Stopping daemontools rin@kahori[~]% ps aux | grep qmail rin@kahori[~]%
OS 起動時
daemontools を install したのが pkgsrc のところなので以下のように変更。
rin@kahori[~]% diff -u /Library/StartupItems/Daemontools/StartupParameters.plist.src /Library/StartupItems/Daemontools/StartupParameters.plist --- /Library/StartupItems/Daemontools/StartupParameters.plist.src Wed Jul 6 23:23:55 2005 +++ /Library/StartupItems/Daemontools/StartupParameters.plist Wed Jul 6 23:25:48 2005 @@ -1,7 +1,7 @@ { Description = "daemontools"; Provides = ("daemontools"); - Requires = ("Network", "NetInfo", "Network Configuration"); + Requires = ("Network", "NetInfo", "Network Configuration", "pkgsrc"); Uses = ("Network"); OrderPreference = "Last"; Messages =
Mac OS X を起動させる。
rin@kahori[~]% ps aux | grep svscan root 348 0.0 0.1 18096 300 ?? S 8:09PM 0:00.03 svscan /serv rin@kahori[~]% ps aux | grep qmail qmails 351 0.0 0.1 18120 360 ?? S 8:09PM 0:00.02 qmail-send qmaill 352 0.0 0.1 18076 324 ?? S 8:09PM 0:00.00 splogger qma root 353 0.0 0.1 18072 316 ?? S 8:09PM 0:00.01 qmail-lspawn qmailr 354 0.0 0.1 18072 316 ?? S 8:09PM 0:00.01 qmail-rspawn qmailq 355 0.0 0.1 18064 308 ?? S 8:09PM 0:00.00 qmail-clean