[sugj-tech:7638] 日本語版makefileの不備(仕切り直し)

Michio Matsuyama michio_matsuyama @ yahoo.co.jp
2017年 6月 16日 (金) 15:51:54 JST


matsuand です。

以前「日本語版makefileの不備」としてメールを挙げさせて頂きました。
http://cgi.samba.gr.jp/mailman/archives/sugj-tech/2017-June/000697.html

改めて報告を進めていこうと思います。

まず初めに上記メールで示した makefile の問題点として以下のようなこと
を申し述べていました。

make html により HTML 文書を作成すると、その出力結果である index.html
等のエンコーディングが UTF-8 とならず ISO-8859-1 になってしまう。Web
ブラウザ上で表示した場合には日本語は読める。

これに関しまして、現状結論として再現しなくなりました。そのため、
取り下げとさせて頂きます。いろいろお騒がせして申し訳ありません。

ただし makefile の問題が解消したわけではありません。そこで改めてその
問題点を示していきたいと思います。なおOSDNのSamba翻訳プロジェクトの
チケット #37263 が、これを課題として取り扱うチケットのつもりです。
https://ja.osdn.net/ticket/browse.php?group_id=3828&tid=37263


事細かくご報告したいのですが、たぶん数百行にも及びそうです^^;
一つのメールだけではお伝えしきれません。いろいろ今後考えていきますが、
OSDN のチケットに状況を場合分けして取り上げるなどして提案内容を
お示しします。

概略だけざっと列記します。それでもかなりの文章になります。
これらに対する具体的なご説明なりアクションは後々していきます。

1. makefileの根本的な作りとして Makefile.setting を $(MAKE) により
作り出すのは、autoconf や configure の通常処理から見て危うい。実際に
警告エラーを出している。make が一度失敗し makeの自動再処理により
なんとかつじつまが合う処理結果になっている。Makefile.setting.in を
日本語版ソース内に事前に含めていないことが原因。

2. make htmlman で「関連コマンド」として訳出されるべき箇所が "Related
command" のまま訳出されていない。makefile 全体の作りの問題。
チケット #37276 参照("関連コマンド" 日本語化不備)
https://ja.osdn.net/ticket/browse.php?group_id=3828&tid=37276

3. make のターゲットとして htmlman や tex, ps, pdf, texiinfo などに
対応していない。htmlman は Windows の HTML形式ヘルプを作るものであり、
これに対応するためには xsltproc の出力コードを Shift-JIS としなければ
ならない。(したがってMakefile.settingの最終行に encoding UTF-8 を
加えている手法は考え直さなければならない。)
tex や pdf は TeXコミュニティあるいはお詳しい方の助けがないと
実現実装が難しいかもしれないが、htmlman、texinfo は比較的簡単。

4.日本語版メイクファイル makefile (頭小文字) は、オリジナルSamba
ソースからメイクファイル Makefile (頭大文字) をコピーして呼び出しを
行っている。頭大文字と小文字のメイクファイルを混在させる処理は
どうも見誤りやすく、あまり好ましくない。例えばオリジナルメイクファイル
は Makefile.orig とするだけでよく、こうすると Cygwinで処理できる
配布物となる(そうしないとCygwinで処理できない)。

5. オリジナルSambaソースへのシンボリックリンクを張ることが前提と
なっているが、シンボリックリンクを張ることが真の目的ではなく、
オリジナルソースのありかを知りファイルコピーすることが目的。
./configure --with-sambadir=/usr/local/src/samba-4.6.5 といったこと
で処理できさえすればよい。メリットは開発者にとって大いにあり、
誤ればconfigureが通らない(よって間違いは必ず分かる)、さらに
samba-4.6.5のコピー元を調べれば指定されたSambaソースのバージョンも
分かる(それに応じた処理もできる)、オリジナルソースのバージョン違い
に応じて日本語ソースを対応させる場合にも切り替えが容易。など。


だいたい以上です。

なお以前お示しした私の作成したパッチは GoogleDriveに挙げましたが、
上記の1,3,4,5 を解消済みのものです。
(3において tex, pdf 関連は未済です。)
また2はチケット#37276にて別途パッチを提供済みです。

よろしくお願いします。
matsuand

---
Michio Matsuyama
michio_matsuyama AT yahoo DOT co DOT jp


sugj-tech メーリングリストの案内