19544a2daSSeongJae ParkNOTE:
29544a2daSSeongJae ParkThis is a version of Documentation/process/submit-checklist.rst into Japanese.
39544a2daSSeongJae ParkThis document is maintained by Takenori Nagano <t-nagano@ah.jp.nec.com>
49544a2daSSeongJae Parkand the JF Project team <http://www.linux.or.jp/JF/>.
59544a2daSSeongJae ParkIf you find any difference between this document and the original file
69544a2daSSeongJae Parkor a problem with the translation,
79544a2daSSeongJae Parkplease contact the maintainer of this file or JF project.
89544a2daSSeongJae Park
99544a2daSSeongJae ParkPlease also note that the purpose of this file is to be easier to read
109544a2daSSeongJae Parkfor non English (read: Japanese) speakers and is not intended as a
119544a2daSSeongJae Parkfork. So if you have any comments or updates of this file, please try
129544a2daSSeongJae Parkto update the original English file first.
139544a2daSSeongJae Park
149544a2daSSeongJae ParkLast Updated: 2008/07/14
159544a2daSSeongJae Park==================================
169544a2daSSeongJae Parkこれは、
179544a2daSSeongJae Parklinux-2.6.26/Documentation/process/submit-checklist.rst の和訳です。
189544a2daSSeongJae Park
199544a2daSSeongJae Park翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
209544a2daSSeongJae Park翻訳日: 2008/07/14
219544a2daSSeongJae Park翻訳者: Takenori Nagano <t-nagano at ah dot jp dot nec dot com>
229544a2daSSeongJae Park校正者: Masanori Kobayashi さん <zap03216 at nifty dot ne dot jp>
239544a2daSSeongJae Park==================================
249544a2daSSeongJae Park
259544a2daSSeongJae Park
269544a2daSSeongJae ParkLinux カーネルパッチ投稿者向けチェックリスト
279544a2daSSeongJae Park~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
289544a2daSSeongJae Park
299544a2daSSeongJae Park本書では、パッチをより素早く取り込んでもらいたい開発者が実践すべき基本的な事柄
309544a2daSSeongJae Parkをいくつか紹介します。ここにある全ての事柄は、Documentation/process/submitting-patches.rst
319544a2daSSeongJae ParkなどのLinuxカーネルパッチ投稿に際しての心得を補足するものです。
329544a2daSSeongJae Park
339544a2daSSeongJae Park 1: 妥当なCONFIGオプションや変更されたCONFIGオプション、つまり =y, =m, =n
349544a2daSSeongJae Park    全てで正しくビルドできることを確認してください。その際、gcc及びリンカが
359544a2daSSeongJae Park    warningやerrorを出していないことも確認してください。
369544a2daSSeongJae Park
379544a2daSSeongJae Park 2: allnoconfig, allmodconfig オプションを用いて正しくビルドできることを
389544a2daSSeongJae Park    確認してください。
399544a2daSSeongJae Park
409544a2daSSeongJae Park 3: 手許のクロスコンパイルツールやOSDLのPLMのようなものを用いて、複数の
419544a2daSSeongJae Park    アーキテクチャにおいても正しくビルドできることを確認してください。
429544a2daSSeongJae Park
439544a2daSSeongJae Park 4: 64bit長の'unsigned long'を使用しているppc64は、クロスコンパイルでの
449544a2daSSeongJae Park    チェックに適当なアーキテクチャです。
459544a2daSSeongJae Park
469544a2daSSeongJae Park 5: カーネルコーディングスタイルに準拠しているかどうか確認してください(!)
479544a2daSSeongJae Park
489544a2daSSeongJae Park 6: CONFIGオプションの追加・変更をした場合には、CONFIGメニューが壊れていない
499544a2daSSeongJae Park    ことを確認してください。
509544a2daSSeongJae Park
519544a2daSSeongJae Park 7: 新しくKconfigのオプションを追加する際には、必ずそのhelpも記述してください。
529544a2daSSeongJae Park
539544a2daSSeongJae Park 8: 適切なKconfigの依存関係を考えながら慎重にチェックしてください。
549544a2daSSeongJae Park    ただし、この作業はマシンを使ったテストできちんと行うのがとても困難です。
559544a2daSSeongJae Park    うまくやるには、自分の頭で考えることです。
569544a2daSSeongJae Park
579544a2daSSeongJae Park 9: sparseを利用してちゃんとしたコードチェックをしてください。
589544a2daSSeongJae Park
599544a2daSSeongJae Park10: 'make checkstack' と 'make namespacecheck' を利用し、問題が発見されたら
609544a2daSSeongJae Park    修正してください。'make checkstack' は明示的に問題を示しませんが、どれか
619544a2daSSeongJae Park    1つの関数が512バイトより大きいスタックを使っていれば、修正すべき候補と
629544a2daSSeongJae Park    なります。
639544a2daSSeongJae Park
649544a2daSSeongJae Park11: グローバルなkernel API を説明する kernel-doc をソースの中に含めてください。
659544a2daSSeongJae Park    ( staticな関数においては必須ではありませんが、含めてもらっても結構です )
669544a2daSSeongJae Park    そして、'make htmldocs' もしくは 'make mandocs' を利用して追記した
679544a2daSSeongJae Park    ドキュメントのチェックを行い、問題が見つかった場合には修正を行ってください。
689544a2daSSeongJae Park
699544a2daSSeongJae Park12: CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_SLAB,
709544a2daSSeongJae Park    CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK,
719544a2daSSeongJae Park    CONFIG_DEBUG_ATOMIC_SLEEP これら全てを同時に有効にして動作確認を
729544a2daSSeongJae Park    行ってください。
739544a2daSSeongJae Park
749544a2daSSeongJae Park13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
759544a2daSSeongJae Park    ビルドした上、動作確認を行ってください。
769544a2daSSeongJae Park
7772deb455SChristoph Hellwig14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
789544a2daSSeongJae Park
7972deb455SChristoph Hellwig15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
809544a2daSSeongJae Park    必ずドキュメントを追加してください。
819544a2daSSeongJae Park
8272deb455SChristoph Hellwig16: 新しいブートパラメータを追加した場合には、
839544a2daSSeongJae Park    必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
849544a2daSSeongJae Park
8572deb455SChristoph Hellwig17: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
869544a2daSSeongJae Park    利用して必ずその説明を記述してください。
879544a2daSSeongJae Park
8872deb455SChristoph Hellwig18: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
899544a2daSSeongJae Park    Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
909544a2daSSeongJae Park
91*d4b61e17SMasahiro Yamada19: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
929544a2daSSeongJae Park    挙動について、fault-injectionを利用して確認してください。
939544a2daSSeongJae Park    Documentation/fault-injection/ を参照してください。
949544a2daSSeongJae Park
959544a2daSSeongJae Park    追加したコードがかなりの量であったならば、サブシステム特有の
969544a2daSSeongJae Park    fault-injectionを追加したほうが良いかもしれません。
979544a2daSSeongJae Park
98*d4b61e17SMasahiro Yamada20: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
999544a2daSSeongJae Park    このオプションは大量の不要なメッセージを出力しますが、
1009544a2daSSeongJae Park    "warning: comparison between signed and unsigned" のようなメッセージは、
1019544a2daSSeongJae Park    バグを見つけるのに役に立ちます。
1029544a2daSSeongJae Park
103*d4b61e17SMasahiro Yamada21: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
1049544a2daSSeongJae Park    VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
1059544a2daSSeongJae Park    できることを確認するテストを行ってください。
106