  Software Release Practice HOWTO

  Eric S. Raymond <esr@thyrsus.com>
  1.0, 21 November 1998
  ȣ <zwolf12@hanmail.net>
  1999 5 8 beta-2

     -ҽ Ʈ  ٶ  ǥ ʿ
   Ѵ. ̷ ʸ ٸ  ڵ带 ϴ ڿ
   ڵ带 ϰų ϱ   ְ ;ϴ ٸ
  ڵ     ִ.    ʺ ڴ ݵ
  о ϸ õ   ο Ʈ ǥϷ   ٽ
  ѹ ؾ Ѵ. ٶ ǥ ʸ ݿϱ   
    ̴.
  ______________________________________________________________________

  

  1. Ұ
     1.1   ΰ?
     1.2    

  2. ٶ Ʈ ̸   ̸  
     2.1 GNU-Ÿ ̸ . λ-majorȣ.minorȣ.patchȣ
     2.2 Էϱ   ̸ λ縦 µ ϶

  3. ٶ  
     3.1 ANSI C  ̽İ ũ  ۼ϶
     3.2 C ̽İϵ ʸ 
     3.3 autoconf/automake/autoheader  ϶
     3.4  ǥ  ڵ尡  ˻϶

  4. ٶ   
     4.1 tar  ׻ ο   丮 Ǯ 
     4.2 README ԽѶ
     4.3 Ϲ  ̸  ʸ ϰ 

  5. ٶϰ ˸   
     5.1 c.o.l.a  ˷
     5.2  õ ׷쿡 ˷
     5.3 Ʈ 
     5.4 Ʈ ϸ Ʈ ϶
     5.5 ֿ (major archives) (release)϶
     5.6 RPM ϶

  ______________________________________________________________________

  1.  Ұ

  1.1.    ΰ?

  -ҽ ڵ带 ϰ ϸ Ű  ϴ 
    ٶ ʰ ִ.  ʵ ߿   н 
  ̰ų    ʵ̸ ٸ ͵ ֱٿ ο
   ̳ (WWW)     ܳ ͵̴.

     ٶ ʸ   ´. ߿ ܶ
   ׸ ԵǾ  ̰     
  (pre-flight checklist for your distribution)̴.

  1.2.     

    ſ comp.os.linux.answers ׷쿡 Խõ ̸
  sunsite.unc.edu  ִ pub/Linux/docs/HOWTO    FTP
  Ʈ    ̴.

  ,  <http://sunsite.unc.edu/LDP/HOWTO/Software-Release-Practice.html>
   ؼ   Ͽ   ִ.

   Ͽ   ̳    Eric S. Raymond
  esr@snark.thyrsus.com <mailto:esr@snark.thyrsus.com>  ֱ
  ٶ.

  2.  ٶ Ʈ ̸   ̸  

  Sunsite PSA, CPAN   Ҹ ϴ  ۾
  ϸ鼭 κγ (  ؼ ƴ϶)
  α׷  ۾ ϴ ߼̴.

  ̷ Ȳ  зϴ ۾ ϴ ǻ α׷ ؼϰ
    ִ Ģ ¿ ˸ Ʈ   ̸
  ߿ϰ Ǿ.

  2.1.  GNU-Ÿ ̸ . λ-majorȣ.minorȣ.patchȣ

     ҹ ĺ ڷ  λ  
  (dash) ׸  ȣ, Ȯ(extension) ٸ ̻ Ǿ
  ִ GNU ̸  ִٸ  ̿   ̴.

  version 1, release 2, level 3  `foobar' Ʈ  ִٰ
  غ.  װ ϳ   Ѻκ(Ƹ ҽ)̶
    ̸   ̴.

     foobar-1.2.3.tar.gz
        ҽ  

     foobar.lsm
        LSM  (asuming you're submitting to Sunsite).

      :

     foobar123.tar.gz
         α׷ `foobar123'̶ Ҹ  ȣ 
        Ʈ  ó  ̴.

     foobar1.2.3.tar.gz
         α׷ `foobar1'̶ Ҹ  2.3  Ʈ
         ó  ̴.

     foobar-v1.2.3.tar.gz
         α׷ Ʈ ̸ `foobar-v1'̶  ̴.

     foo_bar-1.2.3.tar.gz
        (underscore) ϰ, Էϰ, ϱ .

     FooBar-1.2.3.tar.gz
         ٺ(marketing weenie) ƴ  ̰  ϰ,
        Էϰ, ϱ .

  ҽ ̳ʸ Ǵ ٸ  ̳ʸ ϰų  ̸
     ɼ ǥϷ   ȣ ڿ  
  Ȯ(extension) ض. װ   Ѵ:

     foobar-1.2.3.src.tar.gz
        ҽ

     foobar-1.2.3.bin.tar.gz
            ̳ʸ

     foobar-1.2.3.bin.ELF.tar.gz
        ELF ̳ʸ

     foobar-1.2.3.bin.ELF.static.tar.gz
        ELF  ũ ̳ʸ

     foobar-1.2.3.bin.SPARC.tar.gz
        SPARC ̳ʸ

   `foobar-ELF-1.2.3.tar.gz'   . ֳϸ
  α׷ λ翡 Ե  Ÿ κ(`-ELF' )
  ϱ ϱ ̴.

  Ϲ ٶ ̸ ´    Ǿ ִ:

  1. Ʈ λ

  2. (dash)

  3.  ȣ

  4. ħǥ(dot)

  5. "src" Ǵ "bin" (û)

  6. ħǥ(dot) Ǵ (dash) (ħǥ ȣ)

  7. ̳ʸ  ɼǵ (û)

  8.  Ȯ

  2.2.  Էϱ   ̸ λ縦 µ ϶

  λ  Ʈ ϵ鿡 Ǿ ϰ а Էϰ 
  ϱ  Ѵ. ׷Ƿ (underscore)  . ׸
   Ư  ٸ 빮ڷ ϰų  빮ڸ
  . -- ̷ ͵  ڿ д  ϰ,
  ٺ  ̷ ó δ.

  λ簡   ƴ϶ װͰ  ̸ λ縦 
  Ʈ ϴ  ȥ  ̴. ׷  ó
  ǥϱ  ̸ ߺǴ Ȯ . Ȯϱ   index
  file of Sunsite <http://sunsite.unc.edu/pub/Linux>̴.

  3.  ٶ  

  ̿    κ Ӹ ƴ϶ ٸ н
  ̽İϵ α׷ ۼϴ Ͱ  ִ. ٸ н
  ̽İϰ ϴ   ̰ Ŀ  ġ °
  ƴ϶,   ̷ ȭ ϴ Ϳ ġ ִ.

  , ٸ   ڵ带  ý ƴ 
  Ϸ Ѵٸ, ̽ļ   ð ó ϵ
  ּ    ̴.

  3.1.  ANSI C  ̽İ ũ  ۼ϶

  ̽ļ   ANSI C  ̽İ ũ  ۼؾ
  Ѵ. ֳϸ ٸ ÷  ؼ̴.

  ũ    Python, Perl, Tcl, ׸ Emacs Lisp̴.
    shell   ʴ. ϱ  Ư ǥ
  shell aliases    ȥ  ޴ shell ȯ
   ࿡   ִ.

  ڹٴ ̽İ  Ͼ   
   ϴ. ڹ   αⰡ  ڹٴ 
   ̴.

  3.2.  C ̽İϵ ʸ 

   C α׷ ۼѴٸ  ANSI (ٸ  ġ
    ֵ ִ Լ Ÿ )   ص
  .  K&R Ϸ ̴.

   ݸ, GCC-specific (`-pipe' ɼǰ )Ǵ nested Լ
  ̽İ ̶ . ̰͵ ڱ Ÿ 
  ý, GCC ý ƴ  ű    
  ̴.

  3.3.  autoconf/automake/autoheader  ϶

  C ؼ α׷ ۼߴٸ ٸ  ̽  ֵ ϰ
  ý  ϰ  makefile ġ ؼ autoconf/automake/
  autoheader ض.  ҽ α׷ ϰ(build) ;ϴ
   "configure; make" ġ ϰ α׷ ⸦
  ٶ -- ׸ ׷ ؾ Ѵ.

  3.4.   ǥ  ڵ尡  ˻϶

  C α׷ ۼϿٸ `-Wall' ɼ Ͽ ׽Ʈ-Ϸ
  غ ϱ  ּ ѹ̶  ؾ Ѵ. ̷
  ϸ  û  ߰   ̴. öϰ `-pedantic'
  ɼ  Ϸ ϴ ͵  ̴.

  Perl Ͽٸ   perl -c, perl -w, ׸ perl -T
  ؼ ڵ带 ˻ؾ Ѵ. (Perl   ϶)

  4.  ٶ   

   ħ ٸ ̵   ٿε ް, ˻ϰ,
   Ǯ      ϴ  Ѵ.

  4.1.  tar  ׻ ο   丮 Ǯ 

  ʺ ڵ ϴ   Ǽ  ϳ tar  
  ִ  丮  Ǯ  ̴. ̰ 
  丮 ̹ ϴ    ִ.  ̷ Ǽ
   !

   , Ʈ ̸   ϳ  丮 ϴ
     ֻ 丮 ٷ Ʒ 丮 
  Ǯ .

   makefile Ʈ(trick) ִ. `foobar'̶  丮
    SRC   Ʈ ϰ ִٰ ϸ
    ϸ ȴ. ̷ ϱ ؼ GNU tar 1.13 ʿϴ.

  VERS=1.0
  foobar-$(VERS).tar.gz:
          tar --name-prefix='foobar-$(VERS)/' -czf foobar-$(VERS).tar.gz $(SRC)

    tar α׷  ִٸ ̷ ϸ ȴ:

  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))

  4.2.  README ԽѶ

  README Ǵ READ.ME  ԽŰ װ ҽ  ħ 
  ̴.  ʿ  ̰ ҽ  Ǯ 밨 Ž谡
    о ϴ ̴.

  README Ͽ ԵǾ  ٶ ͵:

  o  Ʈ  .

  o  Ʈ Ʈ ּ(  ִٸ).

  o    ȯ ϰ ִ .

  o  ߿ Ͽ    丮.

  o  /ġ  ̳ ׷    ̸ (
     INSTALL).

  o  Ʈ ٷ  / ִ  Ʈ ׷
        ̸( CREDITS).

  o  ֱ Ʈ ҽ̳ ׷    ̸ (
     NEWS).

  4.3.  Ϲ  ̸  ʸ ϰ 

  README     밨 Ž谡() 
  ֻ 丮 ִ ϵ Ⱦ ̴.  ̸ װ
  ü  ϰ ִ. Ȯ Ϲ ̸   ʸ
  μ Ž谡   ƾ  Ǹ   
  ִ.

     Ϲ ֻ  ̸ װ͵ ǹϴ  ִ.
     θ ʿ  ʴ´.

     README Ǵ READ.ME
          о  ħ 

     INSTALL
        , (build) ׸ ġ  

     CREDITS
        Ʈ  ִ  Ʈ

     NEWS
        ֱ Ʈ ҽ

     HISTORY
        Ʈ õ 

     COPYING
        Ʈ ̼ (GNU )

     LICENSE
        Ʈ ̼

     MANIFEST
          Ʈ

     FAQ
        Ʈ  ` ' ؽƮ  

     TAGS
        Emacs vi   

     ִ  Ű     ̸
   빮ڸ Ѵٴ   ֱ ٶ.

  5.  ٶϰ ˸   

   Ʈ  Ѵٴ  Ÿ ˰ ٸ   
  Ѵٸ      ̴. ͳݻ Ʈ 縦
  ˸Ƿμ ʺڵ ڵ    ִ. 
  ׷ ϴ Ϲ  ִ.

  5.1.  c.o.l.a  ˷

  ο (releases) comp.os.linux.announce
  <news:comp.os.linux.announce> ˷. ׸    
  ְ Freshmeat <http://www.freshmeat.net>   what's-new
  Ʈ Ʈ.

  5.2.   õ ׷쿡 ˷

   α׷  õ  USENET ׷ ãƼ װ
  ˷. ڵ ɰ  õ  Խϰ ƹ 
  Խ.

     IMAP servers  õ α׷ Perl ̿ؼ
  ۼߴٸ, comp.mail.imap Ȯ Խؾ ϰ, ο Perl
     ƴ϶ comp.lang.perl Խϸ   ̴.

   ˸  ݵ Ʈ Ʈ ּҸ Բ ˷ Ѵ.

  5.3.  Ʈ 

   Ʈ   ڵ ڵ   ʹٸ
  Ʈ ʿ ̴. Ʈ Ϲ   
  ϰ ־ Ѵ:

  o  Ʈ  (װ ϴ , ̿ؾ ϴ  ).

  o  Ʈ ҽ ٿε  ִ ũ.

  o  Ʈ ϸ Ʈ ϴ .

  o  FAQ (ϰ ϴ ) Ʈ.

  o  Ʈ  HTML .

  o   ְų  迡 ִ Ʈ ũ.

   Ʈ Ʈ ƹ (master) ҽ   ִ
  ּҸ  ִ.

  5.4.  Ʈ ϸ Ʈ ϶

  Ʈ     ȯϰ ġ ȯϱ 
    Ʈ   Ϲ ̴.  Ʈ 
  Ȳ ñ ϴ    Ʈ  ͵ 
  ̴.

  5.5.  ֿ (major archives) (release)϶

      Sunsite archive
  <http://www.sunsite/unc.edu/pub/Linux/>  Ʈ 
  ߿ ȯ Ұ Ǿ.

  ٸ ߿  ̴ּ:

  o  the Python Software Activity <http://www.python.org> site
     (Python ۼ α׷ ).

  o  the CPAN <http://language.perl.com/CPAN>, the Comprehensive Perl
     Archive Network, (Perl ۼ α׷ ).

  5.6.  RPM ϶

  ġ  ִ ̳ʸ Ű ǻ ǥ ·  Ű
  Ŵ, RPM ȴ.  α ִ   Ǹ ٸ
    (Ȱ  ) ȴ.

  ,  Ʈ Ʈ ġ  RPM ϴ 
  ҽ tar  ϴ Ͱ  ٶ ̴.

