  RPM .  

ۼ :  (freekgb@netian.com, freekgb@hanmail.net)
ۼ : 1999.10.2. 

    ڻ  ̳  HLUG ̳  Դϴ.
  ̳  Ͽ, HOW-TO  Ͽϴ. 
 в  Ǳ ٶڽϴ.  

1. RPM ġϱ 

 1] RPM  ٿε ޽ϴ.

  ftp.redhat.com
  ̷Ʈ : ftp.bora.net

 2] RPM ý 䱸

  RPM ϱ  ֵ 䱸  cpio  2.4.2 ̻ ʿմϴ. 
  RPM   ϰ , ٸ н ýۿ 
     Դϴ.  SunOS, Solaris, AIX, Irix, AmigaOS, 
     н   ϵ˴ϴ. ٸ   ִٸ,  
  ٸ н ýۿ  ̳ʸ Ű ȣȯ ʴ´ٴ
  Դϴ.  

  RPM ġϱ  ּ 䱸   ϴ. RPM ҽ 
  ϱ ؼ ,  Ű ϴµ ʿ ͵, , gcc, make 
   ʿմϴ. 

 3] RPM  

  1) RPM  Ű ġ      ֽϴ. 

     a. ġ 
      rpm -i foobar-1.0-1.i386.rpm
     b.  Բ 
      rpm -ivh foobar-1.0-1.i386.rpm
   
  2)  Ű ׷̵   ̴ ɾԴϴ.
     
     a. ġ 
      rpm -U foobar-1.0-1.i386.rpm
     b.  Բ 
      rpm -Uvh foobar-1.0-1.i386.rpm
      
  3)    Ű    Դϴ. 

      rpm -e foobar

  4) ſ      ϳ  FTP Ͽ 
    ġϴ Դϴ.  Ʈ Ǿ ְ ο Ű 
    ġϱ⸦ Ѵٸ, п ʿ   Ȯ URL 
    Բ  ġ ϴ ε,  ϴ: 

      rpm -i ftp://ftp.pht.com/pub/linux/redhat/rh-2.0-beta/RPMS/foobar-1.0-1.i386.rpm

     FTP   ġ     ֽϴ. 
    (&nbspftp/bin 丮 rpm ̳ʸ   ٶϴ. ׷ 
    Ѵٸ  ftp  rpm Ǹ   ֽϴ.) 

  5) ϱ 
     
     Ͽ RPM Ͽ  ͵   ֽϴ.( ɼ) 

      rpm -Va              - ġǾ ִ rpm  

      rpm -qf /bin/vi      - ̹ ġǾ ִ rpm   
       
      rpm -qRp foobar-1.0-1.i386.rpm   - ش ϰ   ϵ  

      rpm -qip foobar-1.0-1.i386.rpm   - ش Ͽ    ǥ 
                                         specϿ    
 
      rpm -qpl koules-1.2-2.i386.rpm   -ġ   ǥ 

  6) RPM ɼ(--help )
   
     Ʒ ɼǵ 뵵 ° Ͽ       
      ֽϴ. 

   --help                  -   ִ  ޽ Ѵ
   --version               -   rpm  Ѵ
      μ Ѵ:
      --rcfile <file>      - /etc/rpmrc  $HOME/.rpmrc  <file> Ѵ
     -v                    -   ڼ Ѵ
     -vv                   -  ڼ Ѵ (  )
   -q                      -  
      --root <dir>         - <dir>   丮 Ѵ
      --dbpath <dir>       - <dir> ͺ̽ 丮 Ѵ
      --queryformat <qfmt> -   <qfmt> Ѵ (-i )
   ġ, ׷̵,  (-p ߰) ftp URL  ̸    
   Ÿ  ɼ   ִ:
      --ftpproxy <host>    - ftp Ͻ ȣƮ ̸ Ǵ IP
      --ftpport <port>     - ftp (Ǵ Ͻ) Ʈ ȣ
      --httpproxy <host>    - http Ͻ ȣƮ ̸ Ǵ IP
      --httpport <port>     - http (Ǵ Ͻ) Ʈ ȣ
      Ű  ɼ:
        -a                 -  Ű Ѵ
        -f <file>+         - <file> ϰ ִ Ű Ѵ
        -p <packagefile>+  - ( ġ ) <packagefile> Ű
                             Ѵ
        --triggeredby <pkg> - <pkg>  ߵǴ Ű Ѵ
        --whatprovides <cap> - <cap>  ϴ Ű Ѵ
        --whatrequires <cap> - <cap>  ʿ ϴ Ű Ѵ
        ɼ:
        -i                 - Ű  ǥѴ
        --changelog        - Ű ȭ  ǥѴ
        -l                 - Ű   ǥѴ
        -s                 -  ¸ ش (-l )
        -d                 -  ϸ Ѵ (-l )
        -c                 -  ϸ Ѵ (-l )
        --dump             -  Ͽ Ͽ    ش (-l,
                             -c, Ǵ-d Բ ؾ Ѵ)
        --provides         - Ű ϴ  Ѵ
        --requires
        -R                 - Ű  Ѵ
        --scripts          - پ []ν ũƮ Ѵ
          --triggers         - Ű ȿ ִ  ũƮ ش

    -V
    -y
    --pipe <cmd>           - ǥ  <cmd> 
    --verify               - -q  Ű  ɼ Ͽ Ű
                             ġ Ѵ
      --dbpath <dir>       - <dir> ͺ̽ 丮 Ѵ
      --root <dir>         - <dir>   丮 Ѵ
      --nodeps             - Ű   ʴ´
      --nomd5              - md5 üũ  ʴ´
      --nofiles            -  Ӽ  ʴ´

    --setperms             - -q  Ű  ɼ Ͽ Ű
                             ͺ̽ ִ  㰡Ǵ Ѵ
    --setugids             - -q  Ű  ɼ Ͽ Ű
                             ͺ̽ ִ  ڿ ׷
                             Ѵ

    --install <packagefile>
    -i <packagefile>       - Ű ġѴ
      --excludepath <path> - <path> ο ִ  ǳʶڴ
      --relocate <oldpath>=<newpath> - <oldpath>κ <newpath> 
                                       ġѴ
      --badreloc - Ű  ʾƵ  ġѴ
      --prefix <dir>       - ġ ϸ <dir> Ű ġѴ
      --dbpath <dir>       - <dir> ͺ̽ 丮 Ѵ
      --excludedocs        -  ġ ʴ´
      --force              - --replacepkgs --replacefiles  
      -h
      --hash               - Ű ġ  ؽ ǥ Ѵ (-v
                             ϸ )
      --allfiles           - ٸ  ġ   ִ  
                             Ͽ   ġѴ
      --ignorearch         - Ű ŰĴ  ʴ´
      --ignoresize         - ġ  ũ  ˻縦  ʴ´
      --ignoreos           - Ű ü  ʴ´
      --includedocs        -  ġѴ
      --justdb             - ͺ̽ ϵ  ý 
                             ʴ´
      --nodeps             - Ű   ʴ´
      --noorder            -  Ű  Ű ġ 
                               ʴ´
      --noscripts          - ġ ũƮ  ʴ´
      --notriggers         - Ű  ߵǴ ũƮ  ʴ´
      --percent            - Ű ġ  ۼƮ Ѵ
      --replacefiles       - Ű ġ  üϴ ġѴ
      --replacepkgs        - Ű ̹ ġǾ ־ ٽ ġѴ
      --root <dir>         - <dir>   丮 Ѵ
      --test               - ġ ʰ   θ 뺸Ѵ

    --upgrade <packagefile>
    -U <packagefile>       - Ű ׷̵ (--install  ɼǿ 
                              )
      --oldpackage         -    Ű ׷̵Ѵ.
                             (--force ϸ ڵ õȴ

    --erase <package>
    -e <package>           - Ű (νѴ)
      --allmatches         - <package> ġϴ  Ű Ѵ.
                             ( <package>   Ű ġϸ
                              ߻Ѵ)
      --dbpath <dir>       - <dir> ͺ̽ 丮 Ѵ
      --justdb             - ͺ̽ ϵ  ý 
                             ʴ´
      --nodeps             - Ű   ʴ´
      --noorder            -  Ű  Ű ġ 
                               ʴ´
      --noscripts          - Ű  ũƮ ϳ  ʴ´
      --notriggers         - Ű  ߵǴ ũƮ  ʴ´
      --root <dir>         - <dir>   丮 Ѵ

    -b<stage> <spec>
    -t<stage> <tarball>    - Ű Ѵ. <stage>  :
          p                - غѴ. (ҽ Ǯ ġ Ѵ)
          l                -    (%files Ͽ ڼ 
                             Ѵ)
          c                - Ѵ. (غ  )
          i                - ġѴ. (غ, , ġ)
          b                - ̳ʸ Ű (غ, , ġ, Ű)
          a                - ̳ʸ/ҽ Ű (غ, , ġ, Ű)
      --short-circuit      - skip straight to specified stage (only for c,i)
      --clean              - remove build tree when done
      --rmsource           - ۾ ġ  ҽ spec  
      --sign               - PGP/GPG  ߻Ų
      --buildroot <dir>    -  Ʈ <dir> Ѵ
      --target=<platform>+ - ǥ ÷1...÷N  Ű Ѵ
      --nobuild            -  ܰ赵  ʴ´
      --timecheck <secs>   - ð  <secs> ʷ Ѵ. (0 )

    --rebuild <src_pkg>    - ҽ Ű ġϰ ̳ʸ Ű  
                             spec ϰ ҽ, ġ,  Ѵ
    --rmsource <spec>      - ҽ spec  Ѵ
    --recompile <src_pkg>  - --rebuild  Ű  ʴ´
    --resign <pkg>+        - Ű Ѵ. (  )
    --addsign <pkg>+       - Ű  ߰Ѵ
    -K
    --checksig <pkg>+      - Ű  Ѵ
      --nopgp              - PGP  ǳʶڴ
      --nogpg              - GPG  ǳʶڴ
      --nomd5              - MD5  ǳʶڴ
    --querytags            -  Ŀ   ִ ±׸ Ѵ
    --initdb               - ùٸ ͺ̽ ִ ȮѴ
    --rebuilddb            -  ͺ̽κ ͺ̽ ٽ
                             
      --dbpath <dir>       - <dir> ͺ̽ 丮 Ѵ
      --root <dir>         - <dir>   丮 Ѵ

  
2. RPM  а   ⺻  

 1] SRPM RPM  

   rpm -ba foobar-1.0-1.i386.rpm
    Ͽ RPM  Ű SRPM RPM  ϴ. 
   츮  ڸ ҽ ڸ ̳ʸ ̶ մϴ. 
   װ ڰ foobar-1.0-1.tar.gz foobar-1.0-1.spec   
   ̿  patch   rpm   ־ ᰡ  ϵ
   Բ  , ڰ    RPM  ̱ Դϴ.

 2] sepc 뵵 

     RPM     о鿩 μ ϰ ˴ϴ. 
   ̰  Ư ũƮ ̸, %Prep ķ  ũƮ  
   ۵˴ϴ. ׷Ƿ    Ͽ ٸ ɾ    
   ׻ Ȯ϶ Դϴ.  'rm -rf'   ɾ  ִٸ  
   ý ٽ ġؾ ϴ ϵ    ֽϴ.  κ 
   ϵ鿡   ϴ.       
 
   spec  SRPM   , foobar-1.1-1.tar.gz  ϸ
      Ͽ ϸ ˴ϴ. 

 3] RPM  

   RPM   ýۿ ġ ġ κб  ҽ ״
   ϰ ϴ Դϴ. ڸ ýۿ ̹ ȭǾ ϵ ҽ
      ٸ ýۿ ״ Ǯ   ְ ϴ .
   , spec Ͽ  ҽ foobar-1.1-1.tar.gz  Ǫ  
   װͿ makefile Ͽ ϴ   ,  ϵ 
   ϵ ѵ   ġ ˴ϴ.  ׷  ٸ  
   ýۿ  rpm   ʽϴ. 

3. RPM  

   RPM  ⺻   ϴ.

    . /etc/rpm/rpmrc(Ǵ /usr/lib/rpm/rpmrc) ִ ȮѴ. 
    . RPM  ϴ ҽ ڵ带 Ѵ. 
    . Ȯϰ ϱ ؼ ҽ ʿ ġ Ѵ. 
    . Ű  (spec)  . 
    .   Ȯ ġ ִ ȮѴ. 
    . RPM Ͽ Ű . 

   , RPM ̳ʸ ҽ  ϴ. 

 1] RPM  丮 

   п  ʿ   ߾  ƮԴϴ. ̰
   /usr/lib/rpm/rpmrc Ͽ  մϴ. κ  
   /usr/src   Դϴ.  ǿ ⺻ 
   /usr/src/redhat մϴ. 

     Ʈ     丮  ʿ䰡
   ֽϴ.  ޿ ⺻  ֽϴ:   

    . BUILD - RPM ؼ  尡 ̷ 丮̴. 
     Ư   ׽Ʈ  ʿ ,  丮 RPM
      ġ̴. 
    . SOURCES - ҽ tar ϰ ġ ־ ξ ϴ
     丮̴. ̴ ⺻ RPM ϴ ̴.
    . SPECS - (spec)  ġ 丮̴.
    . RPMS - RPM ̳ʸ RPM  丮̴.
    . SRPMS -  ҽ Ű  ̴. 

 2]RPM     ΰ(spec Ͽ Ͽ) 

  RPM  ؼ ⺻ foobar-1.1-1.tar.gz   α׷ 
  ҽ foobar-1.1-1.spec   spec ʿմϴ.  ٿ 
  RPM spec о ҽ Ǯ ϴ  ֱ Դϴ. 
  , ΰ  ʿѵ, ̰͵ SRPM ؼ RPM  
  Ǯ, װ /usr/src/redhat Ʒ SOURCE SPECS 丮 Ʒ Ǯ鼭 
   ΰ   ˴ϴ. ׸,   ҽϸ ִٸ  
  spec  Ͽ ϸ ˴ϴ.   쿡  ϵ  
  丮 ־ ־ մϴ.  

   SRPM    ִ Ʈ : ftp.bora.net

 3] ҽ ġ   

  ҽ ġ diff  մϴ. 

  diff -uNr dirname.orig dirname > ../SOURCES/dirname-linux.patch

   .orig        丮̰  θ 
  Դϴ. ̰ Ͽ > ڿ ִ ̸ patch 
  ˴ϴ. ̰ spec Ͽ  ǰ ˴ϴ. 

  ̰ ؼ ҽ   ־ մϴ. װ ؼ   
  ֽϴ. 

   1) ҽ  Ǯ ġ  ã ġմϴ. 
   2) spec      RPM   ҽ ϴ  
     ϸ ҽ  ġ   ֽϴ.    ٽ 
    spec  ϰ, rpm   RPM  ˴ϴ. 

     rpm -bc foobar-1.0.spec

    []   SPECS 丮 Ʒ  װ մϴ.
 
 4] rpmrc  (The rpmrc File)

   RPM spec о  rpmrc ϰ macro  Ͽ rpm 
   մϴ.  ϵ ⺻ RPM ġǾ ִ 丮 Ʒ
   ġմϴ. 

    97⵵ RPM  Դϴ.   ܾ ٲپϴ. 
     ̱  ٸ κ  ֽϴ. 
    κп ߸ κ ִٸ Ͽ ֽðų ã Ǹ ϵ 
   ϰٽϴ. 

   RPM   /usr/lib/rpm/rpmrc(Ǵ /etc/rpm/rpmrc) Ͽ
   ̷ϴ.    ϴ: 

     require_vendor: 1
     distribution: I roll my own!
     require_distribution: 1
     topdir: /usr/src/me
     vendor: linux
     packager: linux Packaging Account <packages@linux.com>

     optflags: i386 -O2 -m486 -fno-strength-reduce
     optflags: alpha -O2
     optflags: sparc -O2

     signature: GPL
     gpl_name: linux Packaging Account
     gpl_path: /home/packages/.gpl

     tmppath: /usr/tmp

     require_vendor RPM vender  ã  ʿմϴ.  
     /etc/rpmrc    ɴϴ.   , ڸ 0
     ٲߴϴ.   require_distribution require_group 
     մϴ. 

       distribution Դϴ.   Ǵ   
     ޺κп   ֽϴ. Ư   ,   ´
     Ȯϴ  ſ  Դϴ. ̰ ʿ  ƴ, vender
     ٵ   ̷ϴ. ׷ ̵   ֽϴ. 
     (: Joe's Software and Rock Music Emporium). 

     RPM  پ Űó Ű   ϰ ֽϴ.
     rpmrc Ͽ Űó  ÷װ ʿ      
     ``optflags''    ֽϴ.  ܶ ̷ 
      ϴ   ֽϴ. 

      ִ ũο ؼ, ⿡    ֽϴ.  ̷
       ִ: 

      rpm --showrc

     ±װ  õǴ,   ÷װ   ִ ˱ 
     ؼ    ϴ. 

 5] spec  ϱ 

    ߵ RPM  ؼ spec  ʿմϴ. װ
   о鿩 RPM  ˴ϴ. ׷Ƿ    ϰų 
    а   ˾ƾ մϴ. 

   spec ǥ ʿ ϴ. spec  ̸ ̸-ȣ-ǥ
   ȣ.spec Ǵ Դϴ.     

    1)  ù κ -  (The Header)

      ó κ Ͽ    ̰ ˴ϴ. 

      ncftp spec Դϴ. 

      Summary: An improved FTP client.
      Name: ncftp
      Version: 3.0beta18
      Release: 3
      Prefix: /usr
      Copyright: Distributable
      Group: Applications/Internet
      Source0: ftp://ftp.ncftp.com/ncftp/3.0BETA/ncftp-%{version}-src.tar.gz
      Source1: ncftp.wmconfig
      BuildRoot: /var/tmp/ncftp-root

      %description
      Ncftp is an improved FTP client.  Ncftp's improvements include support
      for command line editing, command histories, recursive gets, automatic
      anonymous logins and more.

      Install ncftp if you use FTP to transfer files and you'd like to try 
      some of ncftp's additional features.


       ä ʿ䰡 ִ ǥ ʵ带  ֽϴ. 
     ⿡     ֽϴ. ʵ忡 ݵ   
     ä մϴ.  ̿  Դϴ.  

     Summary: Ű     ٷ . 
     Name:  ϰ ϴ rpm  ̸ ; Ѵ. 
     Version:    ̸  ȣ ; Ѵ. 
     Release: ⿡   Ű ȣ ´. (  츮 
      Ű µ ߸  ˰ ٽ    Ű
     release ȣ 2 ȴ.)
     Icon: ⿡ ٸ ( ``glint;; ) ð ġ 
         ̸ ´.  ݵ gif ̾ ϰ
      SOURCES 丮 ġϿ Ѵ. 
     Source:  ٿ  ҽ ġ Ų. ̰ 
      ҽ  ٽ ų ο  üũϴµ δ. 
      :
      ٿ  ̸  ýۿ ִ  ̸ ġؾ Ѵ.
      ( , ҽ  ٿε ޾Ƽ ̸ ٲ ƾ Ѵ.)
       ϳ ̻ ҽ     Ͽ 
       ִ. 

         Source0: blah-0.tar.gz
         Source1: blah-1.tar.gz
         Source2: fooblah.tar.gz

       ϵ SOURCE 丮 ġѴ( 丮   "ҽ 
      丮 Ʈ" ܶ ٷ ̴.) 
     Patch: ġ ã  ִ ġ̴. ٽ ٿε   ʿϴ.
      : 
      ⼭  ̸ "" ġ   ϴ Ͱ ġϿ
      Ѵ.  ҽ  ġ     ָ ʿ䰡 ִ. 

         Patch0: blah-0.patch
         Patch1: blah-1.patch
         Patch2: fooblah.patch

       ϵ SOURCES 丮 ȿ ־ Ѵ. 
     Copyright:  ٿ Ű ۱ ˷ش.  APL, BSD, MIT, (public domain), distributable,
      Ǵ  (commercial)    ִ. 
     BuildRoot:  ٿ ο Ű ġϰ  ``root'' 丮 ϵ Ѵ.  ġϱ
        Ű ׽Ʈϴµ ̸   ִ. 
     Group:   ( ``glint'' ) ð ġ α׷ Ư α׷ Ʈ  
      ġϴ ˷ش. ׷ Ʈ  ̷   ִ. 

         Applications
           Communications
           Editors
                 Emacs
           Engineering
           Spreadsheets
           Databases
           Graphics
           Networking
           Mail
           Math
           News
           Publishing
                 TeX
         Base
           Kernel
         Utilities
           Archiving
           Console
           File
           System
           Terminal
           Text
         Daemons
         Documentation
         X11
           XFree86
                 Servers
           Applications
                 Graphics
                 Networking
           Games
                 Strategy
                 Video
           Amusements
           Utilities
           Libraries
           Window Managers
         Libraries
         Networking
           Admin
           Daemons
           News
           Utilities
         Development
           Debuggers
           Libraries
                 Libc
           Languages
                 Fortran
                 Tcl
           Building
           Version Control
           Tools
         Shells
         Games

     %description ̰   ƴ, ⼭  ξ Ѵ.
       Ű,  Ű  ϳ ʿ  ̴. ̰
      Ű ؼ   µ ϴ ̰  ٿ 
        ִ:           

    
    2)   κ 

      κ rpm         δ 
     Դϴ. ̰   ϴĿ   ణ ޶ϴ. 
      rpm   ҽ Ǯ, makefile Ͽ ϰ װ
      rpm    ϵ ҽ  Դϴ. ̿  
     spec   κ ϸ Ǵ . 

      κп ̴ ɵ- ⼭ ũζ ܾ  ˴ϴ - 
      ϰڽϴ. 

      ncftp Դϴ. 

   %prep
   %setup -q

   %build
   CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix}
   make

   %install
   rm -rf $RPM_BUILD_ROOT
   mkdir -p $RPM_BUILD_ROOT/usr/{bin,man/man1}

   make prefix=$RPM_BUILD_ROOT/usr install

   mkdir -p $RPM_BUILD_ROOT/etc/X11/wmconfig
   install -m644 $RPM_SOURCE_DIR/ncftp.wmconfig
   $RPM_BUILD_ROOT/etc/X11/wmconfig/ncftp

   %clean%clean
   rm -rf $RPM_BUILD_ROOT

   %files
   %defattr(-,root,root)
   %doc *README WHATSNEW-3.0 COPYING
   %config(missingok) /etc/X11/wmconfig/ncftp
   /usr/bin/ncftp
   /usr/bin/ncftpget
   /usr/bin/ncftpput
   /usr/bin/ncftpbatch
   /usr/bin/ncftpls
   /usr/bin/ncftpbookmarks
   /usr/man/man1/ncftp.1
   /usr/man/man1/ncftpget.1
   /usr/man/man1/ncftpput.1
   /usr/man/man1/ncftpbatch.1
   /usr/man/man1/ncftpls.1

    
    
    . %Prep
   
    ̰  κ ۵˴ϴ. 

    ̰   ι° ܶԴϴ. ̰ ҽ  غ
    ϴµ Դϴ. ⿡  ҽ ġ, make  
    ¾ϴµ ʿ ͵   ֽϴ.  

    Ѱ  :  ܶ   ũƮ ġϿ մϴ. 
      ҽ Ǯ ġ ũƮ  %prep ڿ ġ 
    ų  ֽϴ. ̰Ϳ  ǵ ũθ  ξϴ.  
    
    . %setup
       
    ũ ù ° %setup ũԴϴ. ̰  ν
    ( ɼ ϴ), ҽ Ǯ ҽ 丮  Դϴ.
    ⿡   ɼ ֽϴ: 

     -n name  Ʈ ̸  丮 ̸ ϴµ, 
     ⺻ $NAME-$VERSION̴. ٸ ɼ ִ $NAME, 
     ${NAME}${VERSION} Ǵ ϴ tar    ִ. 
     (  ȿ ִ ``$''    ƴ϶  ϱ
     ٶ. װ   ̸ ġ  Ÿµ δ.
       ƴ Ű  ̸   ʿ䰡 ִ.)   
     -c untar ϱ  丮  װ ̵ϴ ̴.   
     -b #   丮 ̵ϱ  ҽ#  Ǯ ̴.
     (untar) (-c Բ   .) ̰  ҽ 
        ϴ
     -a #  丮 ̵ Ŀ ҽ#  Ǯ ̴. 
     -T ɼ  Ǫ ⺻  ϰ  Ǯ ҽ  
      Ͽ -b 0 Ǵ -a 0  ʿ Ѵ. ҽ   
      ɼ ʿϴ.  
     -D -D  ҽ Ǯ  丮  ʴ ɼ̴. ̰ 
       ϳ ̻ ¾ ũθ    ϴ. ̰
      ¾ ũ  ù°   Ŀ δ. (ù°  
      ȵȴ.) 

    . %patch
    
       ũ δ %patch ũԴϴ.  ũδ
     ҽ ġ ϴ  ڵȭ ϴ  ϴ. ⿡  
     ɼ ֽϴ.  

      # foobar-1.0.patch(ġ) üմϴ. ̰ 
     Ͱ  ġ̶  ˴ϴ.  
           
     -p # ġ (patch(1)) strip 丮  Ѵ. 
     -P  ⺻  ġ ϴ ̴.  ÷״ ⺻ ̰ 
      Ǯ  ҽ   ؼ 0 ϳ ʿϴ.  ɼ ù
     ° ũο ٸ ڸ ʿ ϴ ι° %patch ũο ϴ.
           %patch#    ִ: 
     %patch # -P 

    . %build

     %build ũο  ϰ ϴ  Դϴ.) 
     Ͽ ϴ Դϴ. ⼭  ϴ   ũο
     ؼ   ٶϴ.  

      ܶ   ũΰ ִ  ƴմϴ.   Ǯ
     ҽ    ϱ ϴ Ʈ ϰ, װ
     ġϰ  丮 ̵ϴ   ̵ ⿡ ־
     մϴ. ̰ ɵ  ޵Ǵ Ǵٸ ν,  
     ̵( ؼ) ⿡   ֽϴ.   ۾
     丮  ܶ ҽ 丮 ֻ  丮
     µǹǷ,  ̰ ϱ ٶϴ.  ʿϴٸ 
     丮 ̵  ֽϴ. 

    . %install     

     ̰    ũΰ ƴմϴ.  ⺻ ġϴµ
     ʿ  ̵ ⿡ ־ մϴ.  ϴ Ű
     ȿ make install   ִٸ, ⿡ ־ ε մϴ.
     ƴϸ,  make install  makefile ġϰų 
     make install ⼭   ֽϴ. Ǵ    ġ
      ֽϴ.   丮 ҽ 丮  
     丮 ȴٴ  Ͽ մϴ. 

    . ġ  / ũƮ

      ̳ʸ Ű ġ  Ŀ ũƮ   ֽϴ.
     ֵ   ̺귯  ִ Ű ġϰų ϰ 
     ldconfig   ϱ ؼԴϴ.  ũƮ 
      ũε  ϴ: 

     %pre ġϱ  Ǵ ũƮ̴. 
     %post ġ Ŀ Ǵ ũƮ̴. 
     %preun ϱ  Ǵ ũƮ̴. 
     %postun  Ŀ Ǵ ũƮ̴. 

      ܶ  #!/bin/sh  ʿ  ʴ   Ÿ
     ũƮ   ֽϴ. 

    . Ͽ õ ũε 

       ݵ  ݵ Ʈؾ ϴ ܶԴϴ. RPM
     make install   ̳ʸ ġǴ   ϴ. 
     ̰   ִ  "ϴ".  ̴ Ű ġ Ŀ
     find ϱ⸦ ϱ⵵ Ͽϴ. ׷   ýۿ
     Ű 尡 ̷  Ű üʹ ƹ   ٸ   
        ֱ  ޾Ƶ̱ ƽϴ. 

     ⿡ Ư ۾     ũΰ ֽϴ. 
     ⿡ մϴ.: 

     %doc  ̳ʸ ġϱ⸦ ϴ ҽ Ű   
     ǥϴµ ȴ.  /usr/doc/$NAME-$VERSION-$RELEASE ġ
     ̴.  ũθ Ἥ ࿡   Ʈϰų,
       ũθ Ἥ Ʈ  ִ. 

     %config  Ű   ǥϴµ Ѵ. ⿣
     sendmail.cf, passwd   Ѵ.  ߿ 
       ִ Ű ϰ Ѵٸ,      
     ŵǰ   .rpmsave  ٿ ̸ ٲپ д. 
      ̷ ũη     Ʈ  ִ. 
     
     %dir   Ű ԵǴ  Ʈ   丮 ǥѴ. 
     ⺻,  丮 ̸ %dir    ִ,
     丮   Ʈ ȿ Եǰ ߿ Ű 
     κ ġȴ.

     %files -f <filename> δ ҽ  丮 ȿ ִ  
     Ͽ   Ʈ  ִ. ̴  
     Ʈ    ִ Ű  ִ 쿡 . 
      ִ  Ʈ ԽŰ,  Ư  Ʈ
     ʿ䰡 . 

      Ʈ  ؾ   丮 ƮԴϴ. 
     Ǽ /usr/bin  ξٸ,  ̳ʸ Ű 
     ý /usr/bin      ̴.  丮
     Ʈ ҽ makefile о Ȯϸ ˴ϴ. ϸƮ 
     ؼ makefile ϴ Ͱ ġ    
       ֽϴ.    
   
   3) %changelog κ 
   
     Ī ϰų α׷ Ͽ Ӱ     
     κ  Ӵϴ.  ncftp %changelog κԴϴ. 

    * Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
    - auto rebuild in the new build environment (release 3)

    * Wed Feb 24 1999 Bill Nottingham <notting@redhat.com>
    - return of wmconfig

    * Tue Feb 23 1999 Bill Nottingham <notting@redhat.com>
    - 3.0b18

    * Fri Feb 12 1999 Bill Nottingham <notting@redhat.com>
    - 3.0b17

    * Wed Dec  2 1998 Bill Nottingham <notting@redhat.com>
    - 3.0b16

    * Wed Nov 18 1998 Bill Nottingham <notting@redhat.com>
    - add docs

    * Thu Nov  5 1998 Bill Nottingham <notting@redhat.com>
    - update to 3.0beta15

    * Thu Aug 13 1998 Jeff Johnson <jbj@redhat.com>
    - build root

    * Fri Apr 24 1998 Prospector System <bugs@redhat.com>
    - translations modified for de, fr, tr

    * Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
    - compiled for Manhattan

    * Fri Mar 20 1998 Cristian Gafton <gafton@redhat.com>
    - updated to 2.4.3 for security reasons

    * Wed Nov 05 1997 Donnie Barnes <djb@redhat.com>
    - added wmconfig entry

    * Wed Oct 21 1997 Cristian Gafton <gafton@redhat.com>
    - fixed the spec file

    * Fri Oct 10 1997 Erik Troan <ewt@redhat.com>
    - updated to ncftp 2.4.2

    * Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
    - built against glibc

    * Tue Mar 25 1997 Donnie Barnes <djb@redhat.com>
    - Rebuild as Sun version didn't work.


 6] RPM Ű  

    spec() ϰ ʿ信  patch(̰ SOURCES 丮
   foobar-1.0.tar.gz ҽϰ  Ӵϴ.)  Ǹ,  Ű
    غ  Դϴ.    ࿡   
   PRM ̳ʸ ϰ RPM ҽ(SRPM)  ϴ.  

     rpm -ba foobar-1.0.spec

   ⿡  -b ġ Բ ٸ ɼ ֽϴ.

     p    prep ܶ Ѵٴ  ǹѴ. 
     l  Ʈ üũ̴. 
     c  prep ϰ Ѵ. ̰   ҽ ؾ  Ȯ   ϴ. ҽ
     ϰ RPM ϱ    ҽ  ۾ 𸣱    δ.
     ׷ RPM ϴµ ͼ,  ̰  . Ƿʷν ã   ̴. 
     i  prep , ġ Ѵ. 
     b  prep , ġ ̳ʸ Ű . 
     a  ҽ ̳ʸ  . 

   -b ġ    ɼ ֽϴ.  ϴ:
    (̰Ϳ  ڼ   帰 --help  κ ñ ٶϴ.)

      --short-circuit  Ư ܰ踦 ٷ ǳʶڴ. (c i  
        ִ.)
      --clean  ۾   Ʈ .      
      --clean  ۾   Ʈ .  
      --keep-temps /tmp   ӽ ϰ ũƮ  ״ д.
         -v ɼ Ͽ  tmp   
          ִ.   
      --test    ܰ赵  ʴ´, ٸ ӽ÷ Ѵ.

 7]  Ŀ ׽Ʈ 

     ġ SRPM ϰ RPM  ϴ.  ߿ RPM
   ٸ  ýۿ ġϰ  ư Ȯ   ִٸ 
    Ȯ ׽Ʈ  Դϴ. ׷, ׷ ϱ  Դϴ. 
   Ǿ ڽ ýۿ rpm  ٴ  Ȯ  
      κ̶ ϰڽϴ.    

4. RPM  ٸ ü   

  RPM  i386, Ż  , ſ Ű µ  
  ֽϴ. RPM SGI HP ̼ǿ  Ѵٰ Ǿϴ.
  ⿡ Ű  ÷    ִ   Ư¡
  ֽϴ. ù ° δ rpmrc ``optflags'' ڰ ֽϴ. 
  ⿡ Ʈ   Űó ӵ ÷׸  
  ֽϴ.   ȿ ִ ٸ  ``arch'' ũΰ ֽϴ. 
  װ   Űó Ǵ  ٸ ͵ ٷµ 
   ֽϴ. Ǵٸ   ``Exclude''  ִ. 

  ش κп  ߰ 

    ExcludeArch: axp

  ũƮ κп   ũ ߰ 

   %ifarch axp  # ߰ Ǿ  κ 
   %patch1 -p1  #  κ patch κ 
   %endif 

   i686 ϴ. ׷Ƿ, 686   
  i386ɼ ̰ų ״ , ڽ ýۿ ߱ ؼ i686 
   ɼ ٿ ݴϴ.

5. ڽ  RPM   Ű ԽŰ  
 
  RPM  뵵 ̰ų ftp ÷ ٸ    ֵ
   ֽϴ. ƴϸ ڽ Ӱ CD   ֽϴ. ׷
 ؼ RPMS 丮 ο  ΰ   hdlist 
 ־ մϴ.          

 ο hdlist  ϱ

 CDκ ġ  CD ִ ġ α׷  RPM Ű
 밡 ϴ RedHat/base/hdlist Ͽ մϴ. hdlist 
 misc/src/install/genhdlist    ֽϴ.  α׷ ϳ
 μ  Ʈ 丮 ̸ Ѱָ鼭 ؾ մϴ. ̰
  α׷ ȣϴ updateHdlist ũƮԴϴ.  

#!/bin/bash

RHVERSION=5.1
ARCH=i386

echo generating hdlist...
CDDIR=/jaz/redhat-${RHVERSION}
GENHDDIR=${CDDIR}/${ARCH}/misc/src/install

chmod u+x ${GENHDDIR}/genhdlist
chmod 644 ${CDDIR}/${ARCH}/RedHat/base/hdlist
${GENHDDIR}/genhdlist ${CDDIR}/${ARCH} || echo "*** GENHDLIST FAILED ***"

exit 0

  ũƮ 5.1Դϴ.    ʴ´ٸ  ð  
   ֽø ˴ϴ. 

6. ѱ ġ   

 ѱ ġ     Ĩϴ. 

  .  ѱ ü ϴ ȮѴ. 
  . ѱġ Ǿ ȮѴ. 
  . diff ѱġ . 
  . rpm  Ѵ. 
 
   α׷ ѱ ü  ǰ ֽϴ. 
 , ġ װ Ͽ  ѱ ġ ϴ  
 Ͽ  Դϴ. ѱ ġ hanIM  ѱԷ±Ⱑ   ֵ 
 մϴ.  ѱ νĵǵ ϴ . 

  - hanterm  ѱν  xterm  ѱν  
 ʽϴ. װ xterm ѱڵ带 ν  ֵ  Ǿ  
 ʱ Դϴ. ׸, X쿡 ѱ   Ǿ  
  ѱ  ɴϴ. α׷ ü ѱ Ǿ . 
 ̰Ϳ   KLDP ִ õ  ̳ ڷḦ Ͻðų 
 ٸ ѱ  ϵ Ͻñ ٶϴ. 
   
7.  ġ鼭 

 ̹  ڻ  RPM ̳ ް Ͽ  Դϴ. 
  ̺ κе ְ, ׷   HOW-TO 
 Ͽϴ. ̳ ֽ ڻ Բ 縦 帮, ̹  
 Ͽ  ̳ 帱   ֽ HLUG в  
 帳ϴ.

 ƿ﷯  ۿ  ؾߵ κ ְų  ø   
 ֽñ ٶϴ.   

8. ۱ 

 Ϲ HOW-TO  ϴ. 
