18c2ecf20Sopenharmony_ciNOTE:
28c2ecf20Sopenharmony_ciThis is a version of Documentation/process/submit-checklist.rst into Japanese.
38c2ecf20Sopenharmony_ciThis document is maintained by Takenori Nagano <t-nagano@ah.jp.nec.com>
48c2ecf20Sopenharmony_ciand the JF Project team <http://www.linux.or.jp/JF/>.
58c2ecf20Sopenharmony_ciIf you find any difference between this document and the original file
68c2ecf20Sopenharmony_cior a problem with the translation,
78c2ecf20Sopenharmony_ciplease contact the maintainer of this file or JF project.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciPlease also note that the purpose of this file is to be easier to read
108c2ecf20Sopenharmony_cifor non English (read: Japanese) speakers and is not intended as a
118c2ecf20Sopenharmony_cifork. So if you have any comments or updates of this file, please try
128c2ecf20Sopenharmony_cito update the original English file first.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciLast Updated: 2008/07/14
158c2ecf20Sopenharmony_ci==================================
168c2ecf20Sopenharmony_ciこれは、
178c2ecf20Sopenharmony_cilinux-2.6.26/Documentation/process/submit-checklist.rst の和訳です。
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
208c2ecf20Sopenharmony_ci翻訳日: 2008/07/14
218c2ecf20Sopenharmony_ci翻訳者: Takenori Nagano <t-nagano at ah dot jp dot nec dot com>
228c2ecf20Sopenharmony_ci校正者: Masanori Kobayashi さん <zap03216 at nifty dot ne dot jp>
238c2ecf20Sopenharmony_ci==================================
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciLinux カーネルパッチ投稿者向けチェックリスト
278c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci本書では、パッチをより素早く取り込んでもらいたい開発者が実践すべき基本的な事柄
308c2ecf20Sopenharmony_ciをいくつか紹介します。ここにある全ての事柄は、Documentation/process/submitting-patches.rst
318c2ecf20Sopenharmony_ciなどのLinuxカーネルパッチ投稿に際しての心得を補足するものです。
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci 1: 妥当なCONFIGオプションや変更されたCONFIGオプション、つまり =y, =m, =n
348c2ecf20Sopenharmony_ci    全てで正しくビルドできることを確認してください。その際、gcc及びリンカが
358c2ecf20Sopenharmony_ci    warningやerrorを出していないことも確認してください。
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci 2: allnoconfig, allmodconfig オプションを用いて正しくビルドできることを
388c2ecf20Sopenharmony_ci    確認してください。
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci 3: 手許のクロスコンパイルツールやOSDLのPLMのようなものを用いて、複数の
418c2ecf20Sopenharmony_ci    アーキテクチャにおいても正しくビルドできることを確認してください。
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci 4: 64bit長の'unsigned long'を使用しているppc64は、クロスコンパイルでの
448c2ecf20Sopenharmony_ci    チェックに適当なアーキテクチャです。
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci 5: カーネルコーディングスタイルに準拠しているかどうか確認してください(!)
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci 6: CONFIGオプションの追加・変更をした場合には、CONFIGメニューが壊れていない
498c2ecf20Sopenharmony_ci    ことを確認してください。
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci 7: 新しくKconfigのオプションを追加する際には、必ずそのhelpも記述してください。
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci 8: 適切なKconfigの依存関係を考えながら慎重にチェックしてください。
548c2ecf20Sopenharmony_ci    ただし、この作業はマシンを使ったテストできちんと行うのがとても困難です。
558c2ecf20Sopenharmony_ci    うまくやるには、自分の頭で考えることです。
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci 9: sparseを利用してちゃんとしたコードチェックをしてください。
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci10: 'make checkstack' と 'make namespacecheck' を利用し、問題が発見されたら
608c2ecf20Sopenharmony_ci    修正してください。'make checkstack' は明示的に問題を示しませんが、どれか
618c2ecf20Sopenharmony_ci    1つの関数が512バイトより大きいスタックを使っていれば、修正すべき候補と
628c2ecf20Sopenharmony_ci    なります。
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci11: グローバルなkernel API を説明する kernel-doc をソースの中に含めてください。
658c2ecf20Sopenharmony_ci    ( staticな関数においては必須ではありませんが、含めてもらっても結構です )
668c2ecf20Sopenharmony_ci    そして、'make htmldocs' もしくは 'make mandocs' を利用して追記した
678c2ecf20Sopenharmony_ci    ドキュメントのチェックを行い、問題が見つかった場合には修正を行ってください。
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci12: CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_SLAB,
708c2ecf20Sopenharmony_ci    CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK,
718c2ecf20Sopenharmony_ci    CONFIG_DEBUG_ATOMIC_SLEEP これら全てを同時に有効にして動作確認を
728c2ecf20Sopenharmony_ci    行ってください。
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
758c2ecf20Sopenharmony_ci    ビルドした上、動作確認を行ってください。
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
808c2ecf20Sopenharmony_ci    必ずドキュメントを追加してください。
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci16: 新しいブートパラメータを追加した場合には、
838c2ecf20Sopenharmony_ci    必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci17: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
868c2ecf20Sopenharmony_ci    利用して必ずその説明を記述してください。
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci18: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
898c2ecf20Sopenharmony_ci    Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci19: 'make headers_check'を実行して全く問題がないことを確認してください。
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci20: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
948c2ecf20Sopenharmony_ci    挙動について、fault-injectionを利用して確認してください。
958c2ecf20Sopenharmony_ci    Documentation/fault-injection/ を参照してください。
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci    追加したコードがかなりの量であったならば、サブシステム特有の
988c2ecf20Sopenharmony_ci    fault-injectionを追加したほうが良いかもしれません。
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci21: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
1018c2ecf20Sopenharmony_ci    このオプションは大量の不要なメッセージを出力しますが、
1028c2ecf20Sopenharmony_ci    "warning: comparison between signed and unsigned" のようなメッセージは、
1038c2ecf20Sopenharmony_ci    バグを見つけるのに役に立ちます。
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci22: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
1068c2ecf20Sopenharmony_ci    VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
1078c2ecf20Sopenharmony_ci    できることを確認するテストを行ってください。
108