RPM HOWTO Donnie Barnes,djb@redhat.com V2.0, April 8, 1997 _c [ kanda@cmm.is.tohoku.ac.jp 1997N97ú óÒæèF©gARPM ÌðÚµmè½¢½ßÉ ±Ì HOWTO ðóµ½Ì ÅA RPM É¢ÄSÒÅ·D»Ì±Æðl¶µÄ¨Çݾ³¢DܽA ÀÛÌ RPM pbP[Wð쬷éÉ ½èAà aõ <furutaka@Flux.tokai.jaeri.go.jp>³ñÆΪ ®<ishioka@ppp01.infoPepper.or.jp>³ñÉæÁÄ©ê½ RPM-BUILD-HOWTO ð¨ÇÝÉÈéð¨©ßµÜ·DRãp Ö <yamagata@jwu.ac.jp>³ñª|ó ³ê½OÌo[WàQlɳ¹Ä¸«Üµ½D|óÌÔá¢ÍwEµÄ ½¸¯éÆK¢Å·D ______________________________________________________________________ Ú 1. ͶßÉ 2. TÏ 3. êÊIÈîñ 3.1 RPM Ìüè 3.2 RPM ̽ßÉKvÈàÌ 4. RPM Ìgp 5. »Ý RPM ÅÀÛÉÅ«éͽ© 6. RPM pbP[WÌì¬ 6.1 rpmrc t@C 6.2 spec t@C 6.3 wb_ 6.4 Prep 6.5 Build 6.6 Install 6.7 pre ,post CXg[ / ACXg[ XNvg (CÓ) 6.8 Files 6.9 ì¬ 6.9.1 \[XfBNg c[ 6.9.2 ì¬eXg 6.9.3 t@CXg̶¬ 6.9.4 RPM ðp¢½pbP[WÌì¬ 6.10 eXg 6.11 Vµì¬µ½ RPM pbP[WðǤ·êÎÇ¢©D 6.12 What Now? 7. }` A[LeN`p RPM pbP[WÌì¬ 7.1 Tv spec t@C 7.2 optflags 7.3 }N 7.4 pbP[W©ç A[LeN`ðO·é 7.5 ÅãÉ 8. ì m ______________________________________________________________________ 1. ͶßÉ RPM ÆÍARed Hat Package Manager ÌÅ·D¼OÌÉ Red Hat Æ¢¤ ¶ªÜÜêĢܷªANÅàªg¦éI[vpbP[WÅ·D[U[ ÍVµ¢\tgEFAÌ\[XR[h©çÈPÉÄì¬Å«é\[XR[h` ®yÑÈPÉCXg[AÇÕÅ«éoCi`®ÅpbP[WÅ«Ü ·DRPM ÍܽSÄÌpbP[WyÑ»êçÉÜÜêét@CÌf[^x[ Xð۵ܷD±Ìf[^x[XÍpbP[WÉ¢ÄÌÆÆt@C Æ(àµÍ)pbP[WÉ¢ÄÌîñÉηéâ¢í¹ÉgíêÜ·D Red Hat Software ͼÌ×_[ª RPM 𲸵ÄÞçÌzzpbP[WÉ g¤±Æð§ãµÄ¢Ü·DRPM ÍÆÄàåKÍÈVXe̽ßÌîbðñ µÜ·ªS_îÅg¢â·¢àÌÅ·DܽA®SÉI[vÅLvÈà ÌÅ·DGPL̺Ågp¿³µÉgpyÑzzðµܷªAoO|[g ÆoOtBbNXɴӵĢܷD RPM É¢ÄÌæè®SÈ¶Í Ed Bailey ÉæéuMaximum RPMvªðɧ ¿Ü·D±Ì{Í www.redhat.com <http://www.redhat.com> ©ç_E [hàµÍwüÅ«Ü·D 2. TÏ Í¶ßÉARPM ÌwiÉ éNw̢©É¢Äq׳¹Äàç¢Ü·D êÂÌÝvÚWÍ "³Ì" \[XÌgpÌ]nðc·±Æŵ½DRPP (RPM ªÈ¢ÈOɽ¿ªpbP[W·éÌÉpµÄ¢½µÄ¢½VXe) Å ÍA½¿Ì\[XpbP[WÍ "nbN³ê½" \[XðàÆÉ쬳êÄ ¢Üµ½D_IÉÍANàª\[X RPP ðCXg[Å«âè³µÉ make Å«Ü·Dµ©µ\[XÍIWiÈàÌÅÍÈÈÁĵܢܵ ½µA쬷é½ßɽªÏX³ê½Ì©¾y³êĢܹñŵ½D³Ì\ [XÍÊÉ ÁÄ_E[hµÈ¯êÎÈçÈèܹñŵ½DRPM ÅÍA ½¿ªRpCµ½pb`ÆɳÌ\[XðèÉ·é±ÆÉÈèÜ·D ½¿Í±êðå«ÈAhoe[WÆ©Ü·DȺÈç¢Â©ÌRª èÜ·DêÂÍAàµvOÌVµ¢o[Wªo½Æ«ARHL̳ŠRpCµÄ¾é½ßÉXNb`©çͶßéKvÍ èܹñDìÆ· é±ÆªKv©àµêÈ¢±Æð²×é½ßÉpb`ð©é±ÆªÅ«Ü·D SÄÌRpCÌÌftHgð±Ìû@ÅÈPÉF¯Å«Ü·D RPM ÍܽÍÈâ¢í¹ÌIvVðÂæ¤ÉÝv³êĢܷD pbP[WàµÍY·ét@C½ßÌSf[^x[XðʵÄõ·é ±ÆªÅ«Ü·DܽAt@CªÇÌpbP[WÉ®µÄ¢Ä»êªÇ±ì çê½Ì©ðÈPɩ¯o¹Ü·DRPM t@CÍ»ê©g³k³ê½A[ JCuÅ·Dµ©µÂXÌpbP[WðÈPÉ©Âfâ¢í¹é±Æª Å«Ü·DȺÈçAÁÊÌoCiwb_ª ȽªÐåÁƵ½çméK vÌ é±ÆSÄðñ³kÌ`ÅpbP[WÉt¯Á¦çêÄ¢é©çÅ·D ±êͬÈâ¢í¹ðÀ»µÜ·D ¼ÌÍÈÁ¥ÍApbP[WÌÆ\ÍÅ·DൠépbP[W̽ßÌ dvÈt@CðÁµÄµÜÁ½©SzÈçA»êðƵÄÝľ³¢D ô©ÌÙíðʳêéŵå¤D±Ì_ÅAKvÈçÎpbP[WðÄC Xg[Å«Ü·DµÄ¢½ÇñÈÝèt@Cà¯lÉÛ¶³êÜ ·D ½¿Í RPMɽÌACfBAÆRZvgðÜß³¹ÄàçÁ½ BOGUS fBXgr [VÌûXɴӵܷDRPM Í®SÉ Red Hat Software ÉæÁÄ©êܵ½ªA»Ì®ìÍ BOGUS (PM Æ PMS) ÉæÁÄ ©ê½R[hð³ÉµÄ¢Ü·D 3. êÊIÈîñ 3.1. RPM Ìüè RPM ðüè·é½ßÉàÁÆàæ¢û@ÍARed Hat Linux ðCXg[· é±ÆÅ·DൠȽª»êð]ÜÈ¢ÈçÎA»êÅàRPM ðüèµg¤ ±ÆªÅ«Ü·DRPM Í ftp.redhat.com <ftp://ftp.redhat.com/pub/redhat/code/rpm> ©çæ¾Å«Ü·D 3.2. RPM ̽ßÉKvÈàÌ RPM ðg¤ÌÉåÉKvÆÈéàÌÍ cpio 2.4.2 © »êÈãÌo[W Å·D±ÌVXeÍ Linux ÆÉg¤±ÆðÓ}³êĢܷªA¼Ì Unix VXeÉàÈPÉÚAÅ«éŵå¤DÀÛASunOSASolarisAAIXA IrixAAmigaOS ÈÇÅàRpCūܵ½DÓ:ÙÈÁ½^CvÌ Unix VXeãŶ¬³ê½oCipbP[WÍÝ·«ðÁÄ¢È¢Åµå ¤D ±êçÍ RPM pbP[WðCXg[·éÌÉÅáÀKvÈàÌÅ·D\ [X©ç RPM pbP[Wð쬷é½ßÉA È½Í gccAmake ÈÇÌêÊ IÉpbP[Wð쬷éÌÉKvÈàÌSÄàKvÅ·D 4. RPM Ìgp pbP[WðCXg[·é½ßÉ RPM ðg¤ÌÍÈPÅ·. rpm -i foobar-1.0-1.i386.rpm ÉÈPÈR}hÍApbP[WðACXg[·éÅ·D rpm -e foobar æè¡G¾¯êÇàÆÄàLvÈR}hÌêÂÍ FTP ðîµÄpbP[W ðCXg[·éÅ·D àµlbg[NÉÚ±µÄ¢ÄVµ¢pbP [WðCXg[µ½¢ÌÈçÎAKvÈͳµ¢ URL Ìt@C¼ð ¾L·éÅ·DȺÌæ¤ÉA rpm -i ftp://ftp.pht.com/pub/linux/redhat/rh-2.0-beta/RPMS/foo- bar-1.0-1.i386.rpm Ó: RPM Í »Ý FTP oRÅAâ¢í¹ Æ(àµ)Í CXg[µ© ūܹñD±êçÍPÈR}hÅ·ªArpm Í Usage bZ[W©ç í©éæ¤É½Ìû@ÅgíêÜ·D 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 Ø[WÉÈãÌIvVª½©ÌÚ×ð©éªÅ«Ü·D [óF|ó³ê½Crpm.8 ª <http://www.linux.or.jp/jrpm/doc.html> © çæ¾·é±ÆªÅ«Ü·D] 5. »Ý RPM ÅÀÛÉÅ«éͽ© RPM ÍÆÄàLvÈc[ÅA²¶mÌÊè¢Â©ÌIvVª èÜ ·D»êçÌÓ¡ðð·é½ßÉêÔÌû@͢©Ìáð©éÅ·D ±êÜÅÉ ÈPÈCXg[(ACXg[)Ìà¾ðµÜµ½ÌÅA ±±Å͢©Ìáð¦µÜ·D o ANVfgÉæÁĢ©Ìt@CðÁµÄµÜ¢µ©à½ðÁ µ½Ì©sm©Å éƵܵå¤DàµSVXeÉƵ½ð¸Á ½©ðmè½¢ÈçÎAȺÌæ¤É·êÎåävÅ·D rpm -Va o ©o¦ÌÈ¢t@CðôR©µ½ÆµÜµå¤D»êÍÇÌpbP[ WÌàÌÅ é©ð©Â¯é½ßÉAȺÌæ¤É·êÎåävÅ·D rpm -qf /usr/X11R6/bin/xjewel »ÌoÍÍȺÌæ¤ÉÈèÜ·D xjewel-1.6-1 o Vµ¢ koules RPM ð©Â¯½ªA»êª½Å é©mçÈ¢ÉÍAÈ ºÌæ¤É·êν©îñª¾çêÜ·D rpm -qpi koules-1.2-2.i386.rpm »ÌoÍÍȺÌæ¤ÉÈèÜ·D 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 CXg[·é koules RPM ÉÍÇÌæ¤Èt@CªÜÜêé©mè ½¢ÉÍȺÌæ¤ÉµÄ¾³¢D rpm -qpl koules-1.2-2.i386.rpm »ÌoÍÍȺÌæ¤ÉÈèÜ·D /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 ±êçÍÙñÌáÅ·Dêx RPM ÉeµßÎæèn¢IÈðÈPÉv¢ ªūܷD 6. RPM pbP[WÌì¬ RPM pbP[WÌì¬ÍSÈPÅ·AÁÉ쬵æ¤ÆµÄ¢é\tgEF AðèÉüêçêéÈçȨ³çÅ·D RPM ð쬷éî{IÈÛöÍȺÌÊèÅ·D o ȽÌVXeÉK·éæ¤É /etc/rpmrc ðmÀÉÝèµÜ·D o ȽÌVXeÅ RPM ð쬷é½ßÉ\[XR[hðèÉüêÜ·D o ³µì¬·é½ßÉKvÈ\[XÖÌÏXðpb`ɵܷ o pbP[W̽ßÌ spec t@Cð쬵ܷD o SĄ̈ª³µ¢êɨ©êÄ¢éðmFµÜ·D o RPM ðp¢ÄpbP[Wð쬵ܷD êÊIÈì̺ÅARPM ÍoCiÆ\[XpbP[Wð쬵ܷD 6.1. rpmrc t@C »ÝARPM ÌÝèÍ /etc/rpmrc t@CÌݪLøÅ·Dá¦ÎȺÌæ¤ ÉÈèÜ·D [óAftHgƵÄA/usr/lib/rpmrc Æ¢¤à̪ èAÂlÌÝèt@CƵÄÂlÌz[fBNgÉ .rpmrc ðu± ÆàÅ«Ü·D] 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 ÌsÍ /etc/rpmrc àµÍ spec t@CÌwb_©ç vendor ÌsðT»¤ÆµÜ·D±êð³øÉ·éÉÍAio[ð 0 ÉϦ ĺ³¢Drequire_distribution Æ require_group Ìsà¯lÅ·D ÌsÍ distribution sÅ·D±±© spec t@CÌwb_Éè`Å« Ü·Dvender sà¯lÅ·ªA½Åàæ¢Å·D(áAJoe's Software and Rock Music Emporium) RPM Íܽ»Ý¡ÌA[LeN`ãÅpbP[Wð쬷éðT|[g µÄ¢Ü·Drpmrc t@CÍì¬ÉA[LeN`ÅLÌtOªßç êéæ¤ÈpbP[Wð쬷éÌÉKvÈ"optflag" Ïð廁dž ·D ãLÌ}NÉt¯Á¦ÄA³çɢ© èÜ·D rpm --showrc Æ·êÎAÇÌæ¤È^OªÝè³êALøÈSÄÌtOͽ©í©èÜ ·D 6.2. spec t@C sepc t@CÉ¢Äq×Äs«Ü·Dspec t@CÍpbP[Wð쬷 é½ßÉKvÅ·Dspec t@CÍì¬ÌdûÌw¦ðÜÞ\tgEFAÌ à¾ÆCXg[³êéSÄÌoCit@CÌXgÅ·D WIÈK¥É]ÁÄ spec t@C̼Oðt¯½Ù¤ªæ¢Åµå¤D» êÍApbP[W¼-_bV -o[WÔ-_bV -[XÔ- hb g-spec Ʒ׫ŷD ±±ÉÈPÈ spec t@Cª èÜ·D(vim-3.0-1.spec) [ó Avim-3.0-1.spec Æ èÜ·ªA±êÍeject-1.4-3.spec ŵå¤D] 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. wb_ wb_Í«ÞKvÌ é¢Â©ÌWIÈtB[hª èÜ·Dܽ ¢Â©Óª èÜ·DtB[hÍȺÌæ¤É«ÜȯêÎÈèÜ ¹ñD o Summary: ±êÍêsÌpbP[WÌà¾Å·D o Name: ±êÍg¨¤ÆµÄ¢é rpm t@C¼©ç̶ñÅȯêÎÈ èܹñD o Version: ±êÍg¨¤ÆµÄ¢é rpm t@C¼©çÌo[WÔ ÅȯêÎÈèܹñD o Release: ±êͯ¶o[WÌpbP[W̽ßÌ[XÔÅ·D (á¦ÎApbP[Wð쬵»êªí¸©ÉóêÄ¢éÌð©µÄxì ¬·éKvª éÈçÎAÌpbP[WÌ[XÔÍ2ÆÈèÜ ·D) o Icon: ±êͼÌxÈCXg[c[(Red Hat Ì "glint"Ìl È)ðp¢é×ÌACR¼Å·D»êÍgif t@CÅ SOURCES fB NgÉu©È¯êÎÈèܹñD o Source: ±ÌsͳÌ\[Xt@CÌz[P[VðwµÜ·D ÄÑ\[Xt@CðèÉü꽢ƩVµ¢o[Wð`FbNµ½ ¢ÉgíêÜ·DÓF±ÌsÌt@C¼Æ ȽÌVXeãÉ Ât@C¼ÍêvµÄ¢È¯êÎÈèܹñD(á¦ÎA\[Xt@C ð_E[hµ»Ì¼OÍϦÄÍ¢¯Ü¹ñD) êÂÈãÌ\[X t@Cð¾Lµ½¢ÍȺÌæ¤É«Ü·D Source0: blah-0.tar.gz Source1: blah-1.tar.gz Source2: fooblah.tar.gz ±êçÌt@CÍ SOURCES fBNgÉu«Ü·D(fBNg\¢Í ãÌß "\[X fBNg c[" ŵ¢Ü·D) o EPatch: ±êÍÄÑpb`ð_E[h·éKvª éÉ»êð©Â ¯éÌÅ«éêÅ·DÓF Ƚª©ªÅ쬵½pb`ðìé t@C¼Íg¤¼OÆêvµÈ¯êÎÈèܹñDá¦ÎȺÌæ¤Å ·D Patch0: blah-0.patch Patch1: blah-1.patch Patch2: fooblah.patch ±êçÌt@CÍ SOURCES fBNgÉu«Ü·D o Copyright: ±ÌsÍpbP[WªÇÌæ¤Èì Å é©\¦µÜ·D GPLABSDAMITApublic domainAdistributableAcommercial ÌlÈàÌ ðg¤×«Å·D o BuildRoot: ±ÌsÍVµ¢pbP[Wðì¬ACXg[·é½ßÌ "[g" ÌfBNgð¾LµÜ·D ȽÌ}V[ÉCXg[ ·éOÉpbP[WðeXg·éÌð¯é½ßÉg¤ªÅ«Ü·D [óA±±ÉLq·é¾¯ÅÍA쬨æÑeXgÍūܹñDÚµ ÍARPM-BUILD-HOWTO ðÇÞÆǢŵå¤D] o Group: ±ÌsÍxÈCXg[vO(Red Hat Ì "glint" Ìæ¤È)ÉKw\¢ÌűÌvOªÇ±É®·éÌ©ð¾¦·é ½ßÉ©íêÜ·D»ÝÌ O[v c[ÍȺÌæ¤ÉÈÁÄ¢Ü ·D[óAú{ü¯É Extensions/Japanese Æ¢¤àÌ èÜ·D] 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 ±êÍ{Íwb_ÌÚÅÍ èܹñAµ©µwb_Ì ÉLq³êé׫ŷDpbP[WÆ(àµÍ)TupbP[WÉê Ìà¾(description)Ì^OªKvÅ·D±êÍpbP[WÌïIÈྠð^¦é½ßÉgíêé׫¡sÌtB[hÅ·D 6.4. Prep ±êÍAspec t@CÌ2ÔÚÌZNVÅ·Dì¬pÉõ·é\[X ð¾é½ßÉgíêÜ·D±±ÅApb`ÌÄçê½\[Xð¾é½ßÉK vÈðµ make ·é½ßÉKvÈõðµÜ·D ÓFeZNVÍVFXNvgðÀÛÉÀs·é½ßÌêÅ·DÈ PÉ sh XNvgð쬵A\[Xððµpb`ðÄé½ßÉ %prep ^OÌãÉ»êðuªÅ«Ü·Dµ©µÈªçA±ÌÉÍãLÌðð x·é½ßÌ}Nª èÜ·D »êçÌÅ}NÌÍA%setup }NÅ·D»ÌàÁÆàÈPÈ`Í(R} hCÌIvVȵ)APÉ\[Xððµ Å«½\[XfBNg ÌÉ cd ·é¾¯Å·DȺÌIvVª èÜ·D o -n name Íñ³ê½ name Éì¬fBNg̼OðZbgµÜ·D ftHgÍ $NAME-VERSION Å·D¼ÌÂ\«ÆµÄ $NAMEA ${NAME}${VERION}ACÌ tar t@Cªp¢Ä¢éàÌÅ·D (±ê çÌ "$" ÏÍ spec t@CÌ{ÌÏÅÈ¢Éӵĺ³ ¢D±êçÍQl̽ßɱ±Ågíê½àÌÅ·DÀÛÉÍÏÅÍÈ pbP[WÌ{̼OÆo[Wðg¤Kvª èÜ·D) o -c Í tar t@Cðð·éOɼt¯çê½fBNgðìè»± É cd µÜ·D o -b # ÍfBNgÉ cd ·éOÉ Source# ð ð(untar)µÜ·D (±êÍ -c IvVÆêÉp¢éÌÍÓ¡ª èܹñAµÈ¢Åº ³¢D) ±êÍ¡Ì\[Xt@Cª éÌÝðɧ¿Ü·D o -a # Í fBNgÉ cd µ½ãÉ Source# ðð(untar)µÜ·D o -T ±ÌIvVÍ\[Xð(untar)ÌftHg®ìð³øÉµÜ ·Dð(untar)³ê½CÌ\[Xt@Cð¾é½ßÉ -b 0 àµ Í -a 0 ðKvƵܷD2ÂßÌ\[Xª éɱêðKvƵܷD o -D Íð·éOÉfBNgðÁµÜ¹ñD±êÍ setup }Nª ¡ éÌÝLpÅ·DÅÌ setup }NÌãÌ setup }NÅÌ Ýg¤×«Å·D(µÄÅÌ setup }NÅgíȢź³¢D) ÉLvÈ}NÍ %patch }NÅ·D±Ì}NÍ\[XÉpb`ð ÄéÛöÌ©®»ð¯Ü·D¢Â©ÌIvVª è»êÍȺ ÌÊèÅ·D o # Ípb`t@CÆµÄ Patch# ðpµÜ·D o -p # patch(1) R}h̽ßÌæèfBNgÌð¾LµÜ ·D o -P ftHgÌ®ìÅÍ Patch (àµÍ Patch0)ðÄÜ·D±Ìt OÍftHgÌ®ìðÖ~·éÌÅð(untar)³ê½\[Xt@Cð ¾é½ßÉ 0 ðKvƵܷD±ÌIvVÍÅÌ}NÆÙÈéå «¢Ôðßçêé2ÔÚ(àµÍ»êÈ~)Ì %patch }NÅLpÅ ·D o {Ì %patch # -p R}hÌãíèÉ %patch# àg¦Ü·D ÈãÅKvÈ}NÍSÅ·D±êçð³µLqµ½ãÉAsh XN vgðp¢Ä¼Ì çäéKvÈZbgAbvð·éàÅ«Ü ·D%build }N(±êÍßÅྵܷD)ª sh ðoRµÄÀs³ê éÜŽÅàÜßçêÜ·D±±Ås¢½¢Ì`ÍãLÌáð©Äº³ ¢D 6.5. Build ±ÌZNVÉÍ}NÍ èܹñD\[Xðð(untar)µApb`ð ÄAfBNgÉ cd µ½Èç±±ÅÍPÉ\tgEFAð쬷é½ß ÉKvÈR}hðLqµÄº³¢D±êÍPÉ sh Én·¼ÌR}hÌW ÜèÈÌÅAÇñÈ@IÈ sh ÌR}h(RgðÜÞ)Åà±±ÅÀs Å«Ü·D[óF±êÍVFÌgÝÝR}h̾¯ð¢ÁÄ¢éÌ ÅÍ èܹñD]±êçÌZNVÌeXÅìÆfBNgÍ\[X fBNgÌêÔãÉZbg³êÜ·ÌÅ»êðo¦Ä¨¢Äº³¢Dà µKvÈçÎTufBNgÉ cd µÄº³¢D 6.6. Install ±±Éà}NÍ èܹñDî{Iɱ±ÉCXg[ÉKvÈR}h Èç½Åàu¯Ü·D쬵½pbP[WÅ make install ªLøÈçA± ±Éu«Ü·D»¤ÅÈ¢ÌÈçAmake install Ì×Ì makefile ÖÌpb `ðÄAmake install ð·é©Ash R}hÉæÁÄè®ÅCXg[ ·éàÅ«Ü·D»ÝÌìÆfBNgª\[XfBNgÌgbv xÅ éðl¶µÄº³¢D 6.7. pre ,post CXg[ / ACXg[ XNvg (CÓ) oCipbP[WÌCXg[ / ACXg[ ðs¤OÆãÉÀs ·éXNvgð±±ÉuªÅ«Ü·DVFA[hCuðÜÞpb P[Wð CXg[àµÍACXg[µ½ãÉ ldconfig ðÀs ·éæ¤Èð·é½ßɱÌ^Oª èÜ·DȺÉeXÌXNvg̽ ßÌ}Nª èÜ·D o %pre ÍCXg[·éOÌXNvg½ßÌ}NÅ·D o %post ÍCXg[µ½ãÌXNvg̽ßÌ}NÅ·D o %preun ÍACXg[·éOÌXNvg̽ßÌ}NÅ·D o %postun Í ACXg[µ½ãÌXNvg̽ßÌ}NÅ·D 6.8. Files ±ÌZNVÍoCipbP[W̽ßÌt@CÌêð\¦µÈ¯ê ÎÈèܹñDRPM Í make install ÌÊÇÌoCiªCXg[³ê ½Ì©méû@ªÈ¢½ßÅ·D±êð·éû@Í èܹñ! pbP[WÌ CXg[OÆãÉ find ðÀs·êÎæ¢ÌÅÍÈ¢©Æ^âÉv¤là ¢é©àµêܹñD}`[U[VXeɨ¢ÄApbP[WÆÖWÌ È¢t@CªpbP[Wð쬵ĢéÛöÌÔÉìçêÄ¢é©àµêÈ ¢ÌűêÍó¯üêçêܹñD ¯lÉÁÊÈð·é½ßÉLøÈ}Nª¢Â© èÜ·DȺÉྵ Ü·D o %doc ÍoCiðCXg[·éÛÉCXg[µ½¢\[XpbP [WÌhL gÉóðt¯éÌÉgíêÜ·DhL gÍ /usr/doc/$NAME-$VERSION-$RELEASE ÉCXg[³êÜ·D±Ì}N ðgÁÄR}hCãÅ¡ÌhL gÌêðñ·é©Ae hL g²ÆÉ}NðgÁÄÊXÉñ·é±ÆªÅ«Ü·D o %config ÍpbP[WÌÝèt@CÉóðt¯éÌÉgíêÜ·D± êÍ sendmail.cfApasswd ÈÇÌæ¤ÈàÌðÜÝÜ·DàµãÉÝè t@CðÜÞpbP[WðACXg[·éÈçÎAÏX³êÄ¢ È¢t@CÍí³êAÏX³ê½t@CÍàÆt@C¼É .rpmsave Æ¢¤g£qðtÁ³ê½àÌɼOªÏX³êÜ·D±Ì}N Åà¯É¡Ìt@CÌêðñÅ«Ü·D o %dir pbP[WÉæÁÄL³êÜÜêét@CêÌPêÌfB NgÉóðt¯Ü·DftHgÅÍA%dir }Nðgí¸ÉfBN g¼ð\¦µ½ÈçA»ÌfBNgÌSĪt@CêÉÜÜ ê»µÄãÉ»ÌpbP[WÌêƵÄCXg[³êÜ·D o %files -f <filename> Í\[XÌì¬fBNgÌCÓÌt@Cð XgÉÁ¦éªÅ«Ü·D±êÍpbP[W©gÌt@CXgð 쬷éªÅ«épbP[Wª éêÉÖÅ·D»Ì±±É»Ì t@CXgðÜßÜ·A»µÄÁÉt@Cðê\¦µÄÍÈèÜ ¹ñD t@CêÌÅåÌÓ_ÍfBNgÌêÅ·DàµÔáÁÄ /usr/bin ðêÉLµÄµÜÁ½çAoCipbP[WÍ È½ÌVXe Ì /usr/bin ÌSÄÌt@CðÜñŵܢܷD 6.9. ì¬ 6.9.1. \[XfBNg c[ ܸÅÉKvÈÍA«¿ñÆÝè³ê½ì¬fBNgc[Å·D± êÍ /etc/rpmrc t@Cðp¢ÄÝèÂ\Å·D½ÌlXÍ /usr/src ð g¤Åµå¤D ì¬\[XfBNgc[ðìé½ßÉȺÌfBNgðìéKvª é©àµêܹñD o BUILD Í RPM ÉæèSÄÌ쬪síêéfBNgÅ·DÁɼÌê Åì¬ÌeXgðs¤KvÍ èܹñªA±±Í RPM ªì¬·ép¢ éƱëÅ·D o SOURCES ÍIWiÌ\[X(tar)t@CÆpb`ðufBNg Å·D±±ÍARPM ªftHgÅT·fBNgÅ·D o SPECS ÍSÄÌ spec t@CðufBNgÅ·D o RPMS Í RPM ªì¬µ½oCi RPM pbP[WðufBNgÅ· o SRPMS Í SÄÌ\[X RPM pbP[WðufBNgÅ·D 6.9.2. ì¬eXg ¨»çÅɵ½¢±ÆÍARPM ðp¢¸É쬷é½ßÌ\[Xc[ð ¾é±Æŵå¤D±êð·é½ßÉA\[XððµAfBNg¼ð $NAME.orig ÉÏXµÄº³¢D»µÄà¤êx\[XððµÄº³¢D» µÄ±Ì\[Xðì¬ÉgpµÄº³¢D\[XfBNgÉüèì¬·é ½ßÌw¦Éµ½ªÁĺ³¢Dൽ©ÒWðµÈ¯êÎÈçÈ¢ÈçA pb`ªKvÆÈèÜ·Dêx»êðìé½ßÉ\[XfBNgð«ê¢ ɵܷD./configure XNvgÉæ趬³ê½t@CðmFµíµ Ü·D[óFv·éÉA¢íäé make êóÔÉ·êÎǢƢ¤Å ·D] »µÄA\[XfBNgÌefBNgÉ cd µÜ·DȺÌæ ¤ÉµÜ·D diff -uNr dirname.orig dirname > ../SOURCES/dirname-linux.patch ±êÍAspec t@CÅgpÂ\Èpb`ð쬵ܷDãLÌ"linux"ÍP ɯÊqÅ é±ÆÉӵĺ³¢DȺpb`ð쬵ȯêÎÈçÈ¢ ©ðྷé½ßÉ "config" â "bugs" ÌlÈæèà¾IÈàÌðgÁÄà æ¢Åµå¤DÔáÁÄoCiðÜßÈ¢æ¤ÉmF·é½ßÉ쬵½ pb`ðgp·éOɲ×éÌÍæ¢l¦Å·D 6.9.3. t@CXg̶¬ 쬷é½ßÌ\[XðèÉ¢êA»êðǤâÁÄ쬷é©í©Á½Èç ÎA쬵CXg[µÜ·DCXg[ÌÊÌoÍ©ç spec t@C Åp¢é½ßÌt@CXgð쬵ܷD½¿ÍA½¢Ä¢SÄÌX ebvÅÀsµÄ spec t@Cð쬵ĢܷDÅÌt@CXgð 쬵ÄÈPȪð«ÝA»µÄðÇÁÄßÄ¢«Ü·D 6.9.4. RPM ðp¢½pbP[WÌì¬ spec t@Cð«I¦½ÈçApbP[Wð쬷éõªÅ«Üµ½D àÁÆàLøÈû@ÍAȺÌæ¤ÈR}hðg¤±ÆÅ·D rpm -ba foobar-1.0.spec -b XCb`ÉÍȺÌæ¤ÈLpÈIvVª èÜ·D o p Í spec t@CÌ prep ZNV¾¯ðÀsµÜ·D o l Í %files ÌXgð`FbNµÜ·D o c Í prep ZNVðÀsµ RpCðs¢Ü·D±êÍ\[Xª® SÉ\zÅ«éà̩Ǥ©smÀÈÉð§¿Ü·D\[Xð\zµ» ê©ç RPM ðg¢Í¶ßéÜÅÍA\[XÌÝÅìƵ±¯½¢Åµå¤ ©çAðɧ½È¢ÆvíêÜ·Dµ©µêU RPM ðg¤ÌɵêÄµÜ ¦ÎA»êðg¤áª©Â©éŵå¤D [óA%Build ZNVÌL ø«ðmF·é®ç¢Åµå¤D] o i Í prep ZNVðÀsµARpC CXg[ðs¢Ü·D o b Í prep ZNVðÀsµARpC CXg[ðs¢AoCi pbP[WÌÝð쬵ܷD o a ÍSÄð쬵ܷD(\[XÆoCiÌpbP[W̼û) -b XBb`ÉÍȺÌæ¤È¢Â©ÌÏXqª èÜ·D o --short-circuit Íwè³ê½ðòεܷD(c Æ i ÅÌÝgpÅ «Ü·D) o --clean ÍpbP[WÌ쬪IÁ½ãÉ쬵½fBNgc[ð ÁµÜ·D o --keep-temps Í /tmp ȺÉìçê½SÄÌêt@CÆXNvgð Û¶µÜ·DÀÍ -v IvVðp¢é±ÆÉæè /tmp Éìçê½ t@Cð©é±ÆªÅ«Ü·D o --test ÍÀÛÉÍÇÌàÀs͵ܹñªAkeep-temp Ís¢Ü·D 6.10. eXg ¢Á½ñA\[XyÑoCiÌ rpm pbP[Wð쬵½çA»êðeX g·éKvª èÜ·DÅàÈPÅÇ¢û@ÍApbP[Wð쬵½}V ÆSÙÈÁ½}VãÅeXg·éÅ·DȺÈçA ȽÌ}VãÅ ½xà make install ðµÄ¢éÌÅA«¿ñÆCXg[³êé͸¾© çÅ·D eXg̽ßÉ rpm -u pbP[W¼ Æ·é±ÆàÅ«Ü·A[óF¨»ç ±êÍ typo Å rpm -e ŵå¤Drpm -u Í»ÝÅÍ®ìµÜ¹ñD ]µ ©µpbP[Wì¬ÌÉ make install ðÀsµÄ¢éÌÅÔá¤à è Ü·Dàµt@CXgÉkêª éÆAACXg[³êܹñD» ÌÉÍoCipbP[WðÄCXg[µÄVXeðÄÑ®SÈàÌ ÉµÜ·Aµ©µ rpm pbP[WÍܾ®SÅÍ èܹñD ȽÍA rpm -ba spect@C¼ ðµ½¾¯¾Æ¢¤ðµÁ©èSÉ~ßĨ¢Ä ¾³¢D½ÌlXÍ pbP[WðCXg[·éÌÉ rpm -i pbP [W¼ ðs¤¾¯Å·DoCiªCXg[³êéÉKvÈð build ZNVâ install ZNVŽàµÄ¢È¢±ÆðmFµÄ ¾³¢D 6.11. Vµì¬µ½ RPM pbP[WðǤ·êÎÇ¢©D ¢Á½ñA Ƚª RPM pbP[Wð쬵½Èç(·Åɽ© RPM »µ½ ƼèµÜ·)A ȽÌ쬵½pbP[WżÌlÉv£·éªÅ«Ü ·(쬵½ RPM pbP[Wª©RÉzzÂ\ÈàÌƵܷ)D»¤·é½ ßÉAftp.redhat.com ÉAbv[hµÄ¾³¢D <ftp://ftp.redhat.com> 6.12. What Now? Vµ¢ RPM pbP[WÅ·é±ÆÆeXgÉÖµÄÍãLÌZNVð© ľ³¢DBÍ æ¾Â\È SÄÌ RPM pbP[WðåWµÄ¢Ü·D »µÄA»êçªf°çµ¢ RPM pbP[WÅ é±Æð]ñŢܷDì ¬µ½pbP[WðæÔð©¯ÄeXgµÄ¾³¢D»µÄAlÌ v̽ßÉ»êðAbv[h·é½ßÉÔð©¯Ä¾³¢D¯lÉA© RÉzzÅ«é\tgEFAÌÝðAbv[h·éæ¤ÉµÄ¾³¢D¤ p\tgEFAyÑVFAEFAÍ»êçÌì ªÍÁ«èÆ©RÉzz· 骳êéð¾yµÄÈ¢ÀèAbv[h·×«ÅÍ èܹñD± êÉÍANetscape \tgEFAAsshApgp ªÜÜêÜ·D 7. }` A[LeN`p RPM pbP[WÌì¬ RPM Í»Ý Intel i386ADegital AlphaASparc pÉpbP[Wðì¬·é½ ßÉg¤ªÅ«Ü·DSGI Æ HP Ì[NXe[VãÅà¯lÉ® ªñ³êĢܷDSÄÌvbgtH[ãÅÈPÉpbP[Wð쬷 é½ßÌÁ¥ª¢Â© èÜ·DܸæêÉ /etc/rpmrc ÌÌ "optflag" Ìw¦Å·D»êÍ\tgEFAð쬷éÉgíêétOðA[LeN `ÁLÌlÉÝè·é½ßÉg¤ªÅ«Ü·D¼Ì@\ÆµÄ spec t@ CÌ "arch" }Nª èÜ·D»êÍ쬷éA[LeN`É˶· éÙÈéìÆð·é½ßÉg¤ªÅ«Ü·D¼ÉAwb_Ì "Exclude" Ìw¦Å·D 7.1. Tv spec t@C ÈºÍ "fileutils" pbP[WÌ spec t@CÌêÅ·D Alpha Æ Intel ü¯Ì¼ûð쬷é½ßÌ\¬Å·D 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 ±ÌáÅÍAÇÌæ¤É /etc/rpmrc Ì "optflags" Ìw¦ªgíêÄ¢é ©ª©éŵå¤D Ƚªì¬µÄ¢éA[LeN`É˶·éKÈl ª RPM_OPT_FLAGS É^¦çêĢܷDgpµÄ¢é(-m486 â -O2 Ìæ¤ È) ÊíÌw¦ÌãíèɱÌÏðp¢éÉÍApbP[WÌ Makefile É pb`ðÄȯêÎÈèܹñD±Ì\[XpbP[WðCXg[·é ±ÆÉæÁÄKvÆÈé±Æð\[XððµÄ Makefile ð²×é±Æª Ǣƴ¶éŵå¤D»ÌAMakefile ̽ßÌpb`ðµç×A½ðÏ ¦ËÎÈçÈ¢©ð©Ä¾³¢D 7.3. }N %ifarch }NÍÆÄàdvÅ·D½ÌêêÂÌpb`àµÍÁèÌA [LeN`pÌñÂÌpb`ðìéKvª éŵå¤D±Ìæ¤Èê ARPM ÍKµ½A[LeN`pÌpb`ÌÝðÄé±ÆªÅ«Ü·D ãLÌáƵÄAfileutils Í64rbg}Vü¯Ìpb`ðÁĢܷD ¾ç©ÉA±êÍ Alpha ãÉÌÝÄçêé׫ŷD»êÅAB ÍA64rbgpb`ÌƱëÉ %ifarch }Nðt¯Á¦Üµ½D %ifarch axp %patch1 -p1 %endif ±êÍ Alpha ÈOÌA[LeN`ÉÍÄçêÈ¢pb`Å é±ÆðÛ ØµÜ·D 7.4. pbP[W©ç A[LeN`ðO·é SÄÌvbgz[̽ßÉêÂÌfBNgÅ\[X RPM pbP[W ðeiXÅ«éæ¤É·é½ßÉABÍ éA[LeN`ãÅì¬ ³êé±Æ©çpbP[Wð"O"·é½ßÌ@\ðÀµÜµ½D±êÍÈ ºÌæ¤ÉÀsÅ«Ü·D rpm --rebuild /usr/src/SRPMS/*.rpm »µÄ³µpbP[Wªì¬³êÜ·Dൠévbgz[ü¯ÉAv P[VðÚAµÄ¢È¢ÌÈçÎA ȽªµÈ¯êÎÈçÈ¢±ÆS ÄÍ\[XpbP[WÌ spec t@CÌwb_ÉȺÌæ¤Èêsðt¯Á ¦é±ÆÅ·D ExcludeArch: axp »Ìæ¤ÉµÄ©çA쬷évbgz[ãÅpbP[WðÄì¬µÄ ¾³¢D»¤·êÎA È½Í Intel ãÅ쬷é½ßÌ\[XpbP[W ðèÉ·é±ÆÉÈèAAlpha ̪ÍÈPÉòη±ÆªÅ«Ü·D 7.5. ÅãÉ }` A[LeN`pÌpbP[Wð쬷é½ßÉ RPM ðp¢é±ÆÍ ½¢Ä¢pbP[Wð¼ûÌA[LeN`ãÅ쬷éæèàÈPÅ·Dµ ©µÈªçA쬷é̪ÆÄàïµ¢pbP[Wð쬷êÎæèÈPÉ ÈÁÄ¢«Ü·D¢ÂàÌæ¤ÉARPM pbP[Wð쬷éÌÉÂÜÁ½ ÉÅà梯ÆÈé±Æͽæ¤È\[XpbP[Wð²×é±ÆÅ·D 8. ì m ±Ì¶ÆàeÍì ÉæÁÄÛì³êĢܷD±Ì¶ÌÄzzÍàe ª®SàÆÌÜÜųÏXÅ éêÉÀè³êÜ·D¾¢·¦êÎA¶ Ì`®ÌÏXyÑ]ÚàµÍÄzzÌݳµÂ©¦ èܹñD [óÒæèF±ÌªÍ´¶àfڵĨ«Ü·D] 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.