CORY's twilight zone > 98備忘録 (tips)[an error occurred while processing this directive] > mnews のインストール

mnews のインストール

since 2010.01.05 / CORY
mnews スクリーンショット (21KB)

軽い動作や様々なOSへの対応、古くからの安定した日本語対応などで、以前より mnews を愛用し、引き続き使ってゆきたいと考える方はおられるのではないでょうか。 ご利用の方にはすでにご存じのように、残念ながら mnews は開発・一次配布が終了しており、メンテナンスができないことを理由に FreeBSD の packages からも削除されていますが、今なお有志により機能拡張が行われており、自己責任で(当たり前ですが)使うことができます。

ここでは、筆者が 2010年 1月に FreeBSD へインストールした際の記録を備忘録として残しておきます。今時主流の pkg_add や configure でないとはいえ、手順を踏めばきちんとインストールできますので、ご入用の方は参考にしてください。

なお、ここでは FreeBSD/pc98 8.0-RELEASE での例を挙げていますが、7系列や i386 などでもおそらく同様になるでしょう。

目次

mnews-1.22PL6 + IMAP4 patch ソースコードを入手する ソースコードからbuildする フィルタを使うファイルを添付するPGP(GPG)署名をする mnews のソースパッケージ 謝辞・参考文献

mnews-1.22PL6 + IMAP4 patch ソースコードを入手する

一次配布は終了していますので、ネットワーク上を探し回るしかありません。2010年1月時点で、ソースコードを入手できる場所はかなり限られており、筆者は下記を見つけたのみでした。

※便宜的に、展開して抽出したソースコード・パッケージをここに置いておきます。

この2通りのうち、ここでは前者を使わせていただきました。 これに、DoGA の高津氏が開発・提供されている IMAP4・Unicode 対応パッチを適用しました。

% fetch -o mnews-1.22PL6-1vl1.src.rpm "http://ult.riise.hiroshima-u.ac.jp/~nagato/?c=plugin;plugin=attach_download;p=Linux%B4%D8%CF%A2%A4%BD%A4%CE%C2%BE;file_name=mnews-1.22PL6-1vl1.src.rpm"
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/pc98/8.0-RELEASE/packages/archivers/rpm2cpio-1.2_2.tbz
% /usr/local/bin/rpm2cpio.pl mnews-1.22PL6-1vl1.src.rpm | cpio -id
% tar xzf mnews122PL6.tar.gz
% fetch http://www.doga.co.jp/~taka2/mnews/mnews1.22PL6-imap4-20030207.tar.gz
% tar xzf mnews1.22PL6-imap4-20030207.tar.gz
% cd mnews-1.22PL6
% patch -p1 < ../mnews1.22PL6-imap4-20030207.patch
% cd ..
% mv mnews-1.22PL6 mnews-1.22PL6-imap4
% cd mnews-1.22PL6-imap4
% jless doc/readme.doc

早速make……といきたいところですが、最近の autoconf (configure) を使った構築方法とは少々勝手が違いますので、まずはソースコードに添付の doc/readme.doc をひととおり読んでおきましょう。

ソースコードからbuildする

筆者はソースコードを入手するまでが苦労したのですが、それ以降も注意しておく点がいくつかあったので、以降簡単に。

% cd /path/to/mnews-1.22PL6-imap4/build
% ./config.sh
--- Mini News Reader Configuration Tool ---
Please answer some questions.
For example,'([y]/n)' means 'y' is default answer.
この間を表示する(長いけど。戻したいときは Reload してね。)
Making configuration files. Using "Makefile.src". OK, Please make sure "Makefile" and "site_dep.h". And then, to create the executable, type "make".

このように、Makefile を生成するためのシェルスクリプトが付いており、最初にこれを動かします。細かい設定は readme.doc に説明があるので予め一読しておくことをお勧めします。

readme.doc ではこの後 make なのですが、今回の環境でそれを行うと

Missing dependency operator
Need an operator

と怒られてしまいました(;_;)。Makefile を見ると、どうやら tab が空白に置き換えられているのが原因になっているようです。 そこで、行頭の空白1つをタブに置換してやりましょう。

% mv Makefile Makefile.org
% printf '/^ /s//\t/' > sedcommand	# sed では \t を tab(0x09) と認識してくれないため。
% sed -f sedcommand Makefile.org > Makefile
% rm sedcommand

また、この後で Makefile をエディタで開き、20行目の " # STRIP = echo" の行頭にある空白(タブ)を削除します。
この状態になるとひとまず make が始まるようになるのですが、その途中で

% make
...
Making "inst_inf.h"
touch inst_inf.h
/usr/bin/cc -DNEWSPOST -DMAILSEND -DJNAMES -DMH -DIMAP4 -DMIME -DPAGER -DFCC -I. -I../compat -I../tcplib -I../nntplib -I../smtplib -I../pop3lib -I../imap4lib -I../kanjilib -I../mimelib -I../termlib -I../src -DMNEWS -DJIS_INPUT -DCTRL_L -DCOMPLETION -DREF_SORT -DLARGE -DDISPLAY_CTRL -DUNICODE -D_386BSD -O -DDONT_HAVE_FTIME -DUSE_TERMIOS -DNNTP -DSMTP -DMTAP -DPOP3 -DMSPL -DIMAP4 -c ../src/config.c
../src/config.c:134: error: expected expression before ';' token
../src/config.c:412: error: 'smtp_mode' undeclared here (not in a function)
*** Error code 1

Stop in /path/to/mnews-1.22PL6-imap4/build.

となり止まってしまいました。調べていくうち、site_dep.h の中に

#define NNTP_MODE	

という行があるのを見つけたので、これを

#define NNTP_MODE	1

に書き換えてやると最後まで無事に make できました(^^)。

あとは root で make install して(root 権限が無ければ cp mnews ~/bin/ とでもして)、~/.mnews_setup を書いて mnews を起動するだけです。

フィルタを使う

ファイルを添付する

以前の mnews では送信メールにファイルを添付できなかったのですが、1.22PL6 ではファイル添付ができるようになっているようです。ただし、ファイルの形式に関わらず application/octet-stream で添付されるので、画像なども含めて、受け取る側では一旦保存しないと参照できないといった不便な点があります。

以前の mnews でファイル添付のために使っていたのが、DoGA の高津氏が配布されている mmfilter。こちらはある程度、拡張子を見て MIME type を指定してくれるので、テキストファイルや画像などを添付するときに良いのと、後述の理由もあり、筆者の環境では今も現役で使い分けているところです。

PGP(GPG)署名をする

そんなこんなで最近の mnews は有り難いことにいろいろ拡張されていてとても便利なのですが、PGP 署名には対応していないようです。そこで、筆者が2003年に書いた gpgfilter を置いておきます。Perl スクリプトです。使い方はコード中のコメント欄に書いてあります。

※記載のメールアドレスはすでに使えなくなっています。何かありましたらこちらから連絡ください。

これを書いたときは FreeBSD(98) 4.7R + mnews 1.22 + Perl 5.005_03 で動作確認しましたが、今は FreeBSD/pc98 8.0-RELEASE + mnews 1.22PL6T1 + Perl 5.8.9 + GnuPG 2.0.14 + libassuan 1.0.5 でも動作しているので、まだ使えるのではと思います。

ただし、最近の FreeBSD では Perl を packages で入れている場合が多いと思いますが、この場合は 1行目の #!/usr/bin/perl#!/usr/local/bin/perl に書き換えてください。他にもそうした細かな調整は要るかもしれません。

なお、GnuPG 1系列と組み合わせて使うと秘密鍵のパスフレーズ入力時にリターンキー (Enter) が効かず CTRL+J を入力する必要があったのですが、今は(パスフレーズ入力が libassuan に分離されたためか)特に問題無いようです。

一方、mnews 1.22PL6 のファイル添付を使うと、フィルタの前にファイルを添付してしまうため、その後に gpgfilter が作動すると誤動作します。この場合は前述の mmfilter を使うとファイル添付と併用できます。(このとき、.mnews_setup の send_filter には gpgfilter を先に書くこと。署名は本文のみに有効です。)

mnews のソースパッケージ

場合によっては問題があるかもしれませんが、一次配布元が無いことや、一部の Linux では今も packages が配布されている様子などから、配布そのものは問題なさそうだとの判断により、筆者のような苦労を繰り返さないためにここに置いておきます。 後段にあるように、営利利用は禁止されていますのでご注意ください。くれぐれもご利用は自己責任でお願いします。

以下に doc/read1ST.doc にある著作権に関する記述を載せておきます。

著作権
	jnames.c は System-V でのコンパイルエラー回避のために一部改変した
	以外はオリジナルのままです。著作権は原作者(實藤@ソニーさん?)にあり
	ます。差出人の jnames ドメイン名の決定は vin の Kanjiname kit(大西
	@松下電器さん)のものを参考にさせて頂いています。
	jnames.c と等価な働きをする jnhash.c は私が記述したコードです。
	inetbios.h, inetbios.c の著作権は原作者の沢田@ムライ電気さんにあり
	無変更で MS-DOS 版に限って使用しています。
	nntplib.c は nntp-1.5.11 に含まれる client.c を参考に書かれていま
	す。
	rmail.h, rmail.c は Emacs の rmail.el を多少参考にしましたが、コー
	ドはオリジナルです。
	mimelib.h, mimelib.c は metamail の codes.c を参考に書かれています。
	変換テーブルは都合上同じですが、コードはオリジナルです。
	youbin.c は伊藤@奈良先端科学技術大学院大学さんが書かれたものですが、
	著作権は主張されていません。また mnews では YOUBIN プロトコルを使用
	すると明示した場合のみ、youbin.c のコードが使用され、通常は使用され
	ません。
	jnames.c, inetbios.c, inetbios.h, youbin.c を除いてプログラムはオリ
	ジナルです。著作権は宅間 顯が所有しています。
	著作権については十分注意しておりますが、第三者の著作権侵害について
	も、当該第三者(著作権保持者)以外については一切責任は持ちません。

配布規定
	必要なファイルを削除したり、改変しない限り自由に配布して利用できま
	す。営利目的での配布/使用はお断りします。
	プログラムに不具合があり改変する場合は作者まで確認をとって下さい。
	機能追加などの変更をされる際は作者まで変更点の確認をとって、変更後
	は該当部分を知らせて下さい。そして変更したままで配布しないで下さい。
	これは派生バージョンによる混乱を避けるためです。

謝辞・参考文献

mnews を開発された宅間顯氏、パッチ作成やパッケージなどでメンテナンスされてきた諸氏、および以下の有用なページを公開された皆様に、この場を借りて御礼申し上げます。

また、設定などは下記のページが参考になりそうです。

改版履歴

2010.01.12
初版掲載
2010.01.05
情報収集

更新日 : 2010年01月12日 (699)

CORY's twilight zone > 98備忘録 (tips)[an error occurred while processing this directive] > mnews のインストール


« 短絡線 »
[ CORY's twilight zone | PC-98, FreeBSD(98), Mac OS X, Android | 鉄道・街 | 自然 | flickr | twitter (log) | YouTube | Contact ]

Copyright © 1996-2019 CORY / ISAKA Yoji. Some rights reserved:
Creative Commons Attribution-Share alike 2.1 Japan.