xref: /OK3568_Linux_fs/kernel/Documentation/translations/ja_JP/SubmitChecklist (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunNOTE:
2*4882a593SmuzhiyunThis is a version of Documentation/process/submit-checklist.rst into Japanese.
3*4882a593SmuzhiyunThis document is maintained by Takenori Nagano <t-nagano@ah.jp.nec.com>
4*4882a593Smuzhiyunand the JF Project team <http://www.linux.or.jp/JF/>.
5*4882a593SmuzhiyunIf you find any difference between this document and the original file
6*4882a593Smuzhiyunor a problem with the translation,
7*4882a593Smuzhiyunplease contact the maintainer of this file or JF project.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunPlease also note that the purpose of this file is to be easier to read
10*4882a593Smuzhiyunfor non English (read: Japanese) speakers and is not intended as a
11*4882a593Smuzhiyunfork. So if you have any comments or updates of this file, please try
12*4882a593Smuzhiyunto update the original English file first.
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunLast Updated: 2008/07/14
15*4882a593Smuzhiyun==================================
16*4882a593Smuzhiyunこれは、
17*4882a593Smuzhiyunlinux-2.6.26/Documentation/process/submit-checklist.rst の和訳です。
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
20*4882a593Smuzhiyun翻訳日: 2008/07/14
21*4882a593Smuzhiyun翻訳者: Takenori Nagano <t-nagano at ah dot jp dot nec dot com>
22*4882a593Smuzhiyun校正者: Masanori Kobayashi さん <zap03216 at nifty dot ne dot jp>
23*4882a593Smuzhiyun==================================
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunLinux カーネルパッチ投稿者向けチェックリスト
27*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun本書では、パッチをより素早く取り込んでもらいたい開発者が実践すべき基本的な事柄
30*4882a593Smuzhiyunをいくつか紹介します。ここにある全ての事柄は、Documentation/process/submitting-patches.rst
31*4882a593SmuzhiyunなどのLinuxカーネルパッチ投稿に際しての心得を補足するものです。
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun 1: 妥当なCONFIGオプションや変更されたCONFIGオプション、つまり =y, =m, =n
34*4882a593Smuzhiyun    全てで正しくビルドできることを確認してください。その際、gcc及びリンカが
35*4882a593Smuzhiyun    warningやerrorを出していないことも確認してください。
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun 2: allnoconfig, allmodconfig オプションを用いて正しくビルドできることを
38*4882a593Smuzhiyun    確認してください。
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun 3: 手許のクロスコンパイルツールやOSDLのPLMのようなものを用いて、複数の
41*4882a593Smuzhiyun    アーキテクチャにおいても正しくビルドできることを確認してください。
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun 4: 64bit長の'unsigned long'を使用しているppc64は、クロスコンパイルでの
44*4882a593Smuzhiyun    チェックに適当なアーキテクチャです。
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun 5: カーネルコーディングスタイルに準拠しているかどうか確認してください(!)
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun 6: CONFIGオプションの追加・変更をした場合には、CONFIGメニューが壊れていない
49*4882a593Smuzhiyun    ことを確認してください。
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun 7: 新しくKconfigのオプションを追加する際には、必ずそのhelpも記述してください。
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun 8: 適切なKconfigの依存関係を考えながら慎重にチェックしてください。
54*4882a593Smuzhiyun    ただし、この作業はマシンを使ったテストできちんと行うのがとても困難です。
55*4882a593Smuzhiyun    うまくやるには、自分の頭で考えることです。
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun 9: sparseを利用してちゃんとしたコードチェックをしてください。
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun10: 'make checkstack' と 'make namespacecheck' を利用し、問題が発見されたら
60*4882a593Smuzhiyun    修正してください。'make checkstack' は明示的に問題を示しませんが、どれか
61*4882a593Smuzhiyun    1つの関数が512バイトより大きいスタックを使っていれば、修正すべき候補と
62*4882a593Smuzhiyun    なります。
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun11: グローバルなkernel API を説明する kernel-doc をソースの中に含めてください。
65*4882a593Smuzhiyun    ( staticな関数においては必須ではありませんが、含めてもらっても結構です )
66*4882a593Smuzhiyun    そして、'make htmldocs' もしくは 'make mandocs' を利用して追記した
67*4882a593Smuzhiyun    ドキュメントのチェックを行い、問題が見つかった場合には修正を行ってください。
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun12: CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_SLAB,
70*4882a593Smuzhiyun    CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK,
71*4882a593Smuzhiyun    CONFIG_DEBUG_ATOMIC_SLEEP これら全てを同時に有効にして動作確認を
72*4882a593Smuzhiyun    行ってください。
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
75*4882a593Smuzhiyun    ビルドした上、動作確認を行ってください。
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
80*4882a593Smuzhiyun    必ずドキュメントを追加してください。
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun16: 新しいブートパラメータを追加した場合には、
83*4882a593Smuzhiyun    必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun17: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
86*4882a593Smuzhiyun    利用して必ずその説明を記述してください。
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun18: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
89*4882a593Smuzhiyun    Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun19: 'make headers_check'を実行して全く問題がないことを確認してください。
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun20: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
94*4882a593Smuzhiyun    挙動について、fault-injectionを利用して確認してください。
95*4882a593Smuzhiyun    Documentation/fault-injection/ を参照してください。
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun    追加したコードがかなりの量であったならば、サブシステム特有の
98*4882a593Smuzhiyun    fault-injectionを追加したほうが良いかもしれません。
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun21: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
101*4882a593Smuzhiyun    このオプションは大量の不要なメッセージを出力しますが、
102*4882a593Smuzhiyun    "warning: comparison between signed and unsigned" のようなメッセージは、
103*4882a593Smuzhiyun    バグを見つけるのに役に立ちます。
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun22: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
106*4882a593Smuzhiyun    VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
107*4882a593Smuzhiyun    できることを確認するテストを行ってください。
108