Back to home page

OSCL-LXR

 
 

    


0001 NOTE:
0002 This is a version of Documentation/process/submit-checklist.rst into Japanese.
0003 This document is maintained by Takenori Nagano <t-nagano@ah.jp.nec.com>
0004 and the JF Project team <http://www.linux.or.jp/JF/>.
0005 If you find any difference between this document and the original file
0006 or a problem with the translation,
0007 please contact the maintainer of this file or JF project.
0008 
0009 Please also note that the purpose of this file is to be easier to read
0010 for non English (read: Japanese) speakers and is not intended as a
0011 fork. So if you have any comments or updates of this file, please try
0012 to update the original English file first.
0013 
0014 Last Updated: 2008/07/14
0015 ==================================
0016 これは、
0017 linux-2.6.26/Documentation/process/submit-checklist.rst の和訳です。
0018 
0019 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
0020 翻訳日: 2008/07/14
0021 翻訳者: Takenori Nagano <t-nagano at ah dot jp dot nec dot com>
0022 校正者: Masanori Kobayashi さん <zap03216 at nifty dot ne dot jp>
0023 ==================================
0024 
0025 
0026 Linux カーネルパッチ投稿者向けチェックリスト
0027 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0028 
0029 本書では、パッチをより素早く取り込んでもらいたい開発者が実践すべき基本的な事柄
0030 をいくつか紹介します。ここにある全ての事柄は、Documentation/process/submitting-patches.rst
0031 などのLinuxカーネルパッチ投稿に際しての心得を補足するものです。
0032 
0033  1: 妥当なCONFIGオプションや変更されたCONFIGオプション、つまり =y, =m, =n
0034     全てで正しくビルドできることを確認してください。その際、gcc及びリンカが
0035     warningやerrorを出していないことも確認してください。
0036 
0037  2: allnoconfig, allmodconfig オプションを用いて正しくビルドできることを
0038     確認してください。
0039 
0040  3: 手許のクロスコンパイルツールやOSDLのPLMのようなものを用いて、複数の
0041     アーキテクチャにおいても正しくビルドできることを確認してください。
0042 
0043  4: 64bit長の'unsigned long'を使用しているppc64は、クロスコンパイルでの
0044     チェックに適当なアーキテクチャです。
0045 
0046  5: カーネルコーディングスタイルに準拠しているかどうか確認してください(!)
0047 
0048  6: CONFIGオプションの追加・変更をした場合には、CONFIGメニューが壊れていない
0049     ことを確認してください。
0050 
0051  7: 新しくKconfigのオプションを追加する際には、必ずそのhelpも記述してください。
0052 
0053  8: 適切なKconfigの依存関係を考えながら慎重にチェックしてください。
0054     ただし、この作業はマシンを使ったテストできちんと行うのがとても困難です。
0055     うまくやるには、自分の頭で考えることです。
0056 
0057  9: sparseを利用してちゃんとしたコードチェックをしてください。
0058 
0059 10: 'make checkstack' と 'make namespacecheck' を利用し、問題が発見されたら
0060     修正してください。'make checkstack' は明示的に問題を示しませんが、どれか
0061     1つの関数が512バイトより大きいスタックを使っていれば、修正すべき候補と
0062     なります。
0063 
0064 11: グローバルなkernel API を説明する kernel-doc をソースの中に含めてください。
0065     ( staticな関数においては必須ではありませんが、含めてもらっても結構です )
0066     そして、'make htmldocs' もしくは 'make mandocs' を利用して追記した
0067     ドキュメントのチェックを行い、問題が見つかった場合には修正を行ってください。
0068 
0069 12: CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_SLAB,
0070     CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK,
0071     CONFIG_DEBUG_ATOMIC_SLEEP これら全てを同時に有効にして動作確認を
0072     行ってください。
0073 
0074 13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
0075     ビルドした上、動作確認を行ってください。
0076 
0077 14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
0078 
0079 15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
0080     必ずドキュメントを追加してください。
0081 
0082 16: 新しいブートパラメータを追加した場合には、
0083     必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
0084 
0085 17: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
0086     利用して必ずその説明を記述してください。
0087 
0088 18: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
0089     Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
0090 
0091 19: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
0092     挙動について、fault-injectionを利用して確認してください。
0093     Documentation/fault-injection/ を参照してください。
0094 
0095     追加したコードがかなりの量であったならば、サブシステム特有の
0096     fault-injectionを追加したほうが良いかもしれません。
0097 
0098 20: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
0099     このオプションは大量の不要なメッセージを出力しますが、
0100     "warning: comparison between signed and unsigned" のようなメッセージは、
0101     バグを見つけるのに役に立ちます。
0102 
0103 21: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
0104     VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
0105     できることを確認するテストを行ってください。