NOTE: This is a version of Documentation/SubmittingPatches into Japanese. This document is maintained by Keiichi KII <k-keiichi@bx.jp.nec.com> and the JF Project team <http://www.linux.or.jp/JF/>. If you find any difference between this document and the original file or a problem with the translation, please contact the maintainer of this file or JF project. Please also note that the purpose of this file is to be easier to read for non English (read: Japanese) speakers and is not intended as a fork. So if you have any comments or updates of this file, please try to update the original English file first. Last Updated: 2007/10/24 ================================== ããã¯ã linux-2.6.23/Documentation/SubmittingPatches ã®å訳 ã§ãã 翻訳å£ä½ï¼ JF ããã¸ã§ã¯ã < http://www.linux.or.jp/JF/ > 翻訳æ¥ï¼ 2007/10/17 翻訳è ï¼ Keiichi Kii <k-keiichi at bx dot jp dot nec dot com> æ ¡æ£è ï¼ Masanari Kobayashi ãã <zap03216 at nifty dot ne dot jp> Matsukura ãã <nbh--mats at nifty dot com> ================================== Linux ã«ã¼ãã«ã«å¤æ´ãå ããããã® Howto å㯠ãã® Linus Torvalds ã®åãæ±ã説ææ¸ Linux ã«ã¼ãã«ã«å¤æ´ãå ãããã¨æã£ã¦ããå人åã¯ä¼ç¤¾ã«ã¨ã£ã¦ããã ãã®æ稿ã«é¢é£ããä»çµã¿ã«æ £ãã¦ããªããã°ããã®éç¨ã¯æã ã¿ãªããã ãããã¥ããããã¨ãããã¾ãããã®æç« ã¯ããªãã®å¤æ´ã大ãã«åãå ¥ã ã¦ããããããããææ¡ãéãããã®ã§ãã ã³ã¼ããæ稿ããåã«ãDocumentation/SubmitChecklist ã®é ç®ãªã¹ãã«ç® ãéãã¦ãã§ãã¯ãã¦ãã ãããããããªãããã©ã¤ãã¼ãæ稿ãããã¨ã ã¦ãããªããDocumentation/SubmittingDrivers ã«ãç®ãéãã¦ãã ããã -------------------------------------------- ã»ã¯ã·ã§ã³1 ãããã®ä½ãæ¹ã¨éãæ¹ -------------------------------------------- 1) ã diff -up ã ------------ ãããã®ä½æã«ã¯ã diff -up ãåã¯ã diff -uprN ãã使ã£ã¦ãã ããã Linux ã«ã¼ãã«ã«å¯¾ããå ¨ã¦ã®å¤æ´ã¯ diff(1) ã³ãã³ãã«ãããããã®å½¢å¼ã§ çæãã¦ãã ãããããããä½æããã¨ãã«ã¯ãdiff(1) ã³ãã³ãã«ã -u ãå¼ æ°ãæå®ãã¦ãunified å½¢å¼ã®ããããä½æãããã¨ã確èªãã¦ãã ãããã¾ãã å¤æ´ãã©ã® C é¢æ°ã§è¡ãããã®ãã表示ããã -p ãå¼æ°ã使ã£ã¦ãã ããã ãã®å¼æ°ã¯çæããå·®åããã£ã¨èªã¿ããããã¦ããã¾ããããã㯠Linux ã«ã¼ãã«ã½ã¼ã¹ã®ä¸ã®ãµããã£ã¬ã¯ããªã§ã¯ãªã Linux ã«ã¼ãã«ã½ã¼ã¹ã®ã«ã¼ã ãã£ã¬ã¯ããªãåºæºã«ããªãã¨ããã¾ããã 1åã®ãã¡ã¤ã«ã«ã¤ãã¦ã®ããããä½æããããã«ã¯ãã»ã¨ãã©ã®å ´åã 以ä¸ã®ä½æ¥ãè¡ãã°ååã§ãã SRCTREE= linux-2.6 MYFILE= drivers/net/mydriver.c cd $SRCTREE cp $MYFILE $MYFILE.orig vi $MYFILE # make your change cd .. diff -up $SRCTREE/$MYFILE{.orig,} > /tmp/patch è¤æ°ã®ãã¡ã¤ã«ã«ã¤ãã¦ã®ããããä½æããããã«ã¯ãç´ ã®( vanilla )ãã ãªãã¡å¤æ´ãå ãã¦ãªã Linux ã«ã¼ãã«ãå±éããèªåã® Linux ã«ã¼ãã« ã½ã¼ã¹ã¨ã®å·®åãçæããªãã¨ããã¾ãããä¾ãã°ã MYSRC= /devel/linux-2.6 tar xvfz linux-2.6.12.tar.gz mv linux-2.6.12 linux-2.6.12-vanilla diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \ linux-2.6.12-vanilla $MYSRC > /tmp/patch dontdiff ãã¡ã¤ã«ã«ã¯ Linux ã«ã¼ãã«ã®ãã«ãããã»ã¹ã®éç¨ã§çæããã ãã¡ã¤ã«ã®ä¸è¦§ãã®ã£ã¦ãã¾ããããã¦ããããã¯ããããçæãã diff(1) ã³ãã³ãã§ç¡è¦ãããã¹ãã§ããdontdiff ãã¡ã¤ã«ã¯ 2.6.12 以å¾ã®ãã¼ã¸ã§ ã³ã® Linux ã«ã¼ãã«ã½ã¼ã¹ããªã¼ã«å«ã¾ãã¦ãã¾ããããããåã®ãã¼ã¸ã§ã³ ã® Linux ã«ã¼ãã«ã½ã¼ã¹ããªã¼ã«å¯¾ãã dontdiff ãã¡ã¤ã«ã¯ã <http://www.xenotime.net/linux/doc/dontdiff>ããåå¾ãããã¨ãã§ãã¾ãã æ稿ãããããã®ä¸ã«é¢ä¿ã®ãªãä½åãªãã¡ã¤ã«ãå«ã¾ãã¦ããªããã¨ã確 èªãã¦ãã ãããdiff(1) ã³ãã³ãã§çæããããããããªãã®æå³ããã¨ã ãã®ãã®ã§ãããã¨ã確èªãã¦ãã ããã ããããªãã®ããããå¤ãã®å·®åãçã¿åºãã®ã§ããã°ãããªãã¯ããã ãæå³ã®ããã²ã¨ã¾ã¨ã¾ããã¨ã«åãããã¨æãããããã¾ããã ããã¯ä»ã®ã«ã¼ãã«éçºè ã«ã¨ã£ã¦ã¬ãã¥ã¼ãããããªãã®ã§ãããªãã® ããããåãå ¥ãã¦ãããããã«ã¯ã¨ã¦ãéè¦ãªãã¨ã§ãããããè£å©ã§ã ãå¤ãã®ã¹ã¯ãªãããããã¾ãã Quilt: http://savannah.nongnu.org/projects/quilt Andrew Morton's patch scripts: http://userweb.kernel.org/~akpm/stuff/tpp.txt ãã®ãªã³ã¯ã®å ã®ã¹ã¯ãªããã®ä»£ããã¨ãã¦ãquilt ããããããã¸ã¡ã³ã ãã¼ã«ã¨ãã¦æ¨å¥¨ããã¦ãã¾ã(ä¸ã®ãªã³ã¯ãè¦ã¦ãã ãã)ã 2) ãããã«å¯¾ãã説æ ãããã®ä¸ã®å¤æ´ç¹ã«å¯¾ããæè¡çãªè©³ç´°ã«ã¤ãã¦èª¬æãã¦ãã ããã 説æã¯ã§ããéãå ·ä½çã«ããã£ã¨ãæªã説æã¯ããã©ã¤ãã¼ X ãæ´æ°ãã ããã©ã¤ãã¼ X ã«å¯¾ãããã°ãã£ãã¯ã¹ããããã¯ããã®ãããã¯ãµãã·ã¹ ãã X ã«å¯¾ããæ´æ°ãå«ãã§ãã¾ããã©ããåãå ¥ãã¦ãã ãããããªã©ã§ãã 説æãé·ããªãã ããã®ã§ããã°ãããããããã¯ããããåããå¿ è¦ããã ã¨ããå åã§ãã次㮠#3 ãè¦ã¦ãã ããã 3) ãããã®åå² æå³ã®ããã²ã¨ã¾ã¨ã¾ããã¨ã«å¤æ´ãåã ã®ããããã¡ã¤ã«ã«åãã¦ãã ããã ä¾ãã°ããã1ã¤ã®ãã©ã¤ãã¼ã«å¯¾ãããã°ãã£ãã¯ã¹ã¨ããã©ã¼ãã³ã¹å¼· åã®ä¸¡æ¹ã®å¤æ´ãå«ãã§ããã®ã§ããã°ããã®å¤æ´ã2ã¤ä»¥ä¸ã®ãããã«å ãã¦ãã ãããããå¤æ´ç®æã« API ã®æ´æ°ã¨ããã®æ°ãã API ã使ãæ°ã㪠ãã©ã¤ãã¼ãå«ã¾ãã¦ãããªãã2ã¤ã®ãããã«åãã¦ãã ããã ä¸æ¹ã§ãããããªããå¤æ°ã®ãã¡ã¤ã«ã«å¯¾ãã¦æå³çã«åã1ã¤ã®å¤æ´ãå ã ãã®ã§ããã°ããã®å¤æ´ã1ã¤ã®ãããã«ã¾ã¨ãã¦ãã ãããè¨ããããã¨ã æå³çã«åã1ã¤ã®å¤æ´ã¯1ã¤ã®ãããã®ä¸ã«å«ã¾ãã¾ãã ããããããå¤æ´ãå®çµãããããã«ä»ã®ãããã«ä¾åãã¦ããã¨ãã¦ãã ããã¯åé¡ããã¾ããããããã®èª¬æã®ä¸ã§ããã®ãããã¯ããã X ã«ä¾å ãã¦ãããã¨ç°¡åã«æ³¨ææ¸ããã¤ãã¦ãã ããã ããããããããå°ããªãããã®éåã«å縮ãããã¨ãã§ããªããªããã¾ã㯠15ããããã®ããããéãããã®ã¬ãã¥ã¼ã¨çµ±åãå¾ ã£ã¦ä¸ããã 4) ãããã®ã¹ã¿ã¤ã«ãã§ã㯠ããªãã®ããããåºæ¬çãª( Linux ã«ã¼ãã«ã®)ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã«éåã ã¦ããªããããã§ãã¯ãã¦ä¸ããããã®è©³ç´°ã Documentation/CodingStyle 㧠è¦ã¤ãããã¨ãã§ãã¾ããã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã®éåã¯ã¬ãã¥ã¼ãã人㮠æéãç¡é§ã«ããã ããªã®ã§ãæããããªãã®ãããã¯èªã¾ãããã¨ãããªã æå¦ãããã§ãããã ããªãã¯ããããæ稿ããåã«æä½éãããã¹ã¿ã¤ã«ãã§ãã«ã¼ ( scripts/patchcheck.pl )ãå©ç¨ãã¦ãããããã§ãã¯ãã¹ãã§ãã ãããããã«éåãã®ãã£ã¦ãããªãã°ããããã®å ¨ã¦ã«ã¤ãã¦ããªãã¯æ£å½ãª çç±ã示ããããã«ãã¦ããå¿ è¦ãããã¾ãã 5) é»åã¡ã¼ã«ã®å®å ã®é¸ã³æ¹ MAINTAINERS ãã¡ã¤ã«ã¨ã½ã¼ã¹ã³ã¼ãã«ç®ãéãã¦ãã ãããããã¦ããã®å¤ æ´ãã¡ã³ããã®ããç¹å®ã®ãµãã·ã¹ãã ã«å ãããããã®ã§ãããã¨ãåã ãã°ããã®äººã«é»åã¡ã¼ã«ãéã£ã¦ãã ããã ãããã¡ã³ãããè¼ã£ã¦ããªãã£ãããã¡ã³ããããã®å¿çããªããªãã LKML ( linux-kernel@vger.kernel.org )ã¸ããããéã£ã¦ãã ãããã»ã¨ãã© ã®ã«ã¼ãã«éçºè ã¯ãã®ã¡ã¼ãªã³ã°ãªã¹ãã«ç®ãéãã¦ãããå¤æ´ã«å¯¾ã㦠ã³ã¡ã³ããå¾ããã¨ãã§ãã¾ãã 15åããå¤ãã®ããããåæã« vger.kernel.org ã®ã¡ã¼ãªã³ã°ãªã¹ãã¸éã㪠ãã§ãã ãã!!! Linus Torvalds 㯠Linux ã«ã¼ãã«ã«å ¥ãå ¨ã¦ã®å¤æ´ã«å¯¾ããæçµçãªææ決å®è ã§ããé»åã¡ã¼ã«ã¢ãã¬ã¹ã¯ torvalds@linux-foundation.org ã«ãªãã¾ãã彼㯠å¤ãã®é»åã¡ã¼ã«ãåãåã£ã¦ãããããã§ããéãå½¼ã«é»åã¡ã¼ã«ãéãã®ã¯ é¿ããã¹ãã§ãã ãã°ãã£ãã¯ã¹ã§ãã£ãããèªæãªå¤æ´ã§ãã£ããã話ãåããã»ã¨ãã© å¿ è¦ã¨ããªãããã㯠Linus ã¸é»åã¡ã¼ã«ãéãã CC ããªããã°ãªãã¾ããã 話ãåããå¿ è¦ã¨ããããæ確ãªã¢ããã³ãã¼ã¸ããªããããã¯ãé常ã¾ã 㯠LKML ã¸éãããã¹ãã§ããããããè°è«ãããå¾ã«ã ãããã®ãããã Linus ã¸éãã¹ãã§ãã 6) CC (ã«ã¼ãã³ã³ãã¼)å ã®é¸ã³æ¹ ç¹ã«çç±ããªããªããLKML ã«ã CC ãã¦ãã ããã Linus 以å¤ã®ã«ã¼ãã«éçºè ã¯å¤æ´ã«æ°ã¥ãå¿ è¦ãããããã®çµæãå½¼ãã¯ã ã®å¤æ´ã«å¯¾ãã¦ã³ã¡ã³ãããããããã³ã¼ãã«å¯¾ãã¦ã¬ãã¥ã¼ãææ¡ããã ãããããã¾ãããLKML ã¨ã¯ Linux ã«ã¼ãã«éçºè ã«ã¨ã£ã¦ä¸çªä¸å¿çãªã¡ã¼ ãªã³ã°ãªã¹ãã§ããUSB ããã¬ã¼ã ãããã¡ããã¤ã¹ã VFS ã SCSI ãµãã·ã¹ã ã ãªã©ã®ç¹å®ã®ãµãã·ã¹ãã ã«é¢ããã¡ã¼ãªã³ã°ãªã¹ããããã¾ããããªã ã®å¤æ´ã«ãã¯ã£ããã¨é¢é£ã®ããã¡ã¼ãªã³ã°ãªã¹ãã«ã¤ãã¦ç¥ããããã° MAINTAINERS ãã¡ã¤ã«ãåç §ãã¦ãã ããã VGER.KERNEL.ORG ã§ãã¹ãã£ã³ã°ããã¦ããã¡ã¼ãªã³ã°ãªã¹ãã®ä¸è¦§ãä¸è¨ã® ãµã¤ãã«è¼ã£ã¦ãã¾ãã <http://vger.kernel.org/vger-lists.html> ãããå¤æ´ãã¦ã¼ã¶ã©ã³ãã®ã«ã¼ãã«ã¤ã³ã¿ãã§ã¼ã¹ã«å½±é¿ãä¸ã ãã®ã§ããã°ãMAN-PAGES ã®ã¡ã³ãã( MAINTAINERS ãã¡ã¤ã«ã«ä¸è¦§ ãããã¾ã)ã« man ãã¼ã¸ã®ããããéã£ã¦ãã ãããå°ãªãã¨ã æ å ±ãããã¥ã¢ã«ãã¼ã¸ã®ä¸ã«å ¥ã£ã¦ããããã«ãå¤æ´ãèµ·ããã¨ãã éç¥ãéã£ã¦ãã ããã ãã¨ããã¡ã³ããã #4 ã§åå¿ããªãã£ãã¨ãã¦ããã¡ã³ããã®ã³ã¼ãã«å¤æ´ã å ããã¨ãã«ã¯ããã¤ãã¡ã³ããã« CC ããã®ãå¿ããªãããã«ãã¦ãã ããã å°ããªãããã§ããã°ãAdrian Bunk ã管çãã¦ãã Trivial Patch Monkey (ã¡ãã£ã¨ããããããéãã¦ãã)<trivial@kernel.org>ã« CC ãã¦ããã ã§ããã¡ãã£ã¨ãããããã¨ã¯ä»¥ä¸ã®ã«ã¼ã«ã®ã©ãã1ã¤ãæºããã¦ããªã ãã°ãªãã¾ããã ã»ããã¥ã¡ã³ãã®ã¹ãã«ãã¹ã®ä¿®æ£ ã»grep(1) ã³ãã³ãã«ããæ¤ç´¢ãå°é£ã«ãã¦ããã¹ãã«ã®ä¿®æ£ ã»ã³ã³ãã¤ã«æã®è¦åã®ä¿®æ£(ç¡é§ãªè¦åãæ£ä¹±ãããã¨ã¯å¥½ã¾ãããªãã ãã§ã) ã»ã³ã³ãã¤ã«åé¡ã®ä¿®æ£(ãããã®ä¿®æ£ãæ¬å½ã«æ£ããå ´åã«éã) ã»å®è¡æã®åé¡ã®ä¿®æ£(ãããã®ä¿®æ£ãæ¬å½ã«åé¡ãä¿®æ£ãã¦ããå ´åã«éã) ã»å»æ¢äºå®ã®é¢æ°ããã¯ãã使ç¨ãã¦ããã³ã¼ãã®é¤å»(ä¾ check_region ) ã»åãåããå ãããã¥ã¡ã³ãã®ä¿®æ£ ã»ç§»æ¤æ§ã®ãªãã³ã¼ããã移æ¤æ§ã®ããã³ã¼ãã¸ã®ç½®ãæã(å°ããç¯å²ã§ ããã°ã¢ã¼ããã¯ãã£ç¹æã®ãã¨ã§ãä»ã®äººãã³ãã¼ã§ãã¾ã) ã»ä½è ãã¡ã³ããã«ããä¿®æ£(ããªãã¡ patch monkey ã®å転éã¢ã¼ã) EMAIL: <trivial@kernel.org> 7) MIME ããªã³ã¯ãå§ç¸®ãã¡ã¤ã«ãæ·»ä»ãã¡ã¤ã«ã§ã¯ãªããã¬ã¤ã³ããã¹ãã®ã¿ Linus ãä»ã®ã«ã¼ãã«éçºè ã¯ããªããæ稿ããå¤æ´ãèªãã§ãã³ã¡ã³ãã§ã ãå¿ è¦ãããã¾ããã«ã¼ãã«éçºè ã«ã¨ã£ã¦ãããªããæ¸ããã³ã¼ãã®ç¹å®ã® é¨åã«ã³ã¡ã³ããããããã«ãæ¨æºçãªé»åã¡ã¼ã«ã¯ã©ã¤ã¢ã³ãã§å¤æ´ãå¼ç¨ ã§ãããã¨ã¯éè¦ã§ãã ä¸è¨ã®çç±ã§ããã¹ã¦ã®ãããã¯æä¸ã«å«ããå½¢å¼ã®é»åã¡ã¼ã«ã§æ稿ã ããã¹ãã§ããè¦åï¼ããªããããããã³ãã¼&ãã¼ã¹ãããéã«ã¯ããã ããæ¹æªããã¨ãã£ã¿ã¼ã®æãè¿ãæ©è½ã«æ³¨æãã¦ãã ããã ããããå§ç¸®ã®æç¡ã«é¢ããã MIME å½¢å¼ã§æ·»ä»ããªãã§ãã ãããå¤ãã®ã ãã¥ã©ã¼ãªé»åã¡ã¼ã«ã¯ã©ã¤ã¢ã³ã㯠MIME å½¢å¼ã®æ·»ä»ãã¡ã¤ã«ããã¬ã¼ã³ã ãã¹ãã¨ãã¦éä¿¡ããã¨ã¯éããªãã§ãããããããªãã¨ãé»åã¡ã¼ã«ã¯ã© ã¤ã¢ã³ããã³ã¼ãã«å¯¾ããã³ã¡ã³ããä»ãããã¨ãã§ããªããã¾ããã¾ãã MIME å½¢å¼ã®æ·»ä»ãã¡ã¤ã«ã¯ Linus ã«æéãåããããã¨ã«ãªãããã®å¤æ´ã åãå ¥ãã¦ãããå¯è½æ§ãä½ããªã£ã¦ãã¾ãã¾ãã ä¾å¤ï¼ã使ãã®é»åã¡ã¼ã«ã¯ã©ã¤ã¢ã³ãããããããã¡ããã¡ãã«ããã®ã§ ããã°ã誰ãã MIME å½¢å¼ã®ããããåéããããæ±ããããããã¾ããã è¦åï¼ Mozilla ã®ãããªç¹å®ã®é»åã¡ã¼ã«ã¯ã©ã¤ã¢ã³ãã¯é»åã¡ã¼ã«ã® ãããã«ä»¥ä¸ã®ãã®ãä»å ãã¦éãã¾ãã ---- message header ---- Content-Type: text/plain; charset=us-ascii; format=flowed ---- message header ---- åé¡ã¯ãã format=flowed ããä»ããé»åã¡ã¼ã«ãç¹å®ã®åä¿¡å´ã®é»åã¡ã¼ã« ã¯ã©ã¤ã¢ã³ããã¿ããã¹ãã¼ã¹ã«ç½®ãæããã¨ãããããªå¤æ´ããããã¨ã§ãã ãããã£ã¦éããã¦ãããããã¯å£ãã¦ããããã«è¦ããã§ãããã ãããä¿®æ£ããã«ã¯ãmozilla ã® defaults/pref/mailnews.js ãã¡ã¤ã«ã 以ä¸ã®ããã«ä¿®æ£ãã¾ãã pref("mailnews.send_plaintext_flowed", false); // RFC 2646======= pref("mailnews.display.disable_format_flowed_support", true); 8) é»åã¡ã¼ã«ã®ãµã¤ãº ãããã Linus ã¸éãã¨ãã¯å¸¸ã« #7 ã®æé ã«å¾ã£ã¦ãã ããã 大ããªãããã¯ã¡ã¼ãªã³ã°ãªã¹ããã¡ã³ããã«ã¨ã£ã¦ä¸è¦ªåã§ãããããã æªå§ç¸®ã§ 40KB ãè¶ ããããã§ãããªããã¤ã³ã¿ã¼ãããä¸ã®ã¢ã¯ã»ã¹å¯è½ãª ãµã¼ãã«ä¿åããä¿åå ´æã示ã URL ãä¼ããã»ããé©åã§ãã 9) ã«ã¼ãã«ãã¼ã¸ã§ã³ã®æè¨ ãããã対象ã¨ããã«ã¼ãã«ã®ãã¼ã¸ã§ã³ããããã®æ¦è¦ãé»åã¡ã¼ã«ã® ãµãã¸ã§ã¯ãã«ä»ãããã¨ãéè¦ã§ãã ããããææ°ãã¼ã¸ã§ã³ã®ã«ã¼ãã«ã«æ£ããé©ç¨ã§ããªããã°ãLinus 㯠ãã®ããããæ¡ç¨ããªãã§ãããã 10) ãã£ããããåæ稿 ããããæ稿ããå¾ã¯ãè¾æ±å¼·ãå¾ ã£ã¦ãã¦ãã ãããLinus ãããªãã®ãã ããæ°ã«å ¥ã£ã¦æ¡ç¨ããã°ãLinus ããªãªã¼ã¹ãã次ã®ãã¼ã¸ã§ã³ã®ã«ã¼ãã« ã®ä¸ã§å§¿ãè¦ããã§ãããã ãããããããã次ã®ãã¼ã¸ã§ã³ã®ã«ã¼ãã«ã«å ¥ã£ã¦ããªããªããããã¤ãã® çç±ãããã®ã§ãããããã®åå ãçµãè¾¼ã¿ãééã£ã¦ãããã®ãæ£ããæ´æ° ããããããæ稿ããã®ã¯ããªãã®ä»äºã§ãã Linus ãããªãã®ãããã«å¯¾ãã¦ä½ã®ã³ã¡ã³ãããªãä¸æ¡ç¨ã«ãããã¨ã¯æ¥µã ã¦æ®éã®ãã¨ã§ããããã¯èªç¶ãªå§¿ã§ãããããLinus ãããªãã®ããããå ãåã£ã¦ããªãã®ã§ããã°ã以ä¸ã®çç±ãèãããã¾ãã * ããããææ°ãã¼ã¸ã§ã³ã® Linux ã«ã¼ãã«ã«ãã¡ãã¨é©ç¨ã§ããªãã£ã * ãããã LKML ã§ååã«è°è«ããã¦ããªãã£ã * ã¹ã¿ã¤ã«ã®åé¡(ã»ã¯ã·ã§ã³2ãåç §) * é»åã¡ã¼ã«ãã©ã¼ãããã®åé¡(ãã®ã»ã¯ã·ã§ã³ãåç §) * ãããã«å¯¾ããæè¡çãªåé¡ * Linus ã¯ããããã®é»åã¡ã¼ã«ãåãåã£ã¦ããã®ã§ãã©ãããã«ç´ãã¦è¦ 失ã£ã * ä¸æå¿«ã«ããã¦ãã å¤æã§ããªãå ´åã¯ãLKML ã«ã³ã¡ã³ããé ¼ãã§ãã ããã 11) ãµãã¸ã§ã¯ãã«ã PATCH ã Linus ã LKML ã¸ã®å¤§éã®é»åã¡ã¼ã«ã®ããã«ããµãã¸ã§ã¯ãã®ãã¬ãã£ãã¯ã¹ã« ã [PATCH] ããä»ãããã¨ãæ £ç¿ã¨ãªã£ã¦ãã¾ããããã«ãã£ã¦ Linus ãä»ã® ã«ã¼ãã«éçºè ããããã§ããã®ããåã¯ãä»ã®è°è«ã«é¢ããé»åã¡ã¼ã«ã§ããã® ããããç°¡åã«èå¥ã§ãã¾ãã 12) ãããã¸ã®ç½²å 誰ãä½ãããã®ãã追ããããããããããã« (ç¹ã«ãããããä½äººãã® ã¡ã³ãããçµã¦æçµçã« Linux ã«ã¼ãã«ã«åãè¾¼ã¾ããå ´åã®ããã«)ãé»å ã¡ã¼ã«ã§ããåãããããããã«å¯¾ãã¦ã sign-off ãã¨ããæç¶ããå°å ¥ã ã¾ããã ã sign-off ãã¨ã¯ãããããããªãã®æ¸ãããã®ã§ãããããããã¯ã ããªãããã®ãããããªã¼ãã³ã½ã¼ã¹ã¨ãã¦æä¾ãã権å©ãä¿æãã¦ããã ã¨ãã証æããããã®èª¬æã®æ«å°¾ã«ä¸è¡è¨è¼ããã¨ãããã®ã§ãã ã«ã¼ã«ã¯ã¨ã¦ãåç´ã§ãã以ä¸ã®é ç®ã確èªãã¦ä¸ããã åä½è ã®è¨¼ææ¸( DCO ) 1.1 ãã®ããã¸ã§ã¯ãã«å¯ä¸ãããã®ã¨ãã¦ã以ä¸ã®ãã¨ã証æããã (a) æ¬å¯ä¸ã¯ç§ãå ¨ä½åã¯ä¸é¨ä½æãããã®ã§ãããç§ããã®ãã¡ã¤ ã«ä¸ã«æ示ããããªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã®ä¸ã§å ¬éããæ¨©å© ãæã£ã¦ããããããã¯ã (b) æ¬å¯ä¸ã¯ãç§ãç¥ãéããé©åãªãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã§ã«ã ã¼ããã¦ããæ¢åã®ä½åãå ã«ãã¦ãããåæã«ãç§ã¯ãã®ã©ã¤ã» ã³ã¹ã®ä¸ã§ãç§ãå ¨ä½åã¯ä¸é¨ä½æããä¿®æ£ç©ãããã¡ã¤ã«ä¸ã§ç¤º ãããåä¸ã®ãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã§(ç°ãªãã©ã¤ã»ã³ã¹ã®ä¸ã§ æ稿ãããã¨ã許å¯ããã¦ããå ´åãé¤ãã¦)æ稿ãã権å©ãæã£ã¦ ããããããã¯ã (c) æ¬å¯ä¸ã¯(a)ã(b)ã(c)ã証æãã第3è ããç§ã¸ç´æ¥æä¾ããã ãã®ã§ãããç§ã¯ããã«å¤æ´ãå ãã¦ããªãã (d) ç§ã¯ãã®ããã¸ã§ã¯ãã¨æ¬å¯ä¸ãå ¬ã®ãã®ã§ãããã¨ã«ç解åã³åæã ããåæã«ãé¢ä¸ããè¨é²(æ稿ã®éã®å ¨ã¦ã®å人æ å ±ã¨ sign-off ã å«ã)ãç¡æéã«ä¿å ¨ããããã¨ã¨ãå½è©²ããã¸ã§ã¯ãåã¯é¢é£ãã ãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã«æ²¿ã£ãå½¢ã§åé å¸ããããã¨ã«ç解åã³ åæããã ããããã«åæã§ãããªãã以ä¸ã®ãããª1è¡ã追å ãã¦ãã ããã Signed-off-by: Random J Developer <random@developer.example.org> å®åã使ã£ã¦ãã ããã(æ®å¿µã§ãããå½åãå¿åã«ããå¯ä¸ã¯ã§ãã¾ããã) 人ã«ãã£ã¦ã¯ sign-off ã®è¿ãã«è¿½å ã®ã¿ã°ãä»å ãã¦ãã¾ãããããã¯ä»ã®ã¨ãã ç¡è¦ããã¾ãããããªãã¯ãã®ã¿ã°ã社å ã®æç¶ãã«å©ç¨ããããsign-off ã«ç¹å¥ ãªæ å ±ã示ããããããã¨ãã§ãã¾ãã 13) ã㤠Acked-by: ã使ãã®ã ã Signed-off-by: ãã¿ã°ã¯ãã®ç½²åè ããããã®éçºã«é¢ãã£ã¦ãããã¨ãããã ã®ä¼æãã¹ã«ãããã¨ã示ãã¦ãã¾ãã ãã人ãç´æ¥ãããã®æºåãä½æã«é¢ãã£ã¦ããªãããã©ããã®äººã®ãããã«å¯¾ã ãæ¿èªãè¨é²ãã示ãããã¨ãã¾ãããã®å ´åããã®äººã示ãã®ã« Acked-by: ã使 ãã¾ããAcked-by: ã¯ãããã®ãã§ã³ã¸ãã°ã«ã追å ããã¾ãã ãããã®å½±é¿ãåããã³ã¼ãã®ã¡ã³ããããããã«é¢ãã£ã¦ããªãã£ãããããã ã®ä¼æãã¹ã«ããªãã£ãæã«ããã¡ã³ãã㯠Acked-by: ããã°ãã°å©ç¨ãã¾ãã Acked-by: 㯠Signed-off-by: ã®ããã«å ¬å¼ãªã¿ã°ã§ã¯ããã¾ãããããã¯ã¡ã³ããã å°ãªãã¨ãããããã¬ãã¥ã¼ããåæã示ãã¦ããã¨ããè¨é²ã§ãããã®ãã㪠ãã¨ãããããã®çµ±åè ãã¡ã³ããã®ããããè¯ãã¨æãããã¨ããçºè¨ã Acked-by: ã¸ç½®ãæãããã¨ãããã¾ãã Acked-by: ãå¿ ããããããå ¨ä½ã®æ¿èªã示ãã¦ããããã§ã¯ããã¾ãããä¾ãã°ã ããããããè¤æ°ã®ãµãã·ã¹ãã ã¸å½±é¿ãä¸ãã¦ããããã®ä¸ã®1ã¤ã®ãµãã·ã¹ãã ã®ã¡ã³ããããã® Acked-by: ãæã£ã¦ããã¨ãã¾ãããã®å ´åãAcked-by: ã¯é常 ãã®ã¡ã³ããã®ã³ã¼ãã«å½±é¿ãä¸ããä¸é¨åã ãã«å¯¾ããæ¿èªã示ãã¦ãã¾ãã ãã®ç¹ã¯ããèªåã§å¤æãã¦ãã ããã(ãã® Acked-by: ã)çãããå ´åã¯ã ã¡ã¼ãªã³ã°ãªã¹ãã¢ã¼ã«ã¤ãã®ä¸ã®å¤§å ã®è°è«ãåç §ãã¹ãã§ãã 14) æ¨æºçãªãããã®ãã©ã¼ããã æ¨æºçãªãããã®ãµãã¸ã§ã¯ãã¯ä»¥ä¸ã®ã¨ããã§ãã Subject: [PATCH 001/123] subsystem: summary phrase æ¨æºçãªãããã®ãé»åã¡ã¼ã«ã®ããã£ã¯ä»¥ä¸ã®é ç®ãå«ãã§ãã¾ãã - ãããã®ä½æè ãæè¨ããã from ãè¡ - ç©ºè¡ - 説ææ¬ä½ãããã¯ãã®ãããã説æããããã«ç¡æéã®ãã§ã³ã¸ãã° (å¤æ´å±¥æ´)ã«ã³ãã¼ããã¾ãã - ä¸è¿°ããã Signed-off-by: ãè¡ãããã説ææ¬ä½ã¨åãããã§ã³ ã¸ãã°å ã«ã³ãã¼ããã¾ãã - ãã¼ã«ã¼è¡ã¯åç´ã«ã --- ãã§ãã - ä½è¨ãªã³ã¡ã³ãã¯ããã§ã³ã¸ãã°ã«ã¯ä¸é©åã§ãã - å®éã®ããã(å·®ååºå) ãµãã¸ã§ã¯ãè¡ã®ãã©ã¼ãããã¯ãã¢ã«ãã¡ãããé ã§é»åã¡ã¼ã«ãã¨ã¦ã ã½ã¼ããããããã®ã«ãªã£ã¦ãã¾ãã(ã»ã¨ãã©ã®é»åã¡ã¼ã«ã¯ã©ã¤ã¢ã³ã ã¯ã½ã¼ãããµãã¼ããã¦ãã¾ã)ãããã®ãµãã¸ã§ã¯ãã®é£çªã¯0è©°ãã§ã ããããæ°åã§ã®ã½ã¼ãã¨ã¢ã«ãã¡ãããã§ã®ã½ã¼ãã¯åãçµæã«ãªãã¾ãã é»åã¡ã¼ã«ã®ãµãã¸ã§ã¯ãå ã®ãµãã·ã¹ãã 表è¨ã¯ãããããé©ç¨ããã åéã¾ãã¯ãµãã·ã¹ãã ãèå¥ã§ããããã«ãã¹ãã§ãã é»åã¡ã¼ã«ã®ãµãã¸ã§ã¯ãã®ãæ¦è¦ã®è¨ãåããã¯ãã®ãããã®æ¦è¦ãæ£ç¢º ã«è¡¨ç¾ããªããã°ãªãã¾ããããæ¦è¦ã®è¨ãåããããã¡ã¤ã«åã«ãã¦ã¯ã ãã¾ãããä¸é£ã®ãããä¸ã§ããããã®ãããã¯åããæ¦è¦ã®è¨ãåããã 使ã£ã¦ã¯ããã¾ãã(ãä¸é£ã®ããããã¨ã¯é åºä»ããããé¢é£ã®ããè¤æ°ã® ããã群ã§ã)ã ããªãã®é»åã¡ã¼ã«ã®ãæ¦è¦ã®è¨ãåããããã®ãããã«ã¨ã£ã¦ä¸çã§å¯ ä¸ã®èå¥åã«ãªãããã«å¿ããã¦ãã ããããæ¦è¦ã®è¨ãåãã㯠git ã® ãã§ã³ã¸ãã°ã®ä¸ã¸ãã£ã¨ä¼æãã¦ããã¾ãããæ¦è¦ã®è¨ãåããã¯ãé çºè ãå¾ã§ããããåç §ããããã«è°è«ã®ä¸ã§å©ç¨ããããããã¾ããã 人ã ã¯ãã®ãããã«é¢é£ããè°è«ãèªãããã«ãæ¦è¦ã®è¨ãåããã使ã£ã¦ google ã§æ¤ç´¢ããããã§ãããã ãµãã¸ã§ã¯ãã®ä¾ãäºã¤ Subject: [patch 2/5] ext2: improve scalability of bitmap searching Subject: [PATCHv2 001/207] x86: fix eflags tracking ã from ãè¡ã¯é»åã¡ã¼ã«ã®ããã£ã®ä¸çªæåã®è¡ã§ãªããã°ãªãã¾ããã ãã®å½¢å¼ã¯ä»¥ä¸ã®ã¨ããã§ãã From: Original Author <author@example.com> ã from ãè¡ã¯ãã§ã³ã¸ãã°ã®ä¸ã§ããã®ãããã®ä½æè ã¨ãã¦ã¯ã¬ã¸ãããã ã¦ãã人ãç¹å®ãããã®ã§ããã from ãè¡ãããã¦ããã¨ãé»åã¡ã¼ã«ã®ãã ãã¼ã®ã From: ããããã§ã³ã¸ãã°ã®ä¸ã§ãããã®ä½æè ã決å®ããããã«ä½¿ã ããã§ãããã 説ææ¬ä½ã¯ç¡æéã®ã½ã¼ã¹ã®ãã§ã³ã¸ãã°ã«ã³ãããããã¾ãããªã®ã§ã説æ æ¬ä½ã¯ãã®ãããã«è³ã£ãè°è«ã®è©³ç´°ãå¿ãã¦ããããç¨åº¦ã®æéãæã£ã¦ãã人 ããã®è©³ç´°ãæãåºããã¨ãã§ãããã®ã§ãªããã°ãªãã¾ããã ã --- ããã¼ã«ã¼è¡ã¯ãããå¦çãã¼ã«ã«å¯¾ãã¦ããã§ã³ã¸ãã°ã¡ãã»ã¼ã¸ã®çµç«¯ é¨åãèªèãããã¨ããéè¦ãªå½¹ç®ãæããã¾ãã ã --- ããã¼ã«ã¼è¡ã®å¾ã®è¿½å ã³ã¡ã³ãã®è¯ã使ç¨æ¹æ³ã®1ã¤ã« diffstat ã³ãã³ã ãããã¾ããdiffstat ã³ãã³ãã¨ã¯ä½ã®ãã¡ã¤ã«ãå¤æ´ããã1ãã¡ã¤ã«å½ããä½è¡ 追å ããä½è¡æ¶ããããã示ããã®ã§ããdiffstat ã³ãã³ãã¯ç¹ã«å¤§ããªãããã« ããã¦å½¹ç«ã¡ã¾ãããã®æç¹ã§ã ãåã¯ã¡ã³ããã«ã¨ã£ã¦ã®ã¿é¢ä¿ã®ããã³ã¡ã³ã ã¯ç¡æéã«ä¿åããããã§ã³ã¸ãã°ã«ã¨ã£ã¦é©åã§ã¯ããã¾ããããã®ããããã® ãããªã³ã¡ã³ãããã¼ã«ã¼è¡ã®å¾ã«æ¸ãããã¹ãã§ãããã¡ã¤ã«åã¯ã«ã¼ãã«ã½ã¼ ã¹ããªã¼ã®ããããã£ã¬ã¯ããªããã®è¡¨è¨ã§ãªã¹ããããããã横æ¹åã®ã¹ãã¼ã¹ ãã¨ãéããªãããã«ãdiffstat ã³ãã³ãã«ãªãã·ã§ã³ã -p 1 -w 70 ããæå®ã ã¦ãã ãã(ã¤ã³ãã³ããå«ãã¦ã¡ããã©80åã«åãã§ããã)ã é©åãªãããã®ãã©ã¼ãããã®è©³ç´°ã«ã¤ãã¦ã¯ã»ã¯ã·ã§ã³3ã®åèæç®ãåç §ã㦠ãã ããã ------------------------------------ ã»ã¯ã·ã§ã³2 - ãã³ãã¨TIPSã¨å°æ ------------------------------------ ãã®ã»ã¯ã·ã§ã³ã¯ Linux ã«ã¼ãã«ã«å¤æ´ãé©ç¨ãããã¨ã«é¢ä¿ã®ããä¸è¬ç㪠ããç´æãã®å¤ããè¼ãã¦ãã¾ããç©äºã«ã¯ä¾å¤ã¨ãããã®ãããã¾ãããã ãä¾å¤ãé©ç¨ããã«ã¯ãæ¬å½ã«å¦¥å½ãªçç±ãä¸å¯æ¬ ã§ããããªãã¯æãããã® ã»ã¯ã·ã§ã³ã Linus ã®ã³ã³ãã¥ã¼ã¿ã»ãµã¤ã¨ã³ã¹101ã¨å¼ã¶ã§ãããã 1) Documentation/CodingStyleãåç § è¨ãã¾ã§ããªããããªãã®ã³ã¼ãããã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ãããã¾ãã« ãé¸è±ãã¦ããã¨ãã¬ãã¥ã¼ãã³ã¡ã³ããªãã«åãåã£ã¦ããããªãããã ãã¾ããã å¯ä¸ã®ç¹çãã¹ãä¾å¤ã¯ãã³ã¼ãããããã¡ã¤ã«ããå¥ã®ãã¡ã¤ã«ã«ç§»å ããã¨ãã§ãããã®å ´åãã³ã¼ãã移åãããããã§ã¯ã移åãããã³ã¼ã ã«é¢ãã¦ç§»å以å¤ã®å¤æ´ãä¸åå ããã¹ãã§ã¯ããã¾ãããããã«ããã ã³ã¼ãã®ç§»åã¨ããªããè¡ã£ãã³ã¼ãã®ä¿®æ£ãæ確ã«åºå¥ã§ããããã«ãª ãã¾ããããã¯å®éã«ä½ãå¤æ´ãããããã¬ãã¥ã¼ããéã®å¤§ããªå©ãã« ãªãã¨ã¨ãã«ããã¼ã«ã«ã³ã¼ãã®å±¥æ´ã追跡ããããã¨ã容æã«ãªãã¾ãã æ稿ããããåã«ãããã®ã¹ã¿ã¤ã«ãã§ãã«ã¼( scripts/checkpatch.pl )㧠ããªãã®ãããããã§ãã¯ãã¦ãã ããããã®ã¹ã¿ã¤ã«ãã§ãã«ã¼ã¯æçµçµ è«ã¨ãã¦ã§ã¯ãªããææ¨ã¨ãã¦ã¿ãã¹ãã§ãããããããªãã®ã³ã¼ããéå ã¯ãã¦ãããä¿®æ£ããããè¯ãè¦ããã®ã§ããã°ããããããã®ã¾ã¾ã«ãã ã®ããã¹ãã§ãã ã¹ã¿ã¤ã«ãã§ãã«ã¼ã«ãã3段éã®ã¬ãã¼ã: - ã¨ã©ã¼: ééã£ã¦ããå¯è½æ§ãé«ã - è¦åï¼æ³¨æãã¦ã¬ãã¥ã¼ããå¿ è¦ããã - ãã§ãã¯ï¼èæ ®ããå¿ è¦ããã ããªãã¯ãããã«æ®ã£ã¦ããå ¨ã¦ã®éåã«ã¤ãã¦ãããããªãå¿ è¦ãªã®ãæ£å½ãª çç±ã示ããããã«ãã¦ããå¿ è¦ãããã¾ãã 2) #ifdefã¯è¦è¦ãã ifdef ãæ£ä¹±ããã³ã¼ãã¯ãèªãã®ãã¡ã³ããã³ã¹ããã®ãé¢åã§ããã³ã¼ãã®ä¸ 㧠ifdef ã使ããªãã§ãã ããã代ããã«ãããããã¡ã¤ã«ã®ä¸ã« ifdef ãå ¥ãã¦ã æ¡ä»¶ä»ãã§ãã³ã¼ãã®ä¸ã§ä½¿ãããé¢æ°ãã static inline ãé¢æ°ããã¯ãã§å®ç¾©ã ã¦ãã ãããå¾ã¯ã³ã³ãã¤ã©ããä½ãããªãç®æãæé©åãã¦åãå»ã£ã¦ããã㧠ãããã ã¾ããã³ã¼ãã®ç°¡åãªä¾ dev = alloc_etherdev (sizeof(struct funky_private)); if (!dev) return -ENODEV; #ifdef CONFIG_NET_FUNKINESS init_funky_net(dev); #endif ã¯ãªã¼ã³ã¢ããããã³ã¼ãã®ä¾ (in header) #ifndef CONFIG_NET_FUNKINESS static inline void init_funky_net (struct net_device *d) {} #endif (in the code itself) dev = alloc_etherdev (sizeof(struct funky_private)); if (!dev) return -ENODEV; init_funky_net(dev); 3) ãã¯ãããã static inline ããæ¨å¥¨ ã static inline ãé¢æ°ã¯ãã¯ãããããã£ã¨æ¨å¥¨ããã¦ãã¾ãããããã¯ã åå®å ¨æ§ããããé·ãã«ãå¶éãç¡ãããã©ã¼ãããã®å¶éãããã¾ããã gcc ã«ããã¦ã¯ããã¯ãã¨åãããã軽ãã§ãã ãã¯ãã¯ã static inline ããæããã«ä¸é©åã§ããã¨åããå ´æ(é«éåãã¹ã® ããã¤ãã®ç¹å®ã®ã±ã¼ã¹)ãã static inline ãé¢æ°ã使ããã¨ãã§ããªããããª å ´æ(ãã¯ãã®å¼æ°ã®æååé£çµã®ãããª)ã«ã ã使ãããã¹ãã§ãã ã static inline ãã¯ã static __inline__ ããã extern inline ãã ã extern __inline__ ããããé©åã§ãã 4) è¨è¨ã«åãããã㪠ãããæç¨ã«ãªããã©ããåãããªããããªä¸æçãªå°æ¥ãè¦è¶ããè¨è¨ ãããªãã§ãã ããããã§ããéãç°¡åã«ãããã¦ããã以ä¸ç°¡åã«ãªã ãªããããªè¨è¨ããã¦ãã ãããã ---------------------- ã»ã¯ã·ã§ã³3 åèæç® ---------------------- Andrew Morton, "The perfect patch" (tpp). <http://userweb.kernel.org/~akpm/stuff/tpp.txt> Jeff Garzik, "Linux kernel patch submission format". <http://linux.yyz.us/patch-format.html> Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer". <http://www.kroah.com/log/2005/03/31/> <http://www.kroah.com/log/2005/07/08/> <http://www.kroah.com/log/2005/10/19/> <http://www.kroah.com/log/2006/01/11/> NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people! <http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2> Kernel Documentation/CodingStyle: <http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle> Linus Torvalds's mail on the canonical patch format: <http://lkml.org/lkml/2005/4/7/183> --