summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fml/doc/ja/tutorial/changes/CUI.txt371
-rw-r--r--fml/doc/ja/tutorial/changes/Makefile7
-rw-r--r--fml/doc/ja/tutorial/changes/chapter.sgml110
-rwxr-xr-xfml/doc/ja/tutorial/changes/conv2sgml.pl54
-rw-r--r--fml/doc/ja/tutorial/changes/table.cui.sgml1180
5 files changed, 1722 insertions, 0 deletions
diff --git a/fml/doc/ja/tutorial/changes/CUI.txt b/fml/doc/ja/tutorial/changes/CUI.txt
new file mode 100644
index 00000000..884293e6
--- /dev/null
+++ b/fml/doc/ja/tutorial/changes/CUI.txt
@@ -0,0 +1,371 @@
+#
+# ヘルプ
+#
+Q: ヘルプの表示
+4: makefml help ML
+ もしくは makefml info ML を実行するとヘルプが表示される。
+ どちらでも同じ動作。
+ 表示の際に、環境変数 PAGER が指定されていれば、それを使う。
+8: 未実装
+
+
+
+#
+# インストール
+#
+
+Q: fml のインストール方法
+4: トップディレクトリで make install (実体は makefml install)を実行する
+8: トップディレクトリで
+ configure および make install (実体は install.pl スクリプト)
+
+Q: インストールスクリプトの挙動
+4: 対話法式がデフォルト。最重要項目は対話的に設定が可能。
+8: 対話法式ではない。最重要項目は configure オプションで指定する。
+
+
+#
+# MLの作成、削除
+#
+
+Q: MLの作成
+4: makefml newml ML もしくは makefml new ML
+8: makefml newml ML
+
+Q: newml コマンドが作るエイリアス(見本)ファイル
+4: sendmail 用 (互換性があるため postfix 用としても使用可能)
+8: postfix, sendmail, qmail, procmail すべてを作る
+
+Q: newml コマンドが作るエイリアス(見本)ファイルのパス
+4: /var/spool/ml/etc/aliaes
+8: /var/spool/ml/etc/mail/aliaes
+
+Q: qmail 用の設定を作る
+4: makefml qmail-setup ML
+8: 不要 (デフォルトで作成する)
+
+Q: aliaes を再生成する
+4: makefml recollect-aliases ML
+8: 該当するものはない
+
+Q: ML の削除
+4: makefml destructml ML
+8: makefml rmml ML
+
+Q: エラーメール自動解析ツールを設定する
+4: makefml mead ML を実行し、エイリアスも適宜、設定変更する。
+8: 不要、デフォルトで設定されている
+
+Q: fml 自体のテストをしてみる
+4: makefml test ML
+8: 未実装
+
+Q: LISTSERV スタイルのコマンドのセットアップ。
+4: makefml fmlserv ML
+ listserv majordomo でも同じ。
+8: 未実装
+
+
+#
+# アドレスの登録、削除、配送モードの変更
+#
+
+Q: アドレスを(受信者、送信者リスト両方に)追加する
+4: makefml add ML ADDRESS
+ もしくは adduser でもよい。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives と members ファイル。
+8: makefml subscribe ML ADDRESS
+ なお
+ add subscribe adduser useradd
+ コマンドは全て同じ意味である。
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は recipients と members ファイル。
+
+Q: アドレスを(受信者、送信者リスト両方から)削除する
+4: makefml bye ML ADDRESS
+ もしくは byeuser でもよい。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives と members ファイル。
+8: makefml unsubscribe ML ADDRESS
+ なお
+ bye unsubscribe deluser remove resign signoff userdel
+ コマンドは全て同じ意味である。
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は recipients と members ファイル。
+
+Q: アドレスを変更する(受信者リスト、メンバーリストともに変更する)
+4: makefml chaddr ML OLD_ADDRESS NEW_ADDRESS
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives と members ファイル。
+8: makefml chaddr ML OLD_ADDRESS NEW_ADDRESS
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は recipients と members ファイル。
+
+Q: 受信者リストにのみアドレスを追加する。
+4: makefml addactives ML ADDRESS
+ これは addactive add2active add2actives でも同じ意味。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives ファイル。
+8: 未実装
+
+Q: メンバーリストにのみアドレスを追加する。
+4: makefml addmembers ML ADDRESS
+ これは addmember add2member add2members でも同じ。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は members ファイル。
+8: 未実装
+
+Q: リアルタイム配送を止める
+4: makefml off ML ADDRESS
+ これは skip でもよい。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives ファイル。
+8: makefml off ML ADDRESS
+
+Q: リアルタイム配送を再開する
+4: makefml on ML ADDRESS
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives ファイル。
+8: makefml on ML ADDRESS
+
+Q: まとめおくり配送へ
+4: makefml matome ML ADDRESS
+ コマンドは digest でもよい。
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は actives ファイル。
+8: 未実装
+
+
+#
+# リモート管理
+#
+
+Q: リモート管理者を追加する。
+4: makefml addadmin ML ADDRESS
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は members-admin ファイル。
+8: makefml addadmin ML ADDRESS
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は recipients-admin と members-admin ファイル。
+
+Q: リモート管理者を削除する。
+4: makefml byeadmin ML ADDRESS
+ 終了後、ファイルの変更点が表示される。
+ デフォルトの操作対象は members-admin ファイル。
+8: makefml byeadmin ML ADDRESS
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は recipients-admin と members-admin ファイル。
+
+Q: リモート管理者のパスワードを設定する(1)
+4: makefml passwd ML
+ 対話モードになり、アドレスとパスワードの入力を促される。
+8: 未実装
+
+Q: リモート管理者のパスワードを設定する(2)
+4: makefml passwd ML ADDRESS
+ 対話モードになり、パスワードの入力を促される。
+8: 未実装
+
+Q: リモート管理者のパスワードを設定する(3)
+4: makefml passwd ML ADDRESS PASSWORD
+ 処理の様子が表示される。
+ デフォルトの操作対象は etc/passwd ファイル。
+8: makefml passwd ML ADDRESS PASSWORD
+ エラーにならない限り、画面表示はなく、静かに終る。
+ デフォルトの操作対象は etc/passwd-admin ファイル。
+
+
+
+#
+# 設定の変更
+#
+Q: メニュー形式で設定を変更する
+4: makefml config ML
+8: 未実装
+
+Q: 設定ファイルを編集する
+4: makefml edit ML
+ 使うエディタの入力を促し、
+ そのエディタで config.ph を編集できるようにする。
+ エディタのデフォルトは vi 。
+8: makefml edit ML
+ エディタで config.cf を編集できるようにする。
+ 使うエディタを尋ねたりはしない。
+ 環境変数 EDITOR が設定されていれば、その値が使われる。
+ エディタのデフォルトは vi 。
+
+Q: fml4 固有の設定ファイル変換( cf から config.ph を再生成する)
+4: makefml update-config ML
+ これは update、config-update、update-config.ph コマンドでも同じ。
+ 処理の様子が表示される。
+8: 設定ファイルは config.cf しかないため該当する操作は不要。
+
+
+#
+# メッセージテンプレートの操作
+#
+Q: メニューを使い、cf のテンプレートファイルを編集する
+4: makefml config-template ML
+8: 未実装
+
+Q: newml の際に使われる各種テンプレートファイルを編集する
+4: makefml edit-template FILE
+ なお FILE なしで実行すると、指定可能なファイル一覧が表示される。
+8: 未実装
+
+Q: MLのホームディレクトリにあるヘルプなどのファイルを再生成する
+4: makefml create-doc-template ML
+8: 不要。存在しない。
+ もし置かれているなら、それは管理者がつくって置いたもののはず。
+
+Q: 引数の SRC ファイルを DST へ、ファイル内の変数を変換しつつ生成する。
+4: makefml conv ML SRC DST
+8: 未実装
+
+
+#
+# ログをみる
+#
+Q: ログをみる。デフォルトでは最後の100行が表示される。
+4: makefml log ML [オプション]
+ これは makefml tail ML でも同じ動作になる。
+8: makefml log ML
+ オプションは未実装
+
+
+#
+# CGI の作成
+#
+Q: admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)
+4: makefml admin.cgi ML
+ 対話的に行なわれる。
+8: 半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
+
+Q: ml-admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)
+4: makefml ml-admin.cgi ML
+ makefml mladmin.cgi ML でも同じ。
+ 対話的に行なわれる。
+8: 半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
+
+Q: admin.cgi の .htpasswd を設定する
+4: makefml html_cgiadmin_passwd ML
+8: 未実装
+
+Q: html_config
+4: makefml html_config ML
+ このコマンドは html_config_set でも同じ。
+ CGI から設定を変更する際に使われている内部用コマンド。
+8: 未実装
+
+Q: リモート管理者のパスワードを設定し、かつ
+ ml-admin.cgi の .htpasswd を(リモート管理のパスワードと同じも
+ のに)設定する
+4: makefml html_passwd ML
+8: 未実装
+
+Q: ml-admin.cgi の .htpasswd を設定する
+4: makefml htpasswd ML
+8: 未実装
+
+#
+# PGP, GPP 関連
+#
+Q: pgp コマンド WRAPPER
+4: makefml pgp ML
+8: 未実装
+
+Q: pgp2 コマンド WRAPPER
+4: makefml pgp2 ML
+8: 未実装
+
+Q: pgpe コマンド WRAPPER
+4: makefml pgpe ML
+8: 未実装
+
+Q: pgpk コマンド WRAPPER
+4: makefml pgpk ML
+8: 未実装
+
+Q: pgps コマンド WRAPPER
+4: makefml pgps ML
+8: 未実装
+
+Q: pgpv コマンド WRAPPER
+4: makefml pgpv ML
+8: 未実装
+
+Q: gpg コマンド WRAPPER
+4: makefml gpg ML
+8: 未実装
+
+Q: admin-auth (PGP, GPG KEY RING の操作)
+4: makefml admin-auth ML
+8: 未実装
+
+Q: admin-encrypt (PGP, GPG KEY RING の操作)
+4: makefml admin-encrypt ML
+8: 未実装
+
+Q: dist-auth (PGP, GPG KEY RING の操作)
+4: makefml dist-auth ML
+8: 未実装
+
+Q: dist-encrypt (PGP, GPG KEY RING の操作)
+4: makefml dist-encrypt ML
+8: 未実装
+
+
+#
+# POP エミュレーション
+#
+Q: popfml (POP でMTAとMLをエミュレーションする fml) のセットアップをする
+4: makefml popfml
+8: そもそも popfml 自体が未実装
+
+Q: POP のパスワードを設定する
+4: makefml pop_passwd
+8: そもそも popfml 自体が未実装
+
+
+#
+# その他
+#
+
+Q: MLの動作をロックする
+4: makefml lock ML
+8: 対応するものがない。そもそも giant lock がない。
+
+Q: バグレポートの編集テンプレートを作る
+4: makefml bug-report-template ML
+ send-pr でもよい
+8: 未実装
+
+Q: コマンドの実行
+4: makefml command ML
+8: 未実装
+
+Q: 配送モードの設定
+4: makefml delivery_mode ML
+8: 未実装
+
+Q: makefml 中の変数を変更する
+4: makefml setq ML
+8: 対応するものがない
+
+Q: fml が動いている環境についてサマリを表示する
+4: makefml showconfig ML
+ showconf でもよい
+8: 未実装 / 実装予定なし
+
+Q: 「show コマンド」スタイルの OS 情報を表示する方法
+4: makefml show コマンド
+8: 未実装 / 実装予定なし
+
+Q: ファイルを送る
+4: makefml resend ML
+8: 未実装 / 実装予定なし
+
+Q: upgrade コマンド: fml 2.0 から 3.0 へのコンバート
+4: makefml upgrade ML
+8: 不要
diff --git a/fml/doc/ja/tutorial/changes/Makefile b/fml/doc/ja/tutorial/changes/Makefile
new file mode 100644
index 00000000..dfc92576
--- /dev/null
+++ b/fml/doc/ja/tutorial/changes/Makefile
@@ -0,0 +1,7 @@
+#
+# $FML$
+#
+
+table.cui.sgml: CUI.txt conv2sgml.pl
+ perl conv2sgml.pl CUI.txt > table.cui.sgml.new
+ mv table.cui.sgml.new table.cui.sgml
diff --git a/fml/doc/ja/tutorial/changes/chapter.sgml b/fml/doc/ja/tutorial/changes/chapter.sgml
new file mode 100644
index 00000000..c629f5e6
--- /dev/null
+++ b/fml/doc/ja/tutorial/changes/chapter.sgml
@@ -0,0 +1,110 @@
+<!--
+ $FML$
+-->
+
+
+<chapter id="changes">
+ <title>
+ fml4 と fml8 の違い
+ </title>
+
+
+<para>
+本章では、fml4 と fml8 の違いについて解説します。
+</para>
+
+
+<sect1 id="changes.license">
+ <title>
+ fml4 と fml8 の違い: ライセンス
+ </title>
+
+<para>
+大雑把に言えば、GPL か BSD 準拠、もしくは Artistic のどれかになってい
+るはずです。
+</para>
+
+<para>
+fml4 は、ほとんどのコード(.plのもの)が独自に書かれています。このライセ
+ンスは GNU Public License です。jcode.pl が例外で、詳しくは jcode.pl
+の先頭部分のライセンスを参照して下さい。
+</para>
+
+<para>
+また、perl module (.pm) も使われており、それはソースツリーの module/
+の下に入っています。この下のライセンスも各モジュールに従って下さい。
+</para>
+
+<para>
+fml8 では、ソースツリーがプロジェクトもしくはライセンスごとに分かれて
+いますので、各分類ごとのライセンスにしたがってください。fml8 用に書か
+れたコードは fml/ 以下にあり、Artistic License となっています。cpan
+gnu はその名の通りです。img は BSD ライセンス準拠です。詳しくは、それ
+ぞれのライセンスを読んで下さい。
+</para>
+
+</sect1>
+
+
+<sect1 id="changes.cui">
+ <title>
+ fml4 と fml8 の違い: コマンドラインでの操作 (makefml)
+ </title>
+
+<para>
+makefml とシンタックスの異なる fml というコマンドがあります。
+<screen>
+makefml コマンド ML名 オプション
+fml ML名 コマンド オプション
+</screen>
+違いはML名とコマンドの順番だけで、実行される内容は全く一緒です。
+</para>
+
+<para>
+fml4 のコマンドは、可能な限り、処理の様子を表示し、最後に処理の変更点
+を表示するようになっています。逆に、fml8 のコマンドは、できるだけ静か
+に動きます。
+<footnote>
+<para>
+逆に、makefml/fml を他のスクリプトから呼び出す場合には、コンピュータ処
+理向きの出力をさせるようにすることが出来ます。これは、けっこう出力され
+るものが多く五月蝿いです。
+</para>
+</footnote>
+これは、そのほうが UNIX 風だということと、必ずしも操作対象がファイルと
+は限らないため差分が表示できるわけではないなどといったことがあるためで
+す。
+</para>
+
+<para>
+makefml から実行される各コマンドの相違点は以下の通りです。
+
+ <table>
+ <title>
+ fml4 と fml8 の違い: CUI (makefml もしくは fml コマンド)
+ </title>
+
+ <tgroup cols=3>
+
+ <thead>
+ <row>
+ <entry> 内容 </entry>
+ <entry> fml4 </entry>
+ <entry> fml8 </entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <!-- テーブル本体スタート -->
+ &table.changes.cui;
+ <!-- テーブル本体エンド -->
+ </tbody>
+
+ </tgroup>
+ </table>
+</para>
+
+</sect1>
+
+
+</chapter>
diff --git a/fml/doc/ja/tutorial/changes/conv2sgml.pl b/fml/doc/ja/tutorial/changes/conv2sgml.pl
new file mode 100755
index 00000000..23a5985f
--- /dev/null
+++ b/fml/doc/ja/tutorial/changes/conv2sgml.pl
@@ -0,0 +1,54 @@
+#!/usr/bin/env perl
+#
+# $FML$
+#
+
+use strict;
+use Carp;
+
+my $i = 0;
+my $key = '';
+my $value = '';
+my $table = {};
+
+while (<>) {
+ if (/^\s*$/o || /^\#/) {
+ undef $key;
+ next;
+ }
+
+ if (/^([Q48]):\s*(.*)/) {
+ ($key, $value) = ($1, $2);
+ $i++ if $key eq 'Q';
+ $table->{ $i }->{ $key } = $value;
+ next;
+ }
+
+ if (/^\s+(.*)/) {
+ $table->{ $i }->{ $key } .= "\n";
+ $table->{ $i }->{ $key } .= $1;
+ }
+}
+
+
+for my $i (sort {$a <=> $b} keys %$table) {
+ print "<!-- $i -->\n";
+ print "<row>\n";
+
+ print "\n<entry>\n";
+ print $table->{ $i }->{ Q };
+ print "\n</entry>\n";
+
+ print "\n<entry>\n";
+ print $table->{ $i }->{ 4 };
+ print "\n</entry>\n";
+
+ print "\n<entry>\n";
+ print $table->{ $i }->{ 8 };
+ print "\n</entry>\n";
+
+ print "\n</row>\n";
+ print "\n";
+}
+
+exit 0;
diff --git a/fml/doc/ja/tutorial/changes/table.cui.sgml b/fml/doc/ja/tutorial/changes/table.cui.sgml
new file mode 100644
index 00000000..ce2b04c8
--- /dev/null
+++ b/fml/doc/ja/tutorial/changes/table.cui.sgml
@@ -0,0 +1,1180 @@
+<!-- 1 -->
+<row>
+
+<entry>
+ヘルプの表示
+</entry>
+
+<entry>
+makefml help ML
+もしくは makefml info ML を実行するとヘルプが表示される。
+どちらでも同じ動作。
+表示の際に、環境変数 PAGER が指定されていれば、それを使う。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 2 -->
+<row>
+
+<entry>
+fml のインストール方法
+</entry>
+
+<entry>
+トップディレクトリで make install (実体は makefml install)を実行する
+</entry>
+
+<entry>
+トップディレクトリで
+configure および make install (実体は install.pl スクリプト)
+</entry>
+
+</row>
+
+<!-- 3 -->
+<row>
+
+<entry>
+インストールスクリプトの挙動
+</entry>
+
+<entry>
+対話法式がデフォルト。最重要項目は対話的に設定が可能。
+</entry>
+
+<entry>
+対話法式ではない。最重要項目は configure オプションで指定する。
+</entry>
+
+</row>
+
+<!-- 4 -->
+<row>
+
+<entry>
+MLの作成
+</entry>
+
+<entry>
+makefml newml ML もしくは makefml new ML
+</entry>
+
+<entry>
+makefml newml ML
+</entry>
+
+</row>
+
+<!-- 5 -->
+<row>
+
+<entry>
+newml コマンドが作るエイリアス(見本)ファイル
+</entry>
+
+<entry>
+sendmail 用 (互換性があるため postfix 用としても使用可能)
+</entry>
+
+<entry>
+postfix, sendmail, qmail, procmail すべてを作る
+</entry>
+
+</row>
+
+<!-- 6 -->
+<row>
+
+<entry>
+newml コマンドが作るエイリアス(見本)ファイルのパス
+</entry>
+
+<entry>
+/var/spool/ml/etc/aliaes
+</entry>
+
+<entry>
+/var/spool/ml/etc/mail/aliaes
+</entry>
+
+</row>
+
+<!-- 7 -->
+<row>
+
+<entry>
+qmail 用の設定を作る
+</entry>
+
+<entry>
+makefml qmail-setup ML
+</entry>
+
+<entry>
+不要 (デフォルトで作成する)
+</entry>
+
+</row>
+
+<!-- 8 -->
+<row>
+
+<entry>
+aliaes を再生成する
+</entry>
+
+<entry>
+makefml recollect-aliases ML
+</entry>
+
+<entry>
+該当するものはない
+</entry>
+
+</row>
+
+<!-- 9 -->
+<row>
+
+<entry>
+ML の削除
+</entry>
+
+<entry>
+makefml destructml ML
+</entry>
+
+<entry>
+makefml rmml ML
+</entry>
+
+</row>
+
+<!-- 10 -->
+<row>
+
+<entry>
+エラーメール自動解析ツールを設定する
+</entry>
+
+<entry>
+makefml mead ML を実行し、エイリアスも適宜、設定変更する。
+</entry>
+
+<entry>
+不要、デフォルトで設定されている
+</entry>
+
+</row>
+
+<!-- 11 -->
+<row>
+
+<entry>
+fml 自体のテストをしてみる
+</entry>
+
+<entry>
+makefml test ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 12 -->
+<row>
+
+<entry>
+LISTSERV スタイルのコマンドのセットアップ。
+</entry>
+
+<entry>
+makefml fmlserv ML
+listserv majordomo でも同じ。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 13 -->
+<row>
+
+<entry>
+アドレスを(受信者、送信者リスト両方に)追加する
+</entry>
+
+<entry>
+makefml add ML ADDRESS
+もしくは adduser でもよい。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives と members ファイル。
+</entry>
+
+<entry>
+makefml subscribe ML ADDRESS
+なお
+add subscribe adduser useradd
+コマンドは全て同じ意味である。
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は recipients と members ファイル。
+</entry>
+
+</row>
+
+<!-- 14 -->
+<row>
+
+<entry>
+アドレスを(受信者、送信者リスト両方から)削除する
+</entry>
+
+<entry>
+makefml bye ML ADDRESS
+もしくは byeuser でもよい。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives と members ファイル。
+</entry>
+
+<entry>
+makefml unsubscribe ML ADDRESS
+なお
+bye unsubscribe deluser remove resign signoff userdel
+コマンドは全て同じ意味である。
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は recipients と members ファイル。
+</entry>
+
+</row>
+
+<!-- 15 -->
+<row>
+
+<entry>
+アドレスを変更する(受信者リスト、メンバーリストともに変更する)
+</entry>
+
+<entry>
+makefml chaddr ML OLD_ADDRESS NEW_ADDRESS
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives と members ファイル。
+</entry>
+
+<entry>
+makefml chaddr ML OLD_ADDRESS NEW_ADDRESS
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は recipients と members ファイル。
+</entry>
+
+</row>
+
+<!-- 16 -->
+<row>
+
+<entry>
+受信者リストにのみアドレスを追加する。
+</entry>
+
+<entry>
+makefml addactives ML ADDRESS
+これは addactive add2active add2actives でも同じ意味。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives ファイル。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 17 -->
+<row>
+
+<entry>
+メンバーリストにのみアドレスを追加する。
+</entry>
+
+<entry>
+makefml addmembers ML ADDRESS
+これは addmember add2member add2members でも同じ。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は members ファイル。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 18 -->
+<row>
+
+<entry>
+リアルタイム配送を止める
+</entry>
+
+<entry>
+makefml off ML ADDRESS
+これは skip でもよい。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives ファイル。
+</entry>
+
+<entry>
+makefml off ML ADDRESS
+</entry>
+
+</row>
+
+<!-- 19 -->
+<row>
+
+<entry>
+リアルタイム配送を再開する
+</entry>
+
+<entry>
+makefml on ML ADDRESS
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives ファイル。
+</entry>
+
+<entry>
+makefml on ML ADDRESS
+</entry>
+
+</row>
+
+<!-- 20 -->
+<row>
+
+<entry>
+まとめおくり配送へ
+</entry>
+
+<entry>
+makefml matome ML ADDRESS
+コマンドは digest でもよい。
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は actives ファイル。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 21 -->
+<row>
+
+<entry>
+リモート管理者を追加する。
+</entry>
+
+<entry>
+makefml addadmin ML ADDRESS
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は members-admin ファイル。
+</entry>
+
+<entry>
+makefml addadmin ML ADDRESS
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は recipients-admin と members-admin ファイル。
+</entry>
+
+</row>
+
+<!-- 22 -->
+<row>
+
+<entry>
+リモート管理者を削除する。
+</entry>
+
+<entry>
+makefml byeadmin ML ADDRESS
+終了後、ファイルの変更点が表示される。
+デフォルトの操作対象は members-admin ファイル。
+</entry>
+
+<entry>
+makefml byeadmin ML ADDRESS
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は recipients-admin と members-admin ファイル。
+</entry>
+
+</row>
+
+<!-- 23 -->
+<row>
+
+<entry>
+リモート管理者のパスワードを設定する(1)
+</entry>
+
+<entry>
+makefml passwd ML
+対話モードになり、アドレスとパスワードの入力を促される。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 24 -->
+<row>
+
+<entry>
+リモート管理者のパスワードを設定する(2)
+</entry>
+
+<entry>
+makefml passwd ML ADDRESS
+対話モードになり、パスワードの入力を促される。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 25 -->
+<row>
+
+<entry>
+リモート管理者のパスワードを設定する(3)
+</entry>
+
+<entry>
+makefml passwd ML ADDRESS PASSWORD
+処理の様子が表示される。
+デフォルトの操作対象は etc/passwd ファイル。
+</entry>
+
+<entry>
+makefml passwd ML ADDRESS PASSWORD
+エラーにならない限り、画面表示はなく、静かに終る。
+デフォルトの操作対象は etc/passwd-admin ファイル。
+</entry>
+
+</row>
+
+<!-- 26 -->
+<row>
+
+<entry>
+メニュー形式で設定を変更する
+</entry>
+
+<entry>
+makefml config ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 27 -->
+<row>
+
+<entry>
+設定ファイルを編集する
+</entry>
+
+<entry>
+makefml edit ML
+使うエディタの入力を促し、
+そのエディタで config.ph を編集できるようにする。
+エディタのデフォルトは vi 。
+</entry>
+
+<entry>
+makefml edit ML
+エディタで config.cf を編集できるようにする。
+使うエディタを尋ねたりはしない。
+環境変数 EDITOR が設定されていれば、その値が使われる。
+エディタのデフォルトは vi 。
+</entry>
+
+</row>
+
+<!-- 28 -->
+<row>
+
+<entry>
+fml4 固有の設定ファイル変換( cf から config.ph を再生成する)
+</entry>
+
+<entry>
+makefml update-config ML
+これは update、config-update、update-config.ph コマンドでも同じ。
+処理の様子が表示される。
+</entry>
+
+<entry>
+設定ファイルは config.cf しかないため該当する操作は不要。
+</entry>
+
+</row>
+
+<!-- 29 -->
+<row>
+
+<entry>
+メニューを使い、cf のテンプレートファイルを編集する
+</entry>
+
+<entry>
+makefml config-template ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 30 -->
+<row>
+
+<entry>
+newml の際に使われる各種テンプレートファイルを編集する
+</entry>
+
+<entry>
+makefml edit-template FILE
+なお FILE なしで実行すると、指定可能なファイル一覧が表示される。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 31 -->
+<row>
+
+<entry>
+MLのホームディレクトリにあるヘルプなどのファイルを再生成する
+</entry>
+
+<entry>
+makefml create-doc-template ML
+</entry>
+
+<entry>
+不要。存在しない。
+もし置かれているなら、それは管理者がつくって置いたもののはず。
+</entry>
+
+</row>
+
+<!-- 32 -->
+<row>
+
+<entry>
+引数の SRC ファイルを DST へ、ファイル内の変数を変換しつつ生成する。
+</entry>
+
+<entry>
+makefml conv ML SRC DST
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 33 -->
+<row>
+
+<entry>
+ログをみる。デフォルトでは最後の100行が表示される。
+</entry>
+
+<entry>
+makefml log ML [オプション]
+これは makefml tail ML でも同じ動作になる。
+</entry>
+
+<entry>
+makefml log ML
+オプションは未実装
+</entry>
+
+</row>
+
+<!-- 34 -->
+<row>
+
+<entry>
+admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)
+</entry>
+
+<entry>
+makefml admin.cgi ML
+対話的に行なわれる。
+</entry>
+
+<entry>
+半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
+</entry>
+
+</row>
+
+<!-- 35 -->
+<row>
+
+<entry>
+ml-admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)
+</entry>
+
+<entry>
+makefml ml-admin.cgi ML
+makefml mladmin.cgi ML でも同じ。
+対話的に行なわれる。
+</entry>
+
+<entry>
+半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
+</entry>
+
+</row>
+
+<!-- 36 -->
+<row>
+
+<entry>
+admin.cgi の .htpasswd を設定する
+</entry>
+
+<entry>
+makefml html_cgiadmin_passwd ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 37 -->
+<row>
+
+<entry>
+html_config
+</entry>
+
+<entry>
+makefml html_config ML
+このコマンドは html_config_set でも同じ。
+CGI から設定を変更する際に使われている内部用コマンド。
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 38 -->
+<row>
+
+<entry>
+リモート管理者のパスワードを設定し、かつ
+ml-admin.cgi の .htpasswd を(リモート管理のパスワードと同じも
+のに)設定する
+</entry>
+
+<entry>
+makefml html_passwd ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 39 -->
+<row>
+
+<entry>
+ml-admin.cgi の .htpasswd を設定する
+</entry>
+
+<entry>
+makefml htpasswd ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 40 -->
+<row>
+
+<entry>
+pgp コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgp ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 41 -->
+<row>
+
+<entry>
+pgp2 コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgp2 ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 42 -->
+<row>
+
+<entry>
+pgpe コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgpe ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 43 -->
+<row>
+
+<entry>
+pgpk コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgpk ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 44 -->
+<row>
+
+<entry>
+pgps コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgps ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 45 -->
+<row>
+
+<entry>
+pgpv コマンド WRAPPER
+</entry>
+
+<entry>
+makefml pgpv ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 46 -->
+<row>
+
+<entry>
+gpg コマンド WRAPPER
+</entry>
+
+<entry>
+makefml gpg ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 47 -->
+<row>
+
+<entry>
+admin-auth
+</entry>
+
+<entry>
+makefml admin-auth ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 48 -->
+<row>
+
+<entry>
+admin-auth.pgp ML args
+</entry>
+
+<entry>
+makefml admin-auth.pgp ML args ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 49 -->
+<row>
+
+<entry>
+admin-encrypt
+</entry>
+
+<entry>
+makefml admin-encrypt ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 50 -->
+<row>
+
+<entry>
+admin-encrypt.pgp ML args
+</entry>
+
+<entry>
+makefml admin-encrypt.pgp ML args ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 51 -->
+<row>
+
+<entry>
+dist-auth
+</entry>
+
+<entry>
+makefml dist-auth ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 52 -->
+<row>
+
+<entry>
+dist-auth.pgp ML args
+</entry>
+
+<entry>
+makefml dist-auth.pgp ML args ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 53 -->
+<row>
+
+<entry>
+dist-encrypt
+</entry>
+
+<entry>
+makefml dist-encrypt ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 54 -->
+<row>
+
+<entry>
+dist-encrypt.pgp ML args
+</entry>
+
+<entry>
+makefml dist-encrypt.pgp ML args ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 55 -->
+<row>
+
+<entry>
+popfml のセットアップをする
+</entry>
+
+<entry>
+makefml popfml
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 56 -->
+<row>
+
+<entry>
+POP のパスワードを設定する
+</entry>
+
+<entry>
+makefml pop_passwd
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 57 -->
+<row>
+
+<entry>
+MLの動作をロックする
+</entry>
+
+<entry>
+makefml lock ML
+</entry>
+
+<entry>
+対応するものがない。そもそも giant lock がない。
+</entry>
+
+</row>
+
+<!-- 58 -->
+<row>
+
+<entry>
+バグレポートの編集テンプレートを作る
+</entry>
+
+<entry>
+makefml bug-report-template ML
+send-pr でもよい
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 59 -->
+<row>
+
+<entry>
+コマンドの実行
+</entry>
+
+<entry>
+makefml command ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 60 -->
+<row>
+
+<entry>
+配送モードの設定
+</entry>
+
+<entry>
+makefml delivery_mode ML
+</entry>
+
+<entry>
+未実装
+</entry>
+
+</row>
+
+<!-- 61 -->
+<row>
+
+<entry>
+makefml 中の変数を変更する
+</entry>
+
+<entry>
+makefml setq ML
+</entry>
+
+<entry>
+対応するものがない
+</entry>
+
+</row>
+
+<!-- 62 -->
+<row>
+
+<entry>
+fml が動いている環境についてサマリを表示する
+</entry>
+
+<entry>
+makefml showconfig ML
+showconf でもよい
+</entry>
+
+<entry>
+未実装 / 実装予定なし
+</entry>
+
+</row>
+
+<!-- 63 -->
+<row>
+
+<entry>
+「show コマンド」スタイルの OS 情報を表示する方法
+</entry>
+
+<entry>
+makefml show コマンド
+</entry>
+
+<entry>
+未実装 / 実装予定なし
+</entry>
+
+</row>
+
+<!-- 64 -->
+<row>
+
+<entry>
+ファイルを送る
+</entry>
+
+<entry>
+makefml resend ML
+</entry>
+
+<entry>
+未実装 / 実装予定なし
+</entry>
+
+</row>
+
+<!-- 65 -->
+<row>
+
+<entry>
+upgrade コマンド: fml 2.0 から 3.0 へのコンバート
+</entry>
+
+<entry>
+makefml upgrade ML
+</entry>
+
+<entry>
+不要
+</entry>
+
+</row>
+