Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b6662f1 authored by Tsugikazu Shibata's avatar Tsugikazu Shibata Committed by Greg Kroah-Hartman
Browse files

HOWTO: update ja_JP/HOWTO with latest changes



Here is another sync patch of Documentation/ja_JP/HOWTO

Japanese developer sent me some cosmetic changes and also follow
changes of HOWTO
    Cross reference URL (sosdg.org/qiyong/lxr)
    known_regression explanations on kernel dev. process

Signed-off-by: default avatarTsugikazu Shibata <tshibata@ab.jp.nec.com>
Cc: stable <stable@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 43cc71ee
Loading
Loading
Loading
Loading
+45 −39
Original line number Diff line number Diff line
NOTE:
NOTE:
This is a version of Documentation/HOWTO translated into Japanese.
This document is maintained by Tsugikazu Shibata <tshibata@ab.jp.nec.com>
and the JF Project team <www.linux.or.jp/JF>.
@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
fork. So if you have any comments or updates for this file, please try
to update the original English file first.

Last Updated: 2007/07/18
Last Updated: 2007/09/23
==================================
これは、
linux-2.6.22/Documentation/HOWTO
linux-2.6.23/Documentation/HOWTO
の和訳です。

翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
翻訳日: 2007/07/16
翻訳日: 2007/09/19
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
校正者: 松倉さん <nbh--mats at nifty dot com>
         小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
@@ -27,6 +27,7 @@ linux-2.6.22/Documentation/HOWTO
         野口さん (Kenji Noguchi) <tokyo246 at gmail dot com>
         河内さん (Takayoshi Kochi) <t-kochi at bq dot jp dot nec dot com>
         岩本さん (iwamoto) <iwamoto.kn at ncos dot nec dot co dot jp>
         内田さん (Satoshi Uchida) <s-uchida at ap dot jp dot nec dot com>
==================================

Linux カーネル開発のやり方
@@ -40,7 +41,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
手助けになります。

もし、このドキュメントのどこかが古くなっていた場合には、このドキュメン
トの最後にリストしたメンテナにパッチを送ってください。
トの最後にリストしたメンテナにパッチを送ってください。

はじめに
---------
@@ -59,7 +60,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
ネル開発者には必要です。アーキテクチャ向けの低レベル部分の開発をするの
でなければ、(どんなアーキテクチャでも)アセンブリ(訳注: 言語)は必要あり
ません。以下の本は、C 言語の十分な知識や何年もの経験に取って代わるもの
ではありませんが、少なくともリファレンスとしてはい本です。
ではありませんが、少なくともリファレンスとしてはい本です。
 - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
 -『プログラミング言語C第2版』(B.W. カーニハン/D.M. リッチー著 石田晴久訳) [共立出版]
 - "Practical C Programming" by Steve Oualline [O'Reilly]
@@ -76,7 +77,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
ときどき、カーネルがツールチェインや C 言語拡張に置いている前提がどう
なっているのかわかりにくいことがあり、また、残念なことに決定的なリファ
レンスは存在しません。情報を得るには、gcc の info ページ( info gcc )を
てください。
てください。

あなたは既存の開発コミュニティと一緒に作業する方法を学ぼうとしているこ
とに留意してください。そのコミュニティは、コーディング、スタイル、
@@ -92,7 +93,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学

Linux カーネルのソースコードは GPL ライセンスの下でリリースされていま
す。ライセンスの詳細については、ソースツリーのメインディレクトリに存在
する、COPYING のファイルをてください。もしライセンスについてさらに質
する、COPYING のファイルをてください。もしライセンスについてさらに質
問があれば、Linux Kernel メーリングリストに質問するのではなく、どうぞ
法律家に相談してください。メーリングリストの人達は法律家ではなく、法的
問題については彼らの声明はあてにするべきではありません。
@@ -109,7 +110,8 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
新しいドキュメントファイルも追加することを勧めます。
カーネルの変更が、カーネルがユーザ空間に公開しているインターフェイスの
変更を引き起こす場合、その変更を説明するマニュアルページのパッチや情報
をマニュアルページのメンテナ mtk-manpages@gmx.net に送ることを勧めます。
をマニュアルページのメンテナ mtk-manpages@gmx.net に送ることを勧めま
す。

以下はカーネルソースツリーに含まれている読んでおくべきファイルの一覧で
す-
@@ -117,7 +119,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
  README
    このファイルは Linuxカーネルの簡単な背景とカーネルを設定(訳注
    configure )し、生成(訳注 build )するために必要なことは何かが書かれ
    ています。カーネルに関して初めての人はここからスタートするといで
    ています。カーネルに関して初めての人はここからスタートするといで
    しょう。

  Documentation/Changes
@@ -128,7 +130,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
  Documentation/CodingStyle
    これは Linux カーネルのコーディングスタイルと背景にある理由を記述
    しています。全ての新しいコードはこのドキュメントにあるガイドライン
    に従っていることを期待されています。大部分のメンテナはこれらのルー
    に従っていることを期待されています。大部分のメンテナはこれらのルー
    ルに従っているものだけを受け付け、多くの人は正しいスタイルのコード
    だけをレビューします。

@@ -168,16 +170,16 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
    支援してください。

  Documentation/ManagementStyle
    このドキュメントは Linux カーネルのメンテナ達がどう行動するか、
    このドキュメントは Linux カーネルのメンテナ達がどう行動するか、
    彼らの手法の背景にある共有されている精神について記述しています。こ
    れはカーネル開発の初心者なら(もしくは、単に興味があるだけの人でも)
    重要です。なぜならこのドキュメントは、カーネルメンテナ達の独特な
    重要です。なぜならこのドキュメントは、カーネルメンテナ達の独特な
    行動についての多くの誤解や混乱を解消するからです。

  Documentation/stable_kernel_rules.txt
    このファイルはどのように stable カーネルのリリースが行われるかのルー
    ルが記述されています。そしてこれらのリリースの中のどこかで変更を取
    り入れてもらいたい場合に何をすればいかが示されています。
    り入れてもらいたい場合に何をすればいかが示されています。

  Documentation/kernel-docs.txt
  カーネル開発に付随する外部ドキュメントのリストです。もしあなたが
@@ -218,9 +220,9 @@ web サイトには、コードの構成、サブシステム、現在存在す
ここには、また、カーネルのコンパイルのやり方やパッチの当て方などの間接
的な基本情報も記述されています。

あなたがどこからスタートしていかわからないが、Linux カーネル開発コミュ
あなたがどこからスタートしていかわからないが、Linux カーネル開発コミュ
ニティに参加して何かすることをさがしている場合には、Linux kernel
Janitor's プロジェクトにいけばいでしょう -
Janitor's プロジェクトにいけばいでしょう -
	http://janitor.kernelnewbies.org/
ここはそのようなスタートをするのにうってつけの場所です。ここには、
Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
@@ -243,7 +245,7 @@ Linux カーネルソースツリーの中に含まれる、きれいにし、
自己参照方式で、索引がついた web 形式で、ソースコードを参照することが
できます。この最新の素晴しいカーネルコードのリポジトリは以下で見つかり
ます-
	http://sosdg.org/~coywolf/lxr/
	http://sosdg.org/~qiyong/lxr/

開発プロセス
-----------------------
@@ -265,9 +267,9 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン
以下のとおり-

  - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
    この期間中に、メンテナ達は Linus に大きな差分を送ることができま
    す。このような差分は通常 -mm カーネルに数週間含まれてきたパッチで
    す。 大きな変更は git(カーネルのソース管理ツール、詳細は
    この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
    このような差分は通常 -mm カーネルに数週間含まれてきたパッチです。
    大きな変更は git(カーネルのソース管理ツール、詳細は
    http://git.or.cz/  参照) を使って送るのが好ましいやり方ですが、パッ
    チファイルの形式のまま送るのでも十分です。

@@ -285,6 +287,10 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン
    に安定した状態にあると判断したときにリリースされます。目標は毎週新
    しい -rc カーネルをリリースすることです。

   - 以下の URL で各 -rc リリースに存在する既知の後戻り問題のリスト
     が追跡されます-
     http://kernelnewbies.org/known_regressions

  - このプロセスはカーネルが 「準備ができた」と考えられるまで継続しま
    す。このプロセスはだいたい 6週間継続します。

@@ -331,8 +337,8 @@ Andrew は個別のサブシステムカーネルツリーとパッチを全て
linux-kernel メーリングリストで収集された多数のパッチと同時に一つにま
とめます。
このツリーは新機能とパッチが検証される場となります。ある期間の間パッチ
が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、
インラインへ入れるように Linus にプッシュします。
が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、
インラインへ入れるように Linus にプッシュします。

メインカーネルツリーに含めるために Linus に送る前に、すべての新しいパッ
チが -mm ツリーでテストされることが強く推奨されます。
@@ -460,7 +466,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
せん-
彼らはあなたのパッチの行毎にコメントを入れたいので、そのためにはそうす
るしかありません。あなたのメールプログラムが空白やタブを圧縮しないよう
に確認した方がいです。最初の良いテストとしては、自分にメールを送って
に確認した方がいです。最初の良いテストとしては、自分にメールを送って
みて、そのパッチを自分で当ててみることです。もしそれがうまく行かないな
ら、あなたのメールプログラムを直してもらうか、正しく動くように変えるべ
きです。
@@ -507,14 +513,14 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
とも普通のことです。これはあなたのパッチが受け入れられないということで
は *ありません*、そしてあなた自身に反対することを意味するのでも *ありま
せん*。単に自分のパッチに対して指摘された問題を全て修正して再送すれば
いのです。
いのです。


カーネルコミュニティと企業組織のちがい
-----------------------------------------------------------------

カーネルコミュニティは大部分の伝統的な会社の開発環境とは異ったやり方で
動いています。以下は問題を避けるためにできるといことのリストです-
動いています。以下は問題を避けるためにできるといことのリストです-

  あなたの提案する変更について言うときのうまい言い方:

@@ -525,7 +531,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
    - "以下は一連の小さなパッチ群ですが..."
    - "これは典型的なマシンでの性能を向上させます.."

  やめた方がい悪い言い方:
  やめた方がい悪い言い方:

    - このやり方で AIX/ptx/Solaris ではできたので、できるはずだ
    - 私はこれを20年もの間やってきた、だから
@@ -575,10 +581,10 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を

1) 小さいパッチはあなたのパッチが適用される見込みを大きくします、カー
   ネルの人達はパッチが正しいかどうかを確認する時間や労力をかけないか
   らです。5行のパッチはメンテナがたった1秒見るだけで適用できます。
   かし、500行のパッチは、正しいことをレビューするのに数時間かかるか
   しれません(時間はパッチのサイズなどにより指数関数に比例してかかり
   す)
   らです。5行のパッチはメンテナがたった1秒見るだけで適用できます。
   かし、500行のパッチは、正しいことをレビューするのに数時間かかるか
   しれません(時間はパッチのサイズなどにより指数関数に比例してかかり
   す)

   小さいパッチは何かあったときにデバッグもとても簡単になります。パッ
   チを1個1個取り除くのは、とても大きなパッチを当てた後に(かつ、何かお
@@ -587,23 +593,23 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
2) 小さいパッチを送るだけでなく、送るまえに、書き直して、シンプルにす
   る(もしくは、単に順番を変えるだけでも)ことも、とても重要です。

以下はカーネル開発者の Al Viro のたとえ話です:
以下はカーネル開発者の Al Viro のたとえ話です:

        "生徒の数学の宿題を採点する先生のことを考えてみてください、先
        生は生徒が解に到達するまでの試行錯誤をたいとは思わないでしょ
        う。先生は簡潔な最高の解をたいのです。良い生徒はこれを知って
        生は生徒が解に到達するまでの試行錯誤をたいとは思わないでしょ
        う。先生は簡潔な最高の解をたいのです。良い生徒はこれを知って
        おり、そして最終解の前の中間作業を提出することは決してないので
        す"

        カーネル開発でもこれは同じです。メンテナ達とレビューア達は、
        問題を解決する解の背後になる思考プロセスをたいとは思いません。
        彼らは単純であざやかな解決方法をたいのです。
        カーネル開発でもこれは同じです。メンテナ達とレビューア達は、
        問題を解決する解の背後になる思考プロセスをたいとは思いません。
        彼らは単純であざやかな解決方法をたいのです。

あざやかな解を説明するのと、コミュニティと共に仕事をし、未解決の仕事を
議論することのバランスをキープするのは難しいかもしれません。
ですから、開発プロセスの早期段階で改善のためのフィードバックをもらうよ
うにするのもいですが、変更点を小さい部分に分割して全体ではまだ完成し
ていない仕事を(部分的に)取り込んでもらえるようにすることもいことです。
うにするのもいですが、変更点を小さい部分に分割して全体ではまだ完成し
ていない仕事を(部分的に)取り込んでもらえるようにすることもいことです。

また、でき上がっていないものや、"将来直す" ようなパッチを、本流に含め
てもらうように送っても、それは受け付けられないことを理解してください。
@@ -629,7 +635,7 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
  - テスト結果

これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ
ントの ChangeLog セクションをてください-
ントの ChangeLog セクションをてください-
  "The Perfect Patch"
      http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt