Software Release Practice HOWTO Eric S. Raymond <esr@thyrsus.com> v2.0, 18 September 1999 C <fuku@amorph.rim.or.jp> v2.0j1, 08 October 1999 ±Ì HOWTO ÅÍ Linux ÅÌI[v\[XEvWFNgÌöJÉ©©íé ]ܵ¢µáÉ¢ÄðàµÜ·B±êç̵áð¥P·é±ÆÉæÁÄA [Uª\[XR[h©çrhµÄgp·é±ÆªåÏeÕÉÈèÜ·µA¼ ÌJÒÍR[hÌàeððµAüÇɦͷé±ÆªÅ«Ü·B±Ì¶ ÍJÌSÒÉÆÁÄÍKÇÌàÌÅ·Bo±ðÂñ¾JÒÉÆÁÄàA Vµ¢vWFNgð[X·éOÉÄmF·×«_ðÜñŢܷB±Ì ¶ÍAWIÈ]ܵ¢µáÌÀîð½fµÄAèúIÉüù·é\èÅ ·B ______________________________________________________________________ Ú 1. ͶßÉ 1.1 ±Ì¶ª©ê½wi 1.2 ±Ì¶ÌÅVÌÅ 1.2.1 |ó¶ÉÖµÄ 2. ³µ¢vWFNgÆA[JC̽¼K¥É¢ÄÌñÄ 2.1 î{¼Ì + major.minor.patch ÔÆ¢¤ GNU X^Cðg¢Üµå¤ 2.2 »êÅàu½ÉüÁÄͽÉ]¢Üµå¤v 2.3 vWFNgÉÍÁ¥ éAü͵ⷢî{¼ÌðIÑÜµå¤ 3. ³µ¢CZXÆì ÉÖ·éñÄ: îbÑ 3.1 I[vE\[XÆì 3.2 I[vE\[XÅ éð 4. ³µ¢CZXÆì ÉÖ·éñÄ: ÀHÑ 4.1 ©ª©gAÜ½Í FSF ðì ÛÒÉµÜµå¤ 4.2 Open Source Definition ɶ½CZXðÝèµÜµå¤ 4.3 ³øÉÈéæ¤ÈCZX𩪩gÅ©È¢æ¤ÉµÜµå¤ 5. ³µ¢JìÆÉ¢ÄÌñÄ 5.1 È ANSI C àµÍÂÀ«Ì¢XNvg¾êðg¢Üµå¤ 5.2 ³µ¢ C ¾êÌÝ·«É¯ÓµÜµå¤ 5.3 autoconf/automake/autoheader ðg¢Üµå¤ 5.4 [XÌOÉR[h̳«ð`FbNµÜµå¤ 6. ³µ¢zz`ÔÉ¢ÄÌñÄ 6.1 tarball ©çÍíÉPêÌVµ¢fBNgÉWJ³êé±ÆðmFµÜµå¤ 6.2 README ðpÓµÜµå¤ 6.3 WIÈt@C½¼K¥ðdñ¶Ä»êÉ]¢Üµå¤ 6.4 RPM oCipbP[WðñµÜµå¤ 7. ³µ¢R~ jP[VÉ¢ÄÌñÄ 7.1 c.o.l.a ÅAiEXµÜµå¤ 7.2 ÖA·é Newsgroup ÉAiEXµÜµå¤ 7.3 Web TCgðpÓµÜµå¤ 7.4 vWFNgÌ[OXgðpÓµÜµå¤ 7.5 åvÈA[JCuTCgÉu«Üµå¤ 8. ³µ¢vWFNg^cÉÖ·éñÄ ______________________________________________________________________ 1. ͶßÉ 1.1. ±Ì¶ª©ê½wi I[v\[XÌR[hðß®ÁÄÍAN©ª»êðÚAµAgpµAJÉ ¦Í·é±ÆðW°é±ÆÌÈ¢æ¤A½Ì` éÇ«µKª¶ÝµÄ ¢Ü·B»êç̵áÌ¢Â©Í Unix ¨æÑ Linux Ì¢EÅ`IÉó ¯pªêÄ«½àÌÅ·B»Ì¼ÌµáÍA World Wide Web Ìæ¤ÈÁ¥ éVµ¢Zpâc[ÉÖAµÄAÅßÉÈÁĶÝo³ê½àÌÅ·B ±Ì¶Í³µ¢µKÉ¢Ämé½ßÌêÆÈéŵå¤BeÍÌ©oµ ÉÍA»ê¼êª`FbNXgÌÚÆÈéæ¤Év|ðÜÆßܵ½B ȽÌzz¨ª·ÉoéOÌ_Úƨl¦º³¢B 1.2. ±Ì¶ÌÅVÌÅ ±Ì¶Í comp.os.linux.answers Ée³êÜ·Bܽ metalab.unc.edu Ì pub/Linux/docs/HOWTO ðÜßA½Ì Linux FTP T CgÉÛdzêĢܷB ܽA±Ì HOWTO ÌÅVÌÅð World Wide Web ÅÍ <http://metalab.unc.edu/LDP/HOWTO/Software-Release-Practice- HOWTO.html> ÅÇޱƪūܷB ±Ì HOWTO ÉÖ·é¿ââÓ©Í Eric S. Raymond, esr@snark.thyrsus.com <mailto:esr@snark.thyrsus.com> ¶É¨Cyɨñ¹º³¢B 1.2.1. |ó¶ÉÖµÄ ±Ì HOWTO Ìú{êÅÍ <http://www.linux.or.jp/JF/JFdocs/Software- Release-Practice-HOWTO.html> ÅÅVÌàÌðÇޱƪūܷBó¶É Ö·é¿ââÓ©Í <JF@linux.or.jp> ¶É¨ñ¹º³¢B ȨA|ó¶ÉÍ JF Project ÌȺÌûXÌÓ©EZ³ª½f³êÄ¢Ü ·B o äLõ³ñ <takei@cc.kochi-u.ac.jp> 2. ³µ¢vWFNgÆA[JC̽¼K¥É¢ÄÌñÄ Metalab â PSA »µÄ CPAN Ìæ¤ÈA[JCTCgÌÇÒÉ©©é Sª¦éÉÂêÄAo^ìÆÌê é¢ÍSÄðvOÉæÁÄ ·éÆ¢¤XüÉÈÁīĢܷ (ÂÜèAlÔÉæÁÄsíêéÌÅÍÈ ¢Æ¢¤±ÆÅ·)B ±êÉæÁÄvWFNgÆA[JCt@C̼̪AvZ@ÌvO ÉæÁÄð͵ð³êéæ¤A³µ¢`®Å¼Ot¯³êÄ¢é±ÆÌd v«ªµÜµ½B 2.1. î{¼Ì + major.minor.patch ÔÆ¢¤ GNU X^Cðg¢Üµå ¤ àµSÄÌA[JCÌt@CÉ GNU Ìæ¤È¼Ot¯ -- ÂÜ謶 ÌAt@xbg©ç¬éî{¼ÌðªÉt¯ÄA_bV (-) ðtÁµA ±¯Äo[WñAg£qA»Ì¼Ì¯Êqðt¯éâèû -- ª³ê Ä¢½çA±êÍNÌÚÉàí©èâ·¢àÌÉÈèÜ·B ¼É `foobar' Æ¢¤¼OÅÄÎêÄ¢évWFNgÌAo[W 1A [X 1Apb`x 3 ª éƵܵå¤BൻêªPêÌA[JC ƵĬ§µÄ¢éÈç (¨»çÍ\[XR[hŵå¤)AȺÌæ¤ È¼Ot¯ª¢¢Åµå¤: foobar-1.2.3.tar.gz \[XA[JC foobar.lsm LSM t@C (Metalab Éo^·éê). Ìæ¤ÈÌÍ _ Å·: foobar123.tar.gz ±êͽÌvOÉ `foobar123' Æ¢¤¼ÌvWFNgÌo [WÔÌÈ¢A[JCƩȳêĵܢܷB foobar1.2.3.tar.gz ±êͽÌvOÉ `foobar1' Æ¢¤¼ÌvWFNgÌo[ W 2.3 ÌA[JCƩȳêĵܢܷB foobar-v1.2.3.tar.gz ½ÌvOͱ¢Âð `foobar-v1' Æ¢¤¼ÌvWFNg¾ Æðß³êĵܢܷB foo_bar-1.2.3.tar.gz A_[XRAÍlÔªèÉ¢µAü͵Ã碵Ao¦É¢Å ·B FooBar-1.2.3.tar.gz ¬«µ¢Èå`ÒÆvíêÄà\íÈ¢ÈçÎB ¨Ü¯É±êÍ èÉ¢µAü͵Ã碵Ao¦É¢Å·B t@C¼ÉæÁÄ\[XÆoCiA[JCâAÙÈéíÞÌoCið æʵ½èArhÌÌIvV̽®¢ð\»·éKvª éÈçA» êçÍo[WÔÌãÉtÁ·ét@C¯ÊqƵÄæ赤æ¤Éµ ľ³¢BÂÜèAȺÌæ¤Èû@Å·: foobar-1.2.3.src.tar.gz \[XR[h foobar-1.2.3.bin.tar.gz oCi (^CvÍs¾) foobar-1.2.3.bin.ELF.tar.gz ELF oCi foobar-1.2.3.bin.ELF.static.tar.gz ÃIÉN³ê½ ELF oCi foobar-1.2.3.bin.SPARC.tar.gz SPARC ü¯oCi `foobar-ELF-1.2.3.tar.gz' ݽ¢ÈÌÍâßܵå¤B±êÍvOª î{¼Ì©çà¯Êq (`-ELF' Ìæ¤Èª) ð±«oµÉÈé©ç Å·B 梼OÌêÊI`®ÍAȺÌæ¤Èª©çÔɬè§ÁĢܷ: 1. vWFNgÌî{¼Ì 2. _bV (-) 3. o[WÔ 4. hbg (.) 5. "src" Ü½Í "bin" (CÓ) 6. hbgܽÍ_bV (hbgª]ܵ¢) 7. oCi^CvÆtL (CÓ) 8. A[JCƳkèi̯Êq 2.2. »êÅàu½ÉüÁÄͽÉ]¢Üµå¤v vWFNgâR~ jeBÉæÁÄÍA¼Ot¯Æo[WÔÉ墀 ¾mÉè`³ê½µKª èA»ÌêÍãLÌAhoCXÉÈç¤KvÍ èܹñB½Æ¦Î Apache ÌW [ÉÍ mod_foo Ìæ¤È¼OªêÊ IÉgíêĨèA»ê©gÌo[WÔƻꪮì·é Apache Ìo [WÔ̼ûªtÁ³êĢܷB¯lÉ Perl ÌW [ÉÍ® ¬_ƵÄæèµ¢Â\Èo[WÔªt¯çêÄ¢Ä (½Æ¦Î 1.3.3 Ìæ¤È`®æèà 1.303 Ìæ¤È`®ð©é±Æª½¢Åµå ¤)AFoo::Bar Æ¢¤W [Ìo[W 1.303 Ìzz¨ÉÍAFoo- Bar-1.303.tar.gz Æ¢¤¼Ìªt¯çêé±ÆªêÊIÅ·B R~ jeBÆJWcÉƩ̵Kð²×A»êðåØɵľ³¢B 2.3. vWFNgÉÍÁ¥ éAü͵ⷢî{¼ÌðIÑÜµå¤ î{¼ÌÍvWFNgÌt@CSÌðʵĤÊÌàÌƵA»êÍÇÝ â·Aü͵â·A»µÄo¦â·¢àÌÉ·é׫ŷBA_[XR A(_)ðg¤ÌÍâßܵå¤B»êÆAiiÌRÌÈ¢ÀèASÌ é¢ ÍêÉÅàå¶ðg¤ÌÍâßܵå¤BlÔÌÚÉæé©RÈõ ð¢f³¹é±ÆÉÈèÜ·µAÜéŬ«µ§¿U¨¤Æ·éºOÈ Èå`Òݽ¢¶áȢŷ©B Ó½ÂÌÙÈévWFNgª¯¶î{¼ÌðÂÆAÝñȪ¬µÜ·B ͶßÄÌ[XÌOÉͼOªÕ˵ÄÈ¢©ð`FbNµÜµå¤B± Ì`FbNÉÍ index file of Metalab <http://metalab.unc.edu/pub/Linux> ªÖÅ·B 3. ³µ¢CZXÆì ÉÖ·éñÄ: îbÑ È½ÌIð·éCZXÉÍA¤¯JÒ½¿Æ[UÌÔÅÓµ½¢ ÐïIÈ_ñªè`³êé±ÆÉÈèÜ·BܽA\tgEFAÉö¯½ ì ÍA\tgEFAÆ»±©çÌh¶¨ÉÖ·éCZXɨ¢ ÄAåÆµÄ È½Ì ð@IÉ壷éàÌƵÄ@\µÜ·B 3.1. I[vE\[XÆì pubNEhCÅÈ¢©¬èASÄÌì¨ÉÍAÐÆÂÈ¢µÍ¡ Ìì ª¶ÝµÄ¢Ü·Bxkðñ (1978 N©çAJOÅàL øÈ@¥) ̳ÅÍAì ÍK¸µà¾¦³êÈÄà梱ÆÉÈÁÄ¢ Ü·Bµ½ªÁÄA¼Éì ª¾¦³êÄ¢ÈÄàAìÒÍì ðÛ µÄ¢é±ÆÉÈèÜ·B NðìÒƵÄJEg·é©AÆ¢¤±ÆÍAÁɽÌlÌèªÁíÁ ½\tgEFAÌêAåÏÈïâÆÈè¾Ü·BCZXðªdvÅ éRª±±É èÜ·B¦èÌàeÉæÁÄÍA»êðÝè·é±ÆÉæÁ ÄAì ÌÛÒÉæéÆfIÈs®©ç©gðçé ðA[U½¿É àFßé±ÆªÅ«éæ¤ÉÈèÜ·B ÆèóÔÉ é\tgEFAÅÍACZXðÍêçì ðÛì·éà ÌƵÄÝv³êĢܷBLÒ (ì ÛÒ) ÉÍ@Iªìɨ¯é L¢ ðFßéêûÅA[UÉÍÙñÌí¸©È µ©FßÈ¢AÆ¢ ¤âèûÅ·Bì ÛÒ±»ªêÔdvÅ èAܽCZXÌ_É ¨¯é§Àª Üèɵµ¢½ßÉACZXð»ÌàÌ̵§ÈÁL ÍåïÌê ÜèdvÅÈ©Á½èµÜ·B I[vE\[XE\tgEFAɨ¢ÄÍAóµÍÜÁ½³½ÎÅ·B ì ÍCZXðÛì·é½ßɶݵĢܷBì ÛÒªíÉÛ Å«éBêÌ ÍACZXð壷é±Æ¾¯Å·B»ÌêûÅA ÙñÌí¸©È ðAÙÆñÇSÄÌIð Í[UÉ èÜ·BÆè í¯Aì ÛÒÍ·ÅÉlèÉnÁ½Rs[ÉÖ·éðÍÏXūܹ ñB»êä¦AI[vE\[XE\tgEFAɨ¢ÄÍAì ÛÒÍ ÙÆñdzÍÅ·Bµ©µACZXðÍÆÄàdvÈÓ¡ðÁÄ¢Ü ·B ÊíAvWFNgÌì ÛÒÍ»Ì_ÅÌvWFNg[_[©A vWFNgðµÄ¢égDÅ·BvWFNgðVµ¢[_[Éø« p®±ÆªAì ÛÒªÏíé±ÆÉæÁĦ³êé±Æàæ èÜ ·Bµ©µÈªçA±êÍâÎIÉÅÈ[Æ¢¤í¯ÅÍ èܹñB ½Æ¦Î½ÌI[vE\[XEvWFNgÉÍ¡Ìì ÛÒª¶ ݵĢܷªA±Ì±Æª@IÈâèðø«N±µ½Æ¢¤ÀáÍßÉ èܹñB ¢Â©ÌvWFNgÍì ð Free Software Foundation É÷n·é± ÆðIðµÄ¢Ü·B±ÌgDÍI[vE\[Xðhä·é±ÆÉÖSª èA»Ì½ßÉ@¥ÆÌÍàØèé±ÆªÅ«éAÆ¢¤l¦ÉîÃàÌÅ ·B 3.2. I[vE\[XÅ éð ÀÛÌCZX^É ½èA»ÌCZXªUø·é¢Â©ÌÙÈÁ ½íÞÌ É¢ÄAæʵÄl¦é±ÆªÅ«Ü·B¡»EÄzz·é Agp·é AÂlIÈprÉ í¹ÄüÏ·é A»µÄüϵ½à ÌÌ¡»¨ðÄzz·é Å·BÇÌ É¨¢ÄàCZXÉæÁħ ÀªÁ¦çêéÂ\«ª èÜ·B é\tgEFAð ``I[vE\[X'' é¢Í ``t['' (éç Ìpê) Æè`ïéðÉ¢ÄA[@躰Äl@µ½Êª Open Source Initiative <http://www.opensource.org> ÉÜÆßçêĢܷB± ±ÅÍCZXÉÖµÄȺÌæ¤È§Àªv³êĢܷ : 1. ¡»ÉÖµÄͳ§ÀÌ ªFßçêÄ¢é±Æ 2. gpÉÖµÄͳ§ÀÌ ªFßçêÄ¢é±Æ 3. ÂlIgpðÚIƵ½üÏÉÖµÄͳ§ÀÌ ªFßçêÄ¢é± Æ ±ÌKChCÅÍüÏðÙDZµ½oCiÌÄzzÉÖ·é§ÀàÖ~ ³êĢܷB±êÍA]vÈSð¢çêé±ÆÈA©ª½¿ÌìƵ ½R[hðñµ½¢Æ¢¤\tgEFAEfBXgr [^Ìj[YÉí ¹½ÊÅ·BêûÅüϵ½\[XER[hÍüÏOÌ\[XER[hÆ» êÉηépb`Ìgí¹ÅÄzz³êéæ¤AìÒªv·é±ÆðFß Ä¢Ü·B±êÉæÁÄÌìÒÌÓ}ÆAæOÒÉæéüÏÌlqð ``ÇÕ²¸'' ·édgݪm§Å«é±ÆÉÈèÜ·B OSD Í `OSI Certified Open Source (OSI öFI[vE\[X)' Fè}[ NÌ@IÈè`Å èAÇñÈlÅààÝñêéæ¤É ``t[E\tg EFA'' ðæèÇè`µ½àÌÅ·BSÄÌWIÈCZX (MIT, BSD, Artistic, »µÄ GPL/LGPL) ª±êÉvµÜ· (½¾µAGPL Ìæ¤ È¢Â©ÌCZXÉÍA»êðIð·éOÉðµÈ¯êÎÈçÈ¢Ê Ì§Àà¶ÝµÄ¢Ü·)B ñ¤pÉÀèµÄgpð·éCZXÍA½Æ¦ ``GPL'' é¢Í» ̼ÌWCZXÉæéüª³êÄ¢½ÆµÄàAI[vE\[XÌ CZX`ÔͽµÄ¢È¢ ±ÆÉӵľ³¢B»êÍÁèÌE ÆAlÔAWcð·Ê·éàÌÈÌÅ·B»µÄACD-ROM zzÆÒâI[v E\[XE\tgEFAð¤ÆIÉy³¹æ¤Æ·élXÉÆÁÄÍAñ íÉYܵ¢ªÉÌíÆÈéÌÅ·B 4. ³µ¢CZXÆì ÉÖ·éñÄ: ÀHÑ ±êÜÅÉྵī½êÊ@¥ðÀHÉÚ·û@É¢ÄྵܷB 4.1. ©ª©gAÜ½Í FSF ðì ÛÒÉµÜµå¤ @¥Æði·éX|T[cÌÉæéxª éêA»ÌcÌÉì ðn µ½¢AÆ¢¤P[Xà éŵå¤B 4.2. Open Source Definition ɶ½CZXðÝèµÜµå¤ Open Source Definition ÍA±Ì¢Eɨ¯éCZXÌmŽéWÅ ·B OSD »ÌàÌÍCZXðÅÍÈA éCZXðªI[v E\[XECZXƵÄ@\·é±ÆðÛØ·é½ßÌAKvŬÀÌ ÖWðè`ïéàÌÆ¢¦Ü·B OSD Æ»êðâ«·éàÌÍ Open Source Initiative <http://www.opensource.org> ÌEFuETCg©çüè Å«Ü·B 4.3. ³øÉÈéæ¤ÈCZX𩪩gÅ©È¢æ¤ÉµÜµå¤ ·ÅÉyµÄ¢é OSD ÌCZXÉÍAåÏæm§³ê½` éðߪ·èÜêĢܷBJÒÍ (»ÌC³¦ êÎA[Uà) »ê çªÓ}·éàÌððµÄ¨èA[¾Å«éÈçXNðø«ó¯A»µÄ ©çÌÖ^µ½àÌðð·æø·éÌÅ·BÅ·©çAÂ\ÈÀè OSI ÌT CgÉ éWIÈCZXÌÇê©ðp·éæ¤ÉµÜµå¤B ൩ª©gÅCZXðð©È¯êÎÈçÈ¢ÈçA OSI ÉæÁÄ Fèðó¯éæ¤ÉµÜµå¤B±êÉæÁÄÛÀÌÈ¢_ƳÊðñð· é±ÆªÅ«éŵå¤BCZXÉ¢ÄÌc_ÌVª¢©ÉnÉ ¦È¢àÌÉÈé©A Ƚª»êðo±µÄ¢È¢Èçzà©ȢŠµå¤ªACZXÍI[vE\[XÐïÌ^jªÉGêéÙÆñÇ@ ³ª©Á½¾ñÉÖ·éàÌÈÌÅAlXÍ¢îÉìçêâ·ÈÁĵ ܤÌÅ·B ³çÉ¢¦ÎAൠȽÌCZXðª@ìÅR»ðó¯é±ÆÉÈê ÎA·ÅÉm§³ê½ðßÌn̶ݪ¢©ÉdvÅ é©Aؾ³êé±Æ ÉÈéŵå¤B±êð¢Ä¢é_ (1999 Nã¼) ÅÍAÇÌI[v E\[XECZXÉÖµÄàALøE³øÌÇ¿çÌ»áà èܹ ñBµ©µÈªçA±êÍN¹ÆÈÁ½¤¯Ìɨ¢ÄÍR\ú³êAܽ ÃȵKÉîâ½CZXð¨æÑ_ñÅ éÆ@ìÅðß³ê é͸ÌA@¥IÉLøÈå£Å· (ÈÆàAJOÅÍB»µÄ ¨»çCOhÆ»êÈOÌueÈÇA¼ÌµK@É¥Á½ XÅà)B 5. ³µ¢JìÆÉ¢ÄÌñÄ ±±ÅGêébèÌÙÆñÇÍALinux ÌÝÈç¸A¼Ì Unix àÜß½Ú A«ÌmÛÉÖW·éàÌÅ·B¼Ì Unix ÖÚAÂ\Å éÆ¢¤±ÆÍA vtFbViYÆnbJ[å`Ìü¿Å 龯ÅÈA«É¨¢ Ä Linux ©ÌÉÏ»ªN«½êɻȦ½MdÈۯƢ¤±ÆàÅ«Ü ·B _©ç¾¦ÎAN©ª ȽÌR[hð Linux ÈOÌVXeɨ¢Är hµæ¤Æ·éÌ;ç©Å·BÚA«ðßĨ¯ÎA Ƚªó¯æé ÏíµÄÊ|È email Ìð¸ç·±ÆªÅ«éŵå¤B 5.1. È ANSI C àµÍÂÀ«Ì¢XNvg¾êðg¢Üµå¤ ÚA«ÆÀè«Ì½ßÉAANSI C àµÍÂÀ«ÌÛسêÄ¢éXNv g¾êðg¢Üµå¤BvbgtH[ðz¦ÄPêÌÀª¶ÝµÄ¢é ©çÅ·B ±êÉK·éXNvg¾êƵÄÍA Python, Perl, Tcl, »µÄ Emacs Lisp ÈǪ èÜ·BvCÈâ shell ÍsiÅ·B÷Èá¢Ì éA½³ñÌÙÈéÀª¶ÝµÄ¢Ü·µAGCAXÌæ¤È[UJ X^}CYÉæÁÄA shell ÌÀs«ª²¿á²¿áÉÈÁÄ¢é±Æà zè³êé©çÅ·B Java ÍÂÀ«Ì¢¾êÅ é±Æðñ©µÄ¢Ü·ªA¡ÌƱë Linux ÅpÅ«éÀÍ®SÅÍÈA Linux ÆÌea«ànãÅ·B Java Í ¬n·éÉAêijçÉlCðµÄ¢æ¤É©¦Ü·ªA»_ÅÍܾ Xð¥Þæ¤ÈIðƾ¦Ü·B 5.2. ³µ¢ C ¾êÌÝ·«É¯ÓµÜµå¤ C ¾êÅJµÄ¢éÈçAANSI Åpӳ꽷×ÄÌ@\ðD«Èæ¤É gÁľ³¢BW [Ô̵ðô¢o·½ßÉÖÈt@NV Evg^Cvà±êÉÜÜêÜ·B®Ì K&R RpCÍ·ÅÉðj Ìâ¨Å·B »ÌêûÅA½Æ¦Î `-pipe' IvVâlXg³ê½Ö\¢ÈÇA GCC ÅLÌ@\ªg¦éƼèµÄÍ¢¯Ü¹ñBN©ª Linux ÈOAGCC ÈOÌVXeÉÚA·éÛÉA±Ìâèªt«ÜÆ¢A¢ç¹é±ÆÉÈè Ü·B 5.3. autoconf/automake/autoheader ðg¢Üµå¤ C ¾êÅJµÄ¢éÈçAVXeÌ«ÝèðT¸µ½èA makefile ð d§Ä½èÆ¢Á½AÂÀ«ÉÜÂíé¿ðì·é½ßÉA autoconf/automake/autoheader [eBeB[ðg¢Üµå¤B¡úÅ ÍA\[X©çrh·éÛÉA "configure; make" Æ^CvµÄA«ê¢ ÉA»µÄ³µìèã°çêé±ÆðlXÍúҵĢéÌÅ·B 5.4. [XÌOÉR[h̳«ð`FbNµÜµå¤ C ¾êÅJµÄ¢éêÍA[XÌOÉÈÆàêñÍ -Wall Iv Vðt¯ÄeXgRpCðs¢AG[ªoÈ¢±ÆðmFµÜµå ¤B±êÍñíɽÌG[ðoµÜ·BÉðÚw·ÈçA-pedantic IvVðt¯ÄRpCµÄÝܵå¤B Perl ŢĢéêÍAR[hÉ -c (êÉæÁÄÍ -T) IvVð t¯Ä`FbNµÄÝܵå¤BMS[s¤Èç perl -w Æ `use strict' Å·Ë (±êÉ¢ÄÍ Perl ÌhL gðQƵľ³¢)B 6. ³µ¢zz`ÔÉ¢ÄÌñÄ ±ê©çq×éKChCÅÍAN©ªzz¨ð_E[hµAgðæ èoµÄWJµ½ÛÉAzz¨ÍÇÌæ¤É»êé׫©AÆ¢¤ðྵ Ü·B 6.1. tarball ©çÍíÉPêÌVµ¢fBNgÉWJ³êé±ÆðmF µÜµå¤ JÌSÒª`µâ·¢ëèÌÅAàÁÆàí¸çíµ¢àÌÍAzz¨ Ìt@CÆfBNgðJgfBNgÉԿܯA·ÅÉ»± É ét@CQðã«·éÂ\«Ì é tarball ðìÁĵܤAÆ¢ ¤àÌÅ·B±¤µÄÍâÎÉ¢¯Ü¹ñI ±êðð¯éÉÍAA[JC³ê½t@CðSÄvWFNg¼ÅnÜé êpÌfBNgÉüêêÎA»ÝÌfBNg̼ºÉ éAPêÌ gbvEfBNgÌÉWJ³êéŵå¤B ±êð®àøÉs¤½ßÌ makefile Ì Zª èÜ·Bzz¨ÌfBNg ª `foobar' Æ¢¤¼OÅA SRC Æ¢¤ÏÉÍzzt@CÌXgª üÁÄ¢éƵܷB±êÉÍ GNU tar 1.13 ªKvÅ·B VERS=1.0 foobar-$(VERS).tar.gz: tar --name-prefix='foobar-$(VERS)/' -czf foobar-$(VERS).tar.gz $(SRC) àµÃ¢ tar ðgÁÄ¢éêÍAȺÌæ¤ÉµÜ·B foobar-$(VERS).tar.gz: @ls $(SRC) | sed s:^:foobar-$(VERS)/: >MANIFEST @(cd ..; ln -s foobar foobar-$(VERS)) (cd ..; tar -czvf foobar/foobar-$(VERS).tar.gz `cat foobar/MANIFEST`) @(cd ..; rm foobar-$(VERS)) 6.2. README ðpÓµÜµå¤ \[Xzz¨Ì[h}bvÆÈé README àµÍ READ.ME Æ¢¤t@C ðpӵܵå¤BÃ̾¢`¦ÅÍA±êÍ\[XðWJµ½E¸Èé TÒ½¿ªÅÉÚɵÄÇÞ͸ÌAÆ¢¤±ÆÉÈÁĢܷB README ÌɢĨ«½¢ÚÍ: o vWFNgÌTvà¾. o vWFNgÌ Web TCgÖÌ|C^(ൠéÈç). o JÒÌrh«ÆÂÀ«É¢ÄÌà¾. o dvÈt@CÆTufBNgÉ¢Äྵ½[h}bv. o rhÆCXg[Ìèø«Aܽͯ¶àeðÜñ¾t@CÖÌ| C^. (åïÍ INSTALL Æ¢¤t@C) o ÇÒ/ÖWÒÌXgAܽͯ¶àeðÜñ¾t@CÖÌ|C^. (åïÍ CREDITS Æ¢¤t@C) o vWFNgÉÖ·éÅßÌj [XA é¢Í¯¶àeðÜñ¾t@C ÖÌ|C^. (åïÍ NEWS Æ¢¤t@C) 6.3. WIÈt@C½¼K¥ðdñ¶Ä»êÉ]¢Üµå¤ README t@CðÇÞæèæÉAE¸ÈéTÒ½¿ÍWJµ½zz¨Ì gbvfBNgÌt@C¼ðTõ·éŵå¤Bt@C̼ÌÍA» ê©ÌªîñðÜñŢܷBWIȼOt¯Ìµáð¥P·é±ÆÉæÁ ÄAɽð©é׫ÈÌ©Æ¢¤dvÈ誩èðATÒ½¿É¦·±Æ ªÅ«Ü·B WIÈgbvxÌt@C¼Æ»êªÓ¡·éàÌÉ¢Äà¾µÜ µå¤Bzz¨É±êçSªKvÅÍ èܹñB README Ü½Í READ.ME ÅÉÇÞÄà INSTALL ÝèErhECXg[û@Ìðà CREDITS vWFNgÉηév£ÒÌXg NEWS vWFNgÉÖ·éÅßÌj [X HISTORY vWFNgÌð COPYING vWFNgÌCZX (GNU ¬ÌµK) LICENSE vWFNgÌCZX MANIFEST zz¨ÉÜÜêét@CÌê FAQ vWFNgÉÖµÄAæqËçêé¿âÆ»ÌñðLµ½vC eLXgÌhL g TAGS Emacs â vi Åp·é^Ot@C ±êçÌt@C¼ªSÄå¶Å\¬³êÄ¢éÆ¢¤µKÍA»êçªr hÌiƵÄgíêéÌÅÍÈApbP[WÉÖ·éêÊIîñðÜñ ¾lÔªÇÞ׫à̾ÆæµÄ¢é±ÆÉӵľ³¢B 6.4. RPM oCipbP[WðñµÜµå¤ CXg[ÉgíêéoCipbP[WÌÀãÌWtH[}bgÍA Red Hat Package Manager, RPM Å·B±êÍàÁÆàlCÌ é Linux fB Xgr [VÌÁ·ÆÈÁĨèAÀã¼Ì Linux fBXgr [VÅàT|[g³êĢܷ (Debian Æ Slackware Í«Ü·B½¾ µ Debian ÅÍ RPM ©çCXg[·é±ÆàÂ\Å·)B µ½ªÁÄA\[XR[hÌ tarball ƯlÉACXg[Â\È RPM ` ®Ìt@CðvWFNgÌTCgÅñ·éÌÍÇ¢l¦Å·B ܽA\[XER[hÌ tarball ÌÉÍ RPM Ì spec t@CðÜßA Makefile ÌÅÍ»±©ç RPM 𶬷édgÝðñ·éÌàÇ¢l¦Å µå¤B spec t@CÉÍ rpm Ì -t IvVÅ tarball ©ç©Â¯ç êéæ¤ÉA `.spec' Æ¢¤g£qð^¦Ä¨«Üµå¤B `®ÉÖµÄ_ðÒ¬½¢ÈçA Makefile é¢Í version.h ðÇÝ ñųµ¢o[WÔð©®IÉÔ·æ¤È Shell XNvgðp µAspec t@C𶬷éæ¤ÉµÜµå¤B 7. ³µ¢R~ jP[VÉ¢ÄÌñÄ È½Ì\tgEFAÍA»Ì¶ÝðmçêÈ¢Àè¢EÉv£·é±ÆÍÅ «Ü¹ñBܽAvWFNg̶ÝðC^[lbgãžç©É·é±Æ ÍA[Uð⵽褯JÒðåéÌÉð§Âŵå¤B±êÉ墀 ÌWIÈè@ÉÖµÄðàµÜ·B 7.1. c.o.l.a ÅAiEXµÜµå¤ comp.os.linux.announce <news:comp.os.linux.announce> ÅV½È[X ̨mç¹ðµÜµå¤B »ê©ÌªæwdzêÄ¢é Newsgroup Å éãÉA Freshmeat <http://www.freshmeat.net> Ìæ¤È Web x[XÅV îñðµ¤TCgÖ à]³êĢܷB 7.2. ÖA·é Newsgroup ÉAiEXµÜµå¤ ȽÌAvP[VɼÚÖA·é USENET Ì Newsgroup ð©Â¯ ÄA»±ÅàAiEXµÜµå¤BTÝðÁÄA\tgEFAƵÄÌ@ \ªÖW·é Newsgroup ÉÌÝeµÄ¾³¢B á¦Î IMAP T[oÉâ¢í¹ðs¤ Perl Å©ê½vOð[ Xµæ¤ÆµÄ¢éÈçAÔá¢È comp.mail.imap ÉÍe·é׫Šµå¤Bµ©µvOª Perl ÌæsIeNjbN̨è{ÉàÈéàÌ ÅȯêÎA¨»ç comp.lang.perl ÉÍeµÈ¢ûªæ¢Åµå¤B AiEXÉÍvWFNgÌ Web TCgÌ URL ঵Ĩ«Üµå¤B (ó: ú{êÌ Newsgroup ÅÍ fj.sources <news:fj.sources> Å\tg EFAöJÌAiEXª³êĢܷB{eLXgGR[h³ê½\[ XR[hÌA[JCuðA¼Úe·é Newsgroup ŵ½ªAÅßÍAiE XÌÝðe·é±ÆÌûª¦Ä¢Ü·Be·éLÉÍ Followup- To: wb_Å fj.sources.d <news:fj.sources.d> ðwè·é±Æª}i[Æ ÈÁĢܷB) 7.3. Web TCgðpÓµÜµå¤ vWFNgÌ[U é¢ÍJÒÌR~ jeBðµÁ©èÆz±Æð Úw·ÈçÎA Web TCgðpÓµ½ûªæ¢Åµå¤B Web TCgÉpÓ ·éWIÈàeÍȺÌæ¤ÈàÌÅ·: o vWFNgÌÚI (¶ÝÌÓ`AÎÛÆÈéÇÒAX). o vWFNgÌ\[Xð_E[hÅ«éN. o vWFNgÌ[OXgÖÌÁüû@. o FAQ Xg (æ é¿âÆñW). o vWFNgÌhL gð HTML »µ½àÌ. o ÖA·éA é¢Í£·évWFNgÖÌNW. vWFNgÌTCgÉæÁÄÍAê\[Xc[Ö̽¼ANZXªÂ\ È URL ðpÓ·é±Æà èÜ·B 7.4. vWFNgÌ[OXgðpÓµÜµå¤ J̦ÍÒªð¬ðs¢Apb`ðð·Å«éæ¤ÈñöJÌ[O XgðpÓ·é±ÆªêÊÉæsíêĢܷBvWFNgÌiàóµð mç¹Ä~µ¢lXðÎÛƵ½AAiEX̽ßÌ[OXgª ÁÄàæ¢Åµå¤B 7.5. åvÈA[JCuTCgÉu«Üµå¤ ±±NÌÔA Metalab archive <http://www.metalab.unc.edu/pub/Linux/> Í Linux Ì\tgEFA̽ßÌdvÈ_ÆÈÁīܵ½B »êÈOÉȺÌæ¤ÈdvÈTCgª èÜ·: o the Python Software Activity <http://www.python.org> site (Python Å©ê½\tgEFAp). o the CPAN <http://language.perl.com/CPAN>, the Comprehensive Perl Archive Network. (Perl Å©ê½\tgEFAp). 8. ³µ¢vWFNg^cÉÖ·éñÄ ÖWÒªÝÈ{eBAÅ éêAvWFNgðãèÉ^p·éÆ¢¤ ±ÆÍA»ê©ÌªÁêÈÛèÆÈèÜ·B±Ì±ÆÍA±Ì HOWTO Åæè ã°éÉÍå«·¬éèÞÅ·BK¢È±ÆÉA±êÉÖ·év_ðð·é ½ß̯ÆÈéAô©̶ª¶ÝµÄ¢Ü·B îbÆÈéJWcÆA The Cathedral and the Bazaar (¾ÆoU[) <http://www.tuxedo.org/~esr/writings/cathedral-bazaar/> ðQƵľ ³¢B ®@t¯ÉÖ·él@A¤¯ÌÌKAÕËÌðÆ¢Á½bèÉ¢ÄÍA Homesteading the Noosphere (mEAXtBAÌJ¤) <http://www.tuxedo.org/~esr/writings/homesteading/> 𲺳¢B oÏI¤ÊÆKØÈrWlXEfÉÖµÄÍA The Magic Cauldron ( @̨È×) <http://www.tuxedo.org/~esr/writings/mafic-cauldron/>. ð QƵľ³¢B ±êç̶ÍI[vE\[XJÉÖ·éèÅÆ¢¤í¯ÅÍ èܹ ñBµ©µAàÁÆàÉ©ê½Ó`[¢ªÍÅ èA±êÉãíé¶ Í¢¾ÉoīĢܹñB (ó: ±ÌßÅæèã°½¶Ì|óªÈºÅQÆÅ«Ü·B o http://www.post1.com/home/hiyori13/freeware/cathedral.html The Cathedral and the Bazaar (¾ÆoU[), Eric S. Raymond , R` _¶ ó o http://www.post1.com/home/hiyori13/freeware/noosphere.html Homesteading the Noosphere (mEAXtBAÌJ¤), Eric S. Raymond , R`_¶ ó o http://www.post1.com/home/hiyori13/freeware/magicpot.html The Magic Cauldron (@̨È×), Eric S. Raymond , R`_¶ + c{Üâ ó )