  1997ǯ97 RPM HOWTO
  Donnie Barnes,djb@redhat.com 
    kanda@cmm.is.tohoku.ac.jp 
  V2.0, April 8, 1997

  Ԥꡧ伫ȡRPM λܤΤꤿ  HOWTO 
  ǡ RPM ˤĤƽ鿴ԤǤΤȤθƤɤߤޤ
  ºݤ RPM ѥåˤꡢŹ 
  <furutaka@Flux.tokai.jaeri.go.jp>в
  <ishioka@ppp01.infoPepper.or.jp>ˤäƽ񤫤줿 RPM-BUILD-HOWTO
  ɤߤˤʤ򤪴ᤷޤ  <yamagata@jwu.ac.jp>
  줿ΥС⻲ͤˤĺޤδְ㤤ϻŦ
  ĺȹǤ
  ______________________________________________________________________

  Table of Contents:

  1.      Ϥ

  2.      

  3.      Ūʾ

  3.1.    RPM 

  3.2.    RPM Τɬפʤ

  4.      RPM λ

  5.       RPM ǼºݤˤǤϲ

  6.      RPM ѥåκ

  6.1.    rpmrc ե

  6.2.    spec ե

  6.3.    إå

  6.4.    Prep

  6.5.    Build

  6.6.    Install

  6.7.    pre ,post 󥹥ȡ / 󥤥󥹥ȡ ץ (Ǥ)

  6.8.    Files

  6.9.    

  6.9.1.  ǥ쥯ȥ ĥ꡼

  6.9.2.  ƥ

  6.9.3.  եꥹȤ

  6.9.4.  RPM Ѥѥåκ

  6.10.   ƥ

  6.11.    RPM ѥåɤɤ

  6.12.   What Now?

  7.      ޥ ƥ RPM ѥåκ

  7.1.    ץ spec ե

  7.2.    optflags

  7.3.    ޥ

  7.4.    ѥå ƥ

  7.5.    Ǹ

  8.      
  ______________________________________________________________________

  1.  Ϥ

  RPM ȤϡRed Hat Package Manager λǤ̾ Red Hat Ȥ
  ʸޤޤƤޤïǤ⤬Ȥ륪ץѥåǤ桼
  ϿեȥΥɤñ˺ƺǤ륽ɷ
  ڤӴñ˥󥹥ȡ롢פǤХʥǥѥåǤ
  RPM ϤޤƤΥѥåڤӤ˴ޤޤեΥǡ١
  ݻޤΥǡ١ϥѥåˤĤƤξȹȥե
  (⤷)ѥåˤĤƤξФ䤤碌˻Ȥޤ
  Red Hat Software ¾Τ٥ RPM Ĵۥѥå
  ȤȤ夷ƤޤRPM ϤȤƤ絬ϤʥƥΤδä
  ޤǻȤ䤹ΤǤޤ˥ץͭפʤ
  ΤǤGPLβǻ̵˻ѵڤۤĤޤХݡ
  ȥХեå˴դƤޤ

  RPM ˤĤƤΤ괰ʸ Ed Bailey ˤMaximum RPMפΩ
  ޤܤ www.redhat.com  <http://www.redhat.com> 
  ɤ⤷ϹǤޤ

  2.  

  ϤˡRPM طʤˤůؤΤĤˤĤƽҤ٤Ƥ餤ޤ
  Ĥ߷ɸ "" λѤ;ϤĤȤǤRPP (RPM
  ʤ˻䤿ѥåΤѤƤƤƥ) 
  ϡ䤿Υѥå "ϥå줿" Ȥ˺
  ޤŪˤϡï⤬ RPP 򥤥󥹥ȡǤ̵
  make ǤޤϥꥸʥʤΤǤϤʤʤäƤޤޤ
  뤿˲ѹ줿ΤڤƤޤǤΥ
  ̤ˤäƥɤʤФʤʤޤǤRPM Ǥϡ
  䤿ѥ뤷ѥåȶ˸Υˤ뤳Ȥˤʤޤ
  䤿Ϥ礭ʥɥХơȸޤʤʤ餤Ĥͳ
  ޤĤϡ⤷ץοС󤬽ФȤRHLθ
  ѥ뤷뤿˥åϤɬפϤޤ󡥺Ȥ
  뤳Ȥɬפ⤷ʤȤĴ٤뤿˥ѥå򸫤뤳ȤǤޤ
  ƤΥѥλΥǥեȤ򤳤ˡǴñǧǤޤ

  RPM ϤޤϤ䤤碌ΥץĤ褦߷פƤޤ
  ѥå⤷ϳե뤿ǡ١̤Ƹ
  ȤǤޤޤե뤬ɤΥѥå°ƤƤ줬ɤ
  줿Τñ˸ĤФޤRPM եϤ켫Ȱ̤줿
  ֤ǤġΥѥåñˤ᤯䤤碌뤳Ȥ
  Ǥޤʤʤ顢̤ΥХʥإåʤҤäȤΤɬ
  פΤ뤳Ƥ󰵽̤ηǥѥåդäƤ뤫Ǥ
  Ϲ®䤤碌¸ޤ

  ¾ζϤħϡѥåξȹǽϤǤ⤷ѥåΤ
  פʥեäƤޤäۤʤ顢ȹ礷ƤߤƤ
  Ĥΰ۾̹𤵤Ǥ礦ǡɬפʤХѥåƥ
  󥹥ȡǤޤƤɤեƱͤ¸
  

  䤿 RPM¿Υǥȥ󥻥ץȤޤᤵƤä BOGUS
  ǥȥӥ塼˴դޤRPM ϴ Red Hat
  Software ˤäƽ񤫤ޤư BOGUS (PM  PMS) ˤä
  񤫤줿ɤ򸵤ˤƤޤ

  3.  Ūʾ

  3.1.  RPM 

  RPM ꤹ뤿ˤäȤ褤ˡϡRed Hat Linux 򥤥󥹥ȡ뤹
  뤳ȤǤ⤷ʤ˾ޤʤʤСǤRPM ꤷȤ
  ȤǤޤRPM  ftp.redhat.com
  <ftp://ftp.redhat.com/pub/redhat/code/rpm> Ǥޤ

  3.2.  RPM Τɬפʤ

  RPM ȤΤ˼ɬפȤʤΤ cpio 2.4.2  ʾΥС
  ǤΥƥ Linux ȶ˻ȤȤտޤƤޤ¾
  Unix ƥˤñ˰ܿǤǤ礦ºݡSunOSSolarisAIX
  IrixAmigaOS ʤɤǤ⥳ѥǤޤ:ۤʤäפ Unix
  ƥ줿ХʥѥåϸߴäƤʤǤ
  

   RPM ѥå򥤥󥹥ȡ뤹Τ˺ɬפʤΤǤ
   RPM ѥå뤿ˡʤ gccmake ʤɤΰ
  Ū˥ѥåΤɬפʤƤɬפǤ

  4.  RPM λ

  ѥå򥤥󥹥ȡ뤹뤿 RPM ȤΤϴñǤ.

        rpm -i foobar-1.0-1.i386.rpm

  ˴ñʥޥɤϡѥå򥢥󥤥󥹥ȡ뤹Ǥ

        rpm -e foobar

  ʣɤȤƤͭפʥޥɤΰĤ FTP 𤷤ƥѥå
  򥤥󥹥ȡ뤹Ǥ ⤷ͥåȥ³Ƥƿѥå
  򥤥󥹥ȡ뤷ΤʤСɬפʻ URL Υե̾
  ǤʲΤ褦ˡ

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

  : RPM   FTP ͳǡ䤤碌 (⤷) 󥹥ȡ뤷
  Ǥޤ󡥤ñʥޥɤǤrpm  Usage å
  狼褦¿ˡǻȤޤ

        RPM version 2.3.9
        Copyright (C) 1997 - Red Hat Software
        This may be freely redistributed under the terms of the GNU Public License

        usage: rpm {--help}
               rpm {--version}
               rpm {--initdb}   [--dbpath <dir>]
               rpm {--install -i} [-v] [--hash -h] [--percent] [--force] [--test]
                                [--replacepkgs] [--replacefiles] [--root <dir>]
                                [--excludedocs] [--includedocs] [--noscripts]
                                [--rcfile <file>] [--ignorearch] [--dbpath <dir>]
                                [--prefix <dir>] [--ignoreos] [--nodeps]
                                [--ftpproxy <host>] [--ftpport <port>]
                                file1.rpm ... fileN.rpm
               rpm {--upgrade -U} [-v] [--hash -h] [--percent] [--force] [--test]
                                [--oldpackage] [--root <dir>] [--noscripts]
                                [--excludedocs] [--includedocs] [--rcfile <file>]
                                [--ignorearch]  [--dbpath <dir>] [--prefix <dir>]
                                [--ftpproxy <host>] [--ftpport <port>]
                                [--ignoreos] [--nodeps] file1.rpm ... fileN.rpm
               rpm {--query -q} [-afpg] [-i] [-l] [-s] [-d] [-c] [-v] [-R]
                                [--scripts] [--root <dir>] [--rcfile <file>]
                                [--whatprovides] [--whatrequires] [--requires]
                                [--ftpuseport] [--ftpproxy <host>] [--ftpport <port>]
                                [--provides] [--dump] [--dbpath <dir>] [targets]
               rpm {--verify -V -y} [-afpg] [--root <dir>] [--rcfile <file>]
                                [--dbpath <dir>] [--nodeps] [--nofiles] [--noscripts]
                                [--nomd5] [targets]
               rpm {--setperms} [-afpg] [target]
               rpm {--setugids} [-afpg] [target]
               rpm {--erase -e} [--root <dir>] [--noscripts] [--rcfile <file>]
                                [--dbpath <dir>] [--nodeps] [--allmatches]
                                package1 ... packageN
               rpm {-b|t}[plciba] [-v] [--short-circuit] [--clean] [--rcfile  <file>]
                                [--sign] [--test] [--timecheck <s>] specfile
               rpm {--rebuild} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm
               rpm {--recompile} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm
               rpm {--resign} [--rcfile <file>] package1 package2 ... packageN
               rpm {--addsign} [--rcfile <file>] package1 package2 ... packageN
               rpm {--checksig -K} [--nopgp] [--nomd5] [--rcfile <file>]
                                   package1 ... packageN
               rpm {--rebuilddb} [--rcfile <file>] [--dbpath <dir>]
               rpm {--querytags}

  RPM  man ڡ˰ʾΥץ󤬲ξܺ٤򸫤Ǥޤ
  [줿rpm.8  <http://www.com.cs.osakafu-u.ac.jp/~furu-
  sawa/jrpm/> 뤳ȤǤޤ]

  5.   RPM ǼºݤˤǤϲ

  RPM ϤȤƤͭפʥġǡ¸Τ̤ꤤĤΥץ󤬤
  ΰ̣򤹤뤿˰֤ˡϤĤ򸫤Ǥ
  ޤǤ ñʥ󥹥ȡ(󥤥󥹥ȡ)򤷤ޤΤǡ
  ǤϤĤ򼨤ޤ

  o  ǥȤˤäƤĤΥեõƤޤⲿ
     ΤԳΤǤȤޤ礦⤷ƥ˾ȹ礷򼺤
     ΤꤿʤСʲΤ褦ˤפǤ

        rpm -Va

  o  ФΤʤեȯȤޤ礦ϤɤΥѥå
     ΤΤǤ뤫򸫤Ĥ뤿ˡʲΤ褦ˤפǤ

        rpm -qf /usr/X11R6/bin/xjewel

     νϤϰʲΤ褦ˤʤޤ

        xjewel-1.6-1

  o   koules RPM 򸫤Ĥ줬Ǥ뤫Τʤˤϡ
     Τ褦ˤвޤ

        rpm -qpi koules-1.2-2.i386.rpm

     νϤϰʲΤ褦ˤʤޤ

        Name        : koules                      Distribution: Red Hat Linux Colgate
        Version     : 1.2                               Vendor: Red Hat Software
        Release     : 2                             Build Date: Mon Sep 02 11:59:12 1996
        Install date: (none)                        Build Host: porky.redhat.com
        Group       : Games                         Source RPM: koules-1.2-2.src.rpm
        Size        : 614939
        Summary     : SVGAlib action game with multiplayer, network, and sound support
        Description :
        This arcade-style game is novel in conception and excellent in execution.
        No shooting, no blood, no guts, no gore.  The play is simple, but you
        still must develop skill to play.  This version uses SVGAlib to
        run on a graphics console.

  o  󥹥ȡ뤹 koules RPM ˤϤɤΤ褦ʥե뤬ޤޤ뤫Τ
     ˤϰʲΤ褦ˤƤ

        rpm -qpl koules-1.2-2.i386.rpm

     νϤϰʲΤ褦ˤʤޤ

        /usr/doc/koules
        /usr/doc/koules/ANNOUNCE
        /usr/doc/koules/BUGS
        /usr/doc/koules/COMPILE.OS2
        /usr/doc/koules/COPYING
        /usr/doc/koules/Card
        /usr/doc/koules/ChangeLog
        /usr/doc/koules/INSTALLATION
        /usr/doc/koules/Icon.xpm
        /usr/doc/koules/Icon2.xpm
        /usr/doc/koules/Koules.FAQ
        /usr/doc/koules/Koules.xpm
        /usr/doc/koules/README
        /usr/doc/koules/TODO
        /usr/games/koules
        /usr/games/koules.svga
        /usr/games/koules.tcl
        /usr/man/man6/koules.svga.6

     ϤۤοǤ RPM ˿ƤФ¤Ūʻñ˻
     ĤǤޤ

  6.  RPM ѥåκ

  RPM ѥåκñǤä˺褦ȤƤ륽եȥ
  ʤʤǤ

  RPM Ūʲϰʲ̤Ǥ

  o  ʤΥƥŬ礹褦 /etc/rpmrc μ¤ꤷޤ

  o  ʤΥƥ RPM 뤿˥ɤޤ

  o  뤿ɬפʥؤѹѥåˤޤ

  o  ѥåΤ spec եޤ

  o  ƤʪˤƤǧޤ

  o  RPM Ѥƥѥåޤ

  ŪβǡRPM ϥХʥȥѥåޤ

  6.1.  rpmrc ե

  ߡRPM  /etc/rpmrc եΤߤͭǤ㤨аʲΤ褦
  ˤʤޤ [ǥեȤȤơ/usr/lib/rpmrc ȤΤ
  ꡢĿͤեȤƸĿͤΥۡǥ쥯ȥ .rpmrc ֤
  ȤǤޤ]

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

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

        signature: pgp
        pgp_name: Mickeysoft Packaging Account
        pgp_path: /home/packages/.pgp

        tmppath: /usr/tmp

  require_vendor ιԤ /etc/rpmrc ⤷ spec եΥإå
  vendor ιԤõȤޤ̵ˤˤϡʥС 0 Ѥ
  Ʋrequire_distribution  require_group ιԤƱͤǤ

  ιԤ distribution ԤǤ spec եΥإåǤ
  ޤvender ԤƱͤǤǤ褤Ǥ(㡢Joe's Software and
  Rock Music Emporium)

  RPM ϤޤʣΥƥǥѥå򥵥ݡ
  Ƥޤrpmrc եϺ˥ƥͭΥե饰
  褦ʥѥåΤɬפ"optflag" ѿĻǤ
  

  嵭ΥޥդäơˤĤޤ

        rpm --showrc

  ȤСɤΤ褦ʥꤵ졢ͭƤΥե饰ϲ狼
  

  6.2.  spec ե

  sepc եˤĤƽҤ٤ƹԤޤspec եϥѥå
  뤿ɬפǤspec եϺλλؼޤॽեȥ
  ȥ󥹥ȡ뤵ƤΥХʥեΥꥹȤǤ

  ɸŪʵ§˽ä spec ե̾դۤ褤Ǥ礦
  ϡѥå̾-å-Сֹ-å-꡼ֹ- ɥ
  -spec Ȥ٤Ǥ

  ˴ñ spec ե뤬ޤ(vim-3.0-1.spec) [
  vim-3.0-1.spec Ȥޤeject-1.4-3.spec Ǥ礦]

        Summary: ejects ejectable media and controls auto ejection
        Name: eject
        Version: 1.4
        Release: 3
        Copyright: GPL
        Group: Utilities/System
        Source: sunsite.unc.edu:/pub/Linux/utils/disk-management/eject-1.4.tar.gz
        Patch: eject-1.4-make.patch
        Patch1: eject-1.4-jaz.patch
        %description
        This program allows the user to eject media that is autoejecting like
        CD-ROMs, Jaz and Zip drives, and floppy drives on SPARC machines.

        %prep
        %setup
        %patch -p1
        %patch1 -p1

        %build
        make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

        %install
        install -s -m 755 -o 0 -g 0 eject /usr/bin/eject
        install -m 644 -o 0 -g 0 eject.1 /usr/man/man1

        %files
        %doc README COPYING ChangeLog

        /usr/bin/eject
        /usr/man/man1/eject.1

  6.3.  إå

  إåϽ񤭹ɬפΤ뤤ĤɸŪʥեɤޤޤ
  ĤդޤեɤϰʲΤ褦˽񤭹ޤʤФʤ
  

  o  Summary: ϰԤΥѥåǤ

  o  Name: ϻȤȤƤ rpm ե̾ˤʸǤʤ
     ʤޤ
  o  Version: ϻȤȤƤ rpm ե̾ΥСֹ
     ǤʤФʤޤ

  o  Release: ƱСΥѥåΤΥ꡼ֹǤ
     (㤨Сѥå줬鷺˲ƤΤȯٺ
     ɬפʤСΥѥåΥ꡼ֹ2Ȥʤ
     )

  o  Icon: ¾ι٥ʥ󥹥ȡġ(Red Hat  "glint"
     )Ѥ٤Υ̾Ǥgif ե SOURCES ǥ
     ȥ֤ʤФʤޤ

  o  Source: ιԤϸΥեΥۡؤޤ
     Ƥӥե줿ȤСå
     ˻ȤޤաιԤΥե̾ȤʤΥƥ˻
     ĥե̾ϰפƤʤФʤޤ(㤨Сե
     ɤ̾ѤƤϤޤ) İʾΥ
     եϰʲΤ褦˽񤭤ޤ

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

     Υե SOURCES ǥ쥯ȥ֤ޤ(ǥ쥯ȥ깽
     ¤ϸ  " ǥ쥯ȥ ĥ꡼" ǰޤ)

  o  Patch: ϺƤӥѥåɤɬפˤ򸫤
     ΤǤǤաʤʬǺѥå
     ե̾ϻȤ̾ȰפʤФʤޤ㤨аʲΤ褦
     

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

     Υե SOURCES ǥ쥯ȥ֤ޤ

  o  Copyright: ιԤϥѥåɤΤ褦Ǥ뤫ɽޤ
     GPLBSDMITpublic domaindistributablecommercial ͤʤ
     Ȥ٤Ǥ

  o  BuildRoot: ιԤϿѥå󥹥ȡ뤹뤿
     "롼" Υǥ쥯ȥޤʤΥޥ˥󥹥ȡ
     ˥ѥåƥȤΤ뤿˻ȤǤޤ
     [˵ҤǤϡӥƥȤϤǤޤ󡥾ܤ
     ϡRPM-BUILD-HOWTO ɤɤǤ礦]

  o  Group: ιԤϹ٥ʥ󥹥ȡץ(Red Hat  "glint"
     Τ褦)˳ع¤ǤΥץबɤ°Τ
     ˤĤޤߤ 롼 ĥ꡼ϰʲΤ褦ˤʤäƤ
     [ܸ Extensions/Japanese ȤΤޤ]

        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

  o  %description ϥإåιܤǤϤޤ󡢤إå
     ˵Ҥ٤Ǥѥå(⤷)֥ѥå˰
     (description)ΥɬפǤϥѥåŪ
     Ϳ뤿˻Ȥ٤ʣԤΥեɤǤ

  6.4.  Prep

  ϡspec ե2ܤΥǤѤ˽륽
  뤿˻ȤޤǡѥåƤ줿뤿ɬ
  פʻ make 뤿ɬפʽ򤷤ޤ

  աƥϥ륹ץȤºݤ˼¹Ԥ뤿ξǤ
  ñ sh ץȤषѥåƤ뤿 %prep
  θˤ֤Ǥޤʤ顢ˤϾ嵭λ
  ٱ礹뤿Υޥޤ

  κǽޥΤϡ%setup ޥǤΤäȤñʷ(
  ɥ饤Υץʤ)ñ˥ष Ǥǥ쥯
   cd ǤʲΥץ󤬤ޤ

  o  -n name 󤵤줿 name ˺ǥ쥯ȥ̾򥻥åȤޤ
     ǥեȤ $NAME-VERSION Ǥ¾βǽȤ $NAME
     ${NAME}${VERION}ᥤ tar ե뤬ѤƤΤǤ(
      "$" ѿ spec եѿǤʤդƲ
     ϻͤΤˤǻȤ줿ΤǤºݤˤѿǤϤ
     ѥå̾ȥСȤɬפޤ)

  o  -c  tar եह̾դ줿ǥ쥯ȥꤽ
      cd ޤ

  o  -b # ϥǥ쥯ȥ cd  Source#  (untar)ޤ
     ( -c ץȰѤΤϰ̣ޤ󡢤ʤǲ
     ) ʣΥե뤬ΤΩޤ

  o  -a #  ǥ쥯ȥ cd  Source# (untar)ޤ

  o  -T Υץϥ(untar)Υǥեư̵ˤ
     (untar)줿ᥤΥե뤿 -b 0 ⤷
      -a 0 ɬפȤޤ2ĤΥˤɬפȤޤ

  o  -D ϲह˥ǥ쥯ȥõޤ󡥤 setup ޥ
     ʣΤͭѤǤǽ setup ޥθ setup ޥǤ
     ߻Ȥ٤Ǥ(褷ƺǽ setup ޥǻȤʤǲ)

     ͭפʥޥ %patch ޥǤΥޥϥ˥ѥå
     ƤμưޤĤΥץ󤬤ꤽϰʲ
     ̤Ǥ

  o  # ϥѥåեȤ Patch# Ѥޤ

  o  -p # patch(1) ޥɤΤμǥ쥯ȥο
     

  o  -P ǥեȤưǤ Patch (⤷ Patch0)ƤޤΥե
     ϥǥեȤưػߤΤǲ(untar)줿ե
     뤿 0 ɬפȤޤΥץϺǽΥޥȰۤʤ
     ֹ2(⤷Ϥʹ) %patch ޥͭѤ
     

  o   %patch # -p ޥɤ %patch# Ȥޤ

     ʾɬפʥޥǤҤˡsh 
     ץȤѤ¾Τɬפʥåȥåפ򤹤Ǥ
     %build ޥ(ϼޤ) sh ͳƼ¹Ԥ
     ޤǲǤޤޤǹԤηϾ嵭򸫤Ʋ
     

  6.5.  Build

  ΥˤϥޥϤޤ󡥥(untar)ѥå
  ơǥ쥯ȥ cd ʤ餳Ǥñ˥եȥ뤿
  ɬפʥޥɤ򵭽ҤƲñ sh Ϥ¾Υޥɤν
  ޤʤΤǡɤʹˡŪ sh Υޥ(Ȥޤ)Ǥ⤳Ǽ¹
  Ǥޤ[ϥȤ߹ߥޥɤλ򤤤äƤ
  ǤϤޤ]ΥγơǺȥǥ쥯ȥϥ
  ǥ쥯ȥΰ־˥ꥻåȤޤΤǤФƤƲ
  ɬפʤХ֥ǥ쥯ȥ cd Ʋ

  6.6.  Install

  ˤޥϤޤ󡥴Ūˤ˥󥹥ȡɬפʥޥ
  ʤ鲿Ǥ֤ޤѥå make install ͭʤ顢
  ֤ޤǤʤΤʤ顢make install ΰ٤ makefile ؤΥѥ
  ơmake install 򤹤뤫sh ޥɤˤäƼưǥ󥹥ȡ
  Ǥޤߤκȥǥ쥯ȥ꤬ǥ쥯ȥΥȥåץ
  ٥ǤθƲ

  6.7.  pre ,post 󥹥ȡ / 󥤥󥹥ȡ ץ (Ǥ)

  ХʥѥåΥ󥹥ȡ / 󥤥󥹥ȡ Ԥȸ˼¹
  륹ץȤ򤳤֤Ǥޤɥ饤֥ޤѥ
   󥹥ȡ⤷ϥ󥤥󥹥ȡ뤷 ldconfig ¹
  褦ʻ򤹤뤿ˤΥޤʲ˳ơΥץȤΤ
  Υޥޤ

  o  %pre ϥ󥹥ȡ뤹ΥץȤΥޥǤ

  o  %post ϥ󥹥ȡ뤷ΥץȤΤΥޥǤ

  o  %preun ϥ󥤥󥹥ȡ뤹ΥץȤΤΥޥǤ

  o  %postun  󥤥󥹥ȡ뤷ΥץȤΤΥޥǤ

  6.8.  Files

  ΥϥХʥѥåΤΥեΰɽʤ
  ФʤޤRPM  make install η̤ɤΥХʥ꤬󥹥ȡ뤵
  ΤΤˡʤǤ򤹤ˡϤޤ! ѥå
  󥹥ȡȸ find ¹ԤФ褤ΤǤϤʤȵ˻פͤ
  뤫⤷ޤ󡥥ޥ桼ƥˤơѥåȴط
  ʤե뤬ѥåƤδ֤˺Ƥ뤫⤷
  ΤǤϼޤ

  Ʊ̤ͤʻ򤹤뤿ͭʥޥĤޤʲ
  ޤ

  o  %doc ϥХʥ򥤥󥹥ȡ뤹ݤ˥󥹥ȡ뤷ѥå
     ΥɥȤ˰դΤ˻ȤޤɥȤ
     /usr/doc/$NAME-$VERSION-$RELEASE ˥󥹥ȡ뤵ޤΥޥ
     Ȥäƥޥɥ饤ʣΥɥȤΰ󤹤뤫
     ɥȤȤ˥ޥȤä̡󤹤뤳ȤǤޤ

  o  %config ϥѥåե˰դΤ˻Ȥޤ
      sendmail.cfpasswd ʤɤΤ褦ʤΤޤߤޤ⤷
     եޤѥå򥢥󥤥󥹥ȡ뤹ʤСѹƤ
     ʤեϺ졢ѹ줿եϤȥե̾ˤΥ
     ǤƱʣΥեΰǤޤ

  o  %dir ѥåˤäƽͭޤޤեñΥǥ
     ȥ˰դޤǥեȤǤϡ%dir ޥȤ鷺˥ǥ쥯
     ȥ̾ɽʤ顢Υǥ쥯ȥƤե˴ޤ
     줽ƸˤΥѥåΰȤƥ󥹥ȡ뤵ޤ

  o  %files -f <filename> ϥκǥ쥯ȥǤդΥե
     ꥹȤ˲äǤޤϥѥåȤΥեꥹȤ
     ǤѥåǤλˤ
     եꥹȤޤޤä˥եɽƤϤʤ
     

  եκϥǥ쥯ȥΰǤ⤷ְä
  /usr/bin ˵Ƥޤä顢ХʥѥåϤʤΥ
   /usr/bin ƤΥեޤǤޤޤ

  6.9.  

  6.9.1.  ǥ쥯ȥ ĥ꡼

  ޤǽɬפʻϡꤵ줿ǥ쥯ȥĥ꡼Ǥ
   /etc/rpmrc եѤǽǤ¿ο͡ /usr/src 
  ȤǤ礦

  ǥ쥯ȥĥ꡼뤿˰ʲΥǥ쥯ȥɬפ
  뤫⤷ޤ

  o  BUILD  RPM ˤƤκԤǥ쥯ȥǤä¾ξ
     ǺΥƥȤԤɬפϤޤ󤬡 RPM Ѥ
     ȤǤ

  o  SOURCES ϥꥸʥΥ(tar)եȥѥå֤ǥ쥯ȥ
     ǤϡRPM ǥեȤõǥ쥯ȥǤ

  o  SPECS Ƥ spec ե֤ǥ쥯ȥǤ

  o  RPMS  RPM Хʥ RPM ѥå֤ǥ쥯ȥǤ

  o  SRPMS  ƤΥ RPM ѥå֤ǥ쥯ȥǤ

  6.9.2.  ƥ

  餯ǽˤȤϡRPM Ѥ˺뤿Υĥ꡼
  뤳ȤǤ礦򤹤뤿ˡषǥ쥯ȥ̾
  $NAME.orig ѹƲƤ⤦٥षƲ
  ƤΥ˻ѤƲǥ쥯ȥ
  λؼˤäƲ⤷Խ򤷤ʤФʤʤʤ顢
  ѥåɬפȤʤޤ٤뤿˥ǥ쥯ȥ򤭤줤
  ˤޤ./configure ץȤˤ줿եǧ
  ޤ[פˡ make ȯ֤ˤɤȤ
  ] ơǥ쥯ȥοƥǥ쥯ȥ cd ޤʲΤ
  ˤޤ

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

  ϡspec եǻѲǽʥѥåޤ嵭"linux"ñ
  ˼̻ҤǤ뤳ȤդƲʤѥåʤФʤʤ
  뤿 "config"  "bugs" ͤʤŪʤΤȤäƤ
  褤Ǥ礦ְäƥХʥޤʤ褦˳ǧ뤿˺
  ѥåѤĴ٤ΤϤ褤ͤǤ

  6.9.3.  եꥹȤ

  뤿Υˤ졢ɤäƺ뤫狼äʤ
  С󥹥ȡ뤷ޤ󥹥ȡη̤νϤ spec ե
  Ѥ뤿ΥեꥹȤޤ䤿ϡƤƤΥ
  ƥåפ¹Ԥ spec եƤޤǽΥեꥹȤ
  ƴñʬ񤭹ߡƽɤäƤޤ

  6.9.4.  RPM Ѥѥåκ

  spec ե񤭽ʤ顢ѥåǤޤ
  äȤͭˡϡʲΤ褦ʥޥɤȤȤǤ

        rpm -ba foobar-1.0.spec

  -b åˤϰʲΤ褦ͭѤʥץ󤬤ޤ

  o  p  spec ե prep ¹Ԥޤ

  o  l  %files ΥꥹȤåޤ

  o  c  prep ¹Ԥ ѥԤޤϥ
     ˹ۤǤΤɤԳμ¤ʻΩޤۤ
     줫 RPM ȤϤޤǤϡΤߤǺȤ³Ǥ礦
     顢ΩʤȻפޤö RPM ȤΤ˴Ƥ
     СȤ㤬ĤǤ礦 [%Build ͭ
     ǧ뤰餤Ǥ礦]

  o  i  prep ¹Ԥѥ 󥹥ȡԤޤ

  o  b  prep ¹Ԥѥ 󥹥ȡԤХ
     ѥåΤߤޤ

  o  a Ƥޤ(ȥХʥΥѥåξ)

  -b åˤϰʲΤ褦ʤĤѹҤޤ

  o  --short-circuit ϻꤵ줿Фޤ(c  i ǤΤ߻Ѥ
     ޤ)

  o  --clean ϥѥåκä˺ǥ쥯ȥĥ꡼
     õޤ

  o  --keep-temps  /tmp ʲ˺줿ƤΰեȥץȤ
     ¸ޤ¤ -v ץѤ뤳Ȥˤ /tmp ˺줿
     ե򸫤뤳ȤǤޤ

  o  --test ϼºݤˤϤɤν¹ԤϤޤ󤬡keep-temp ϹԤޤ

  6.10.  ƥ

  ä󡢥ڤӥХʥ rpm ѥå顢ƥ
  ȤɬפޤǤñɤˡϡѥåޥ
  ۤʤäޥǥƥȤǤʤʤ顢ʤΥޥ
  ٤ make install 򤷤ƤΤǡȥ󥹥ȡ뤵Ϥ
  Ǥ

  ƥȤΤ rpm -u ѥå̾ Ȥ뤳ȤǤޤ[
   typo  rpm -e Ǥ礦rpm -u ϸߤǤưޤ ]
  ѥåλ make install ¹ԤƤΤǴְ㤦⤢
  ޤ⤷եꥹȤ˱̤줬ȡ󥤥󥹥ȡ뤵ޤ󡥤
  λˤϥХʥѥåƥ󥹥ȡ뤷ƥƥƤӴʤ
  ˤޤ rpm ѥåϤޤǤϤޤ󡥤ʤϡ
  rpm -ba specե̾ 򤷤Ȥ򤷤ä꿴˻ߤƤ
  ¿ο͡ ѥå򥤥󥹥ȡ뤹Τ rpm -i ѥå
  ̾ ԤǤХʥ꤬󥹥ȡ뤵ɬפʻ
  build  install ǲ⤷ƤʤȤǧƤ
  

  6.11.   RPM ѥåɤɤ

  ä󡢤ʤ RPM ѥåʤ(Ǥ˲ RPM 
  Ȳꤷޤ)ʤκѥå¾οͤ˹׸Ǥ
  ( RPM ѥåͳ۲ǽʤΤȤޤ)뤿
  ˡftp.redhat.com ˥åץɤƤ
  <ftp://ftp.redhat.com>

  6.12.  What Now?

   RPM ѥåǤ뤳ȤȥƥȤ˴ؤƤϾ嵭Υ
  Ƥã ǽ Ƥ RPM ѥå罸Ƥޤ
  ơ餬餷 RPM ѥåǤ뤳Ȥ˾Ǥޤ
  ѥå褯֤򤫤ƥƥȤƤơͤ
  פΤˤ򥢥åץɤ뤿˻֤򤫤ƤƱͤˡ
  ͳۤǤ륽եȥΤߤ򥢥åץɤ褦ˤƤ
  ѥեȥڤӥϤϤäȼͳۤ
  ڤƤʤ¤ꥢåץɤ٤ǤϤޤ󡥤
  ˤϡNetscape եȥsshpgp ޤޤޤ

  7.  ޥ ƥ RPM ѥåκ

  RPM ϸ Intel i386Degital AlphaSparc Ѥ˥ѥå뤿
  ˻ȤǤޤSGI  HP ΥơǤƱͤư
  𤵤ƤޤƤΥץåȥեǴñ˥ѥå
  뤿ħĤޤޤ /etc/rpmrc  "optflag"
  λؼǤϥեȥ˻Ȥե饰򥢡ƥ
  ͭͤꤹ뤿˻ȤǤޤ¾εǽȤ spec ե
   "arch" ޥޤϺ륢ƥ˰¸
  ۤʤȤ򤹤뤿˻ȤǤޤ¾ˡإå "Exclude"
  λؼǤ

  7.1.  ץ spec ե

  ʲ "fileutils" ѥå spec եΰǤ Alpha 
  Intel ξ뤿ιǤ

        Summary: GNU File Utilities
        Name: fileutils
        Version: 3.16
        Release: 1
        Copyright: GPL
        Group: Utilities/File
        Source0: prep.ai.mit.edu:/pub/gnu/fileutils-3.16.tar.gz
        Source1: DIR_COLORS
        Patch: fileutils-3.16-mktime.patch

        %description
        These are the GNU file management utilities.  It includes programs
        to copy, move, list, etc, files.

        The ls program in this package now incorporates color ls!

        %prep
        %setup

        %ifarch alpha
        %patch -p1
        autoconf
        %endif
        %build
        configure --prefix=/usr --exec-prefix=/
        make CFLAGS="$RPM_OPT_FLAGS" LDFLAGS=-s

        %install
        rm -f /usr/info/fileutils*
        make install
        gzip -9nf /usr/info/fileutils*

  7.2.  optflags

  ǤϡɤΤ褦 /etc/rpmrc  "optflags" λؼȤƤ
  ʬǤ礦ʤƤ륢ƥ˰¸Ŭ
   RPM_OPT_FLAGS ͿƤޤѤƤ(-m486  -O2 Τ褦
  ) ̾λؼˤѿѤˤϡѥå Makefile 
  ѥåƤʤФʤޤ󡥤Υѥå򥤥󥹥ȡ뤹
  ȤˤäɬפȤʤ뤳Ȥ򥽡ष Makefile Ĵ٤뤳Ȥ
  ɤȴǤ礦λMakefile ΤΥѥå򤷤١
  ͤФʤʤ򸫤Ƥ

  7.3.  ޥ

  %ifarch ޥϤȤƤפǤ¿ξĤΥѥå⤷Υ
  ƥѤĤΥѥåɬפǤ礦Τ褦ʾ
  硢RPM ŬƥѤΥѥåΤߤƤ뤳ȤǤޤ

  嵭Ȥơfileutils 64ӥåȥޥΥѥåäƤޤ
  餫ˡ Alpha ˤΤƤ٤Ǥǡã
  ϡ64ӥåȥѥåΤȤ %ifarch ޥդäޤ

        %ifarch axp
        %patch1 -p1
        %endif

   Alpha ʳΥƥˤƤʤѥåǤ뤳Ȥ
  ڤޤ
  7.4.  ѥå ƥ

  ƤΥץåȥۡΤ˰ĤΥǥ쥯ȥǥ RPM ѥå
  ƥʥ󥹤Ǥ褦ˤ뤿ˡãϤ륢ƥǺ
  뤳Ȥѥå""뤿εǽޤϰ
  Τ褦˼¹ԤǤޤ

        rpm --rebuild /usr/src/SRPMS/*.rpm

  ѥåޤ⤷ץåȥۡ˥
  ꥱܿƤʤΤʤСʤʤФʤʤ
  Ƥϥѥå spec եΥإå˰ʲΤ褦ʰԤդ
  뤳ȤǤ

        ExcludeArch: axp

  Τ褦ˤƤ顢ץåȥۡǥѥåƺƤ
  Сʤ Intel Ǻ뤿Υѥå
  ˤ뤳ȤˤʤꡢAlpha ʬϴñФȤǤޤ

  7.5.  Ǹ

  ޥ ƥѤΥѥå뤿 RPM Ѥ뤳Ȥ
  ƤѥåξΥƥǺñǤ
  ʤ顢ΤȤƤ񤷤ѥåФñ
  ʤäƤޤĤΤ褦ˡRPM ѥåΤˤĤޤä
  ˺Ǥ褤Ȥʤ뤳Ȥϻ褦ʥѥåĴ٤뤳ȤǤ

  8.  

  ʸƤˤäݸƤޤʸκۤ
  ȤΤޤޤ̵ѹǤ˸¤ޤСʸ
  ηѹڤžܤ⤷ϺۤΤߤĤޤ

  [ԤꡧʬϸʸǺܤƤޤ]

  This document and its contents are copyright protected.
  Redistribution of this document is permitted as long as the content
  remains completely intact and unchanged.  In other words, you may
  reformat and reprint or redistribute only.

