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