Åëëçíéêü RPM HOWTO Donnie Barnes, djb@redhat.com 8 Áðñéëßïõ 1997, Ýêäïóç v2.07 ____________________________________________________________ Table of Contents 1. ÅéóáãùãÞ 2. Åðéóêüðçóç 3. ÃåíéêÝò Ðëçñïöïñßåò 3.1 Áðïêôþíôáò ôï RPM 3.2 ÁðáéôÞóåéò ôïõ RPM 4. ×ñçóéìïðïéþíôáò ôï RPM 5. Êáé ôé ìðïñþ íá êÜíù 6. ×ôßæïíôáò RPMs 6.1 Ôï áñ÷åßï rpmrc 6.2 Ôï áñ÷åßï ðñïäéáãñáöþí (Spec File) 6.3 Ç åðéêåöáëßäá 6.4 Prep 6.5 ×ôßóéìï (Build) 6.6 ÅãêáôÜóôáóç 6.7 ÐñïáéñåôéêÜ óêñéðôÜêéá ðñéí êáé ìåôÜ ôçí ÅãêáôÜóôáóç/ÁðåãêáôÜóôáóç 6.8 Áñ÷åßá 6.9 ×ôßæïíôáò ôï 6.9.1 Ï äåíäñïåéäÞò êáôÜëïãïò ôïõ ðçãáßïõ êþäéêá 6.9.2 ¸ëåã÷ïò óôï ÷ôßóéìï 6.9.3 Äçìéïõñãþíôáò ôç ëßóôá áñ÷åßùí 6.9.4 ×ôßæïíôáò ôï ÐáêÝôï ìå RPM 6.10 ÅëÝãîôå ôï 6.11 Ôé íá êÜíåôå ìå ôá íÝá óáò RPMs 6.12 Êáé ôþñá; 7. ×ôßæïíôáò RPM ãéá ðïëëÝò áñ÷éôåêôïíéêÝò 7.1 ¸íá áðëü áñ÷åßï ðñïäéáãñáöþí (spec File) 7.2 Optflags 7.3 Macros 7.4 Áöáéñþíôáò áñ÷éôåêôïíéêÝò áðü ÐáêÝôá 7.5 Ôåëåéþíïíôáò 8. ÐíåõìáôéêÜ Äéêáéþìáôá 9. Ðåñß ôçò ÅëëçíéêÞò ÌåôÜöñáóçò ______________________________________________________________________ [1m1. ÅéóáãùãÞ[0m Ôï RPM åßíáé åßíáé áêñùíýìéï ôïõ [1mR[22med Hat [1mP[22mackage [1mM[22manager. Ðáñüëï ðïõ ðåñéÝ÷åé ôï Red Hat óôï üíïìá ôïõ, ç ðñüèåóç åßíáé íá áðïôåëÝóåé Ýíá áíïéêôü óýóôçìá ðáêåôáñßóìáôïò, äéáèÝóéìï ðñïò ÷ñÞóç áðü êáèÝíáí. ÅðéôñÝðåé óôïõò ÷ñÞóôåò íá ðáßñíïõí ôïí ðçãáßï êþäéêá åíüò íÝïõ ëïãéóìéêïý êáé íá ôïí ðáêåôÜñïõí óå ðçãáßá êáé åêôåëÝóéìç ìïñöÞ, þóôå íá ìðïñïýí íá åãêáèßóôáíôáé êáé íá ðáñáêïëïõèïýíôáé åýêïëá ôá åêôåëÝóéìá ðáêÝôá, êáé ï ðçãáßïò êþäéêáò íá ìðïñåß íá ÷ôßæåôáé ìå áðëü ôñüðï. Äéáôçñåß åðßóçò ìéá âÜóç äåäïìÝíùí üëùí ôùí ðáêÝôùí êáé ôùí áñ÷åßùí ôïõò, ðïõ ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí åðáëÞèåõóç ôçò ýðáñîçò êáé áêåñáéüôçôáò ôùí ðáêÝôùí êáèþò êáé ãéá ôçí áðÜíôçóç óå åñùôÞóåéò ó÷åôéêÜ ìå áñ÷åßá Þ ðáêÝôá. Ç åôáéñåßá Red Hat Software åíèáññýíåé Üëëïõò ðñïìçèåõôÝò äéáíïìþí íá äéáèÝóïõí ÷ñüíï óôï íá êáôáíïÞóïõí ôï RPM êáé íá ôï ÷ñçóéìïðïéÞóïõí ãéá ôéò äéêÝò ôïõò äéáíïìÝò. Ôï RPM åßíáé ðïëý åõÝëéêôï êáé åý÷ñçóôï, ðáñüëï ðïõ ðáñÝ÷åé ôçí âÜóç ãéá Ýíá ðïëý åõñý óýóôçìá. Åßíáé åðßóçò ôåëåßùò áíïéêôü êáé ðëÞñùò äéáèÝóéìï, êáé èá åêôéìïýóáìå ïðïéåóäÞðïôå áíáöïñÝò óöáëìÜôùí êáé äéïñèþóåéò. Åê÷ùñåßôáé ç Üäåéá äùñåÜí ÷ñÞóçò êáé äéáíïìÞò ôïõ RPM êÜôù áðü ôïõò üñïõò ôçò GPL. Ìéá ðëçñÝóôåñç ôåêìçñßùóç ãéá ôï RPM åßíáé äéáèÝóéìç óôï âéâëßï ôïõ Ed Bailey, [4mMaximum[24m [4mRPM[24m. Ôï âéâëßï åßíáé äéáèÝóéìï ãéá íá ôï êáôåâÜóåôå Þ íá ôï áãïñÜóåôå óôç äéåýèõíóç www.redhat.com <http://www.redhat.com>. [1m2. Åðéóêüðçóç[0m Ðñþôá áð'üëá, åðéôñÝøôå ìïõ íá ðåñéãñÜøù ôá âáóéêÜ ôçò öéëïóïößáò ðïõ êñýâåôáé ðßóù áðü ôï RPM. ¸íáò ó÷åäéáóôéêüò óôü÷ïò Þôáí íá åðéôñÝøåé ôçí ÷ñÞóç ``ðñùôáñ÷éêïý (âáóéêïý)'' êþäéêá. Ìå ôï RPP (ï ðñïçãïýìåíïò ìáò äéá÷åéñéóôÞò ðáêÝôùí, áðü ôïí ïðïßïí äå ÷ñçóéìïðïéÞèçêå [4môßðïôá[24m óôç äçìéïõñãßá ôïõ RPM), ôá ðáêÝôá ðçãáßïõ êþäéêá Þôáí ``ðåéñáãìÝíïé'' áñ÷éêïß ðçãáßïé êþäéêåò ðïõ ìåôÜ ÷ôßóáìå. ÈåùñçôéêÜ, êÜðïéïò èá ìðïñïýóå íá åãêáôáóôÞóåé Ýíá ðçãáßï RPP êáé ìåôÜ íá êÜíåémake ÷ùñßò ðñïâëÞìáôá. ÁëëÜ ï ðçãáßïò êþäéêáò äåí Þôáí ï áñ÷éêüò ðñùôüôõðïò, êáé äåí õðÞñ÷å êáìßá áíáöïñÜ óôï ðïéåò áëëáãÝò ÷ñåéÜóôçêå íá êÜíïõìå ãéá íá ôá êáôáöÝñïõìå íá ÷ôßæåôáé åðéôõ÷þò. Èá Ýðñåðå íá êáôåâÜóåôå ôïí áñ÷éêü ðñùôüôõðï êþäéêá îå÷ùñéóôÜ. Ìå ôï ROM, Ý÷åôå ôïí áñ÷éêü êþäéêá ìáæß ìå Ýíá ìðÜëùìá (patch) ôï ïðïßï ÷ñçóéìïðïéÞóáìå ãéá íá êÜíïõìå ôç ìåôáãëþôôéóç. Áõôü ôï èåùñïýìå óáí Ýíá ìåãÜëï ðëåïíÝêôçìá. Ãéáôß; Ãéá ðïëëïýò ëüãïõò. Ðñþôá - ðñþôá, áí âãåé ìéá íÝá Ýêäïóç êÜðïéïõ ðñïãñÜììáôïò, äå ÷ñåéÜæåôáé íá áñ÷ßóåôå áíáãêáóôéêÜ áðü ôçí áñ÷Þ ãéá íá ôï ìåôáãëùôôßóåôå óôï RHL. Ìðïñåßôå íá êïéôÜîåôå óôï ìðÜëùìá (patch) ãéá ôï ôé [4mßóùò[24m [4m÷ñåéáóôåß[24m íá êÜíåôå. Ìå áõôüí ôïí ôñüðï, üëåò ïé ðñïêáèïñéóìÝíåò ñõèìßóåéò ôçò ìåôáãëþôôéóçò åßíáé åýêïëá êáôáíïçôÝò. Ôï RPM ó÷åäéÜóôçêå ãéá íá ðñïóöÝñåé éó÷õñÝò äõíáôüôçôåò åñþôçóçò. Ìðïñåßôå íá øÜîåôå ìÝóá óå ïëüêëçñç ôç âÜóç óáò ãéá ðáêÝôá Þ ãéá ïëüêëçñá áñ÷åßá. Ìðïñåßôå åðßóçò íá âñåßôå åýêïëá óå ðïéï ðáêÝôï áíÞêåé Ýíá óõãêåêñéìÝíï áñ÷åßï êáé áðü ðïéü ðñïÞëèå. Ôá ßäéá ôá RPM áñ÷åßá åßíáé óõìðéåóìÝíá áñ÷åßá, áëëÜ ìðïñåßôå íá êÜíåôå åýêïëá êáé [4móýíôïìá[24m ìéá åñþôçóç óå îå÷ùñéóôÜ ðáêÝôá ÷Üñç óå ìéá åðéêåöáëßäá äõáäéêÞò ìïñöÞò, ðïõ Ý÷åé ðñïóôåèåß óôï ðáêÝôï êáé ðåñéÝ÷åé ïôéäÞðïôå ÷ñåéÜæåôáé íá ãíùñßæåôå. Áõôü óõíôåëåß óå [4mãñÞãïñç[24m åñþôçóç. ¶ëëï Ýíá éó÷õñü ÷áñáêôçñéóôéêü åßíáé ç éêáíüôçôá íá åðáëçèåýóåôå ðáêÝôá. Áí áíçóõ÷åßôå üôé óâÞóáôå Ýíá óçìáíôéêü áñ÷åßï ãéá êÜðïéï ðáêÝôï, áðëÜ åðáëçèåýóôå ôï. Èá åíçìåñùèåßôå ãéá ôõ÷üí áíùìáëßåò. Óå áõôÞ ôçí ðåñßðôùóç, ìðïñåßôå íá åðáíåãêáôáóôÞóåôå ôï ðáêÝôï áí åßíáé áðáñáßôçôï. Ï,ôé áñ÷åßá ñõèìßóåùí åß÷áôå èá ðáñáìåßíïõí áêÝñáéá. Èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôá ðáéäéÜ ôçò äéáíïìÞò BOGUS ìéá êáé ðïëëÝò áðü ôéò éäÝåò ôïõò ÷ñçóéìïðïéÞèçêáí óôï RPM. Áí êáé ôï RPM ãñÜöôçêå áðïêëåéóôéêÜ áðü ôç Red Hat Software, ç ëåéôïõñãßá ôïõ åßíáé âáóéóìÝíç óôïí êþäéêá ðïõ ãñÜöôçêå ãéá ôç äéáíïìÞ BOGUS (PM êáé PMS). [1m3. ÃåíéêÝò Ðëçñïöïñßåò[0m [1m3.1. Áðïêôþíôáò ôï RPM[0m Ï êáëýôåñïò ôñüðïò íá áðïêôÞóåôå ôï RPM åßíáé íá óôÞóåôå ôï Red Hat Linux. Áí äå èÝëåôå íá ôï êÜíåôå áõôü, ìðïñåßôå êáé ðÜëé íá ðÜñåôå êáé íá ÷ñçóéìïðïéÞóåôå ôï RPM. Èá ôï âñåßôå óôï ftp.redhat.com <ftp://ftp.redhat.com/pub/redhat/code/rpm>. [1m3.2. ÁðáéôÞóåéò ôïõ RPM[0m Ç êýñéá áðáßôçóç ãéá íá ôñÝîåôå ôï RPM åßíáé íá Ý÷åôå ôï cpio 2.4.2 Þ ìåãáëýôåñï. Áí êáé ôï óýóôçìá ðñïïñßæåôáé ãéá ÷ñÞóç ìå Linux, ìðïñåß íá ìåôáöåñèåß êáé óå Üëëá óõóôÞìáôá Unix. ÓõãêåêñéìÝíá, Ý÷åé ìåôáãëùôôéóôåß ãéá SunOS, Solaris, AIX, Irix, AmigaOS êáé Üëëá. Óáò ðñïåéäïðïéïýìå üôé ôá äõáäéêÜ-åêôåëÝóéìá ðáêÝôá ðïõ äçìéïõñãåßôå óå Ýíá óýóôçìá Unix äå èá åßíáé óõìâáôÜ óå Üëëï óýóôçìá. ÁõôÝò åßíáé ïé åëÜ÷éóôåò áðáéôÞóåéò ãéá íá åãêáôáóôÞóåôå RPMs. Ãéá íá ÷ôßóåôå RPMs áðü ôïí êþäéêá, ÷ñåéÜæåóôå üôé èá èÝëáôå êáíïíéêÜ ãéá íá ÷ôßóåôå Ýíá ðáêÝôï, üðùò ôá gcc, make, êëð. [1m4. ×ñçóéìïðïéþíôáò ôï RPM[0m Óôçí áðëïýóôåñç ìïñöÞ ôïõ, ôï RPM ÷ñçóéìïðïéåßôáé ãéá íá åãêáôáóôÞóôå ðáêÝôá: rpm -i foobar-1.0-1.i386.rpm Ç åðüìåíç áðëïýóôáôç åíôïëÞ áðåãêáèéóôÜ Ýíá ðáêÝôï: rpm -e foobar Ìßá áðü ôéò ðéï óýíèåôåò áëëÜ êáé [4mðïëý[24m ÷ñÞóéìåò åíôïëÝò óáò åðéôñÝðåé íá åãêáôáóôÞóåôå ðáêÝôá ìÝóù FTP. Áí åßóôå óõíäåäåìÝíïé óôï äßêôõï êáé èÝëåôå íá åãêáôáóôÞóåôå Ýíá íÝï ðáêÝôï, ôï ìüíï ðïõ ÷ñåéÜæåôáé åßíáé íá ðñïóäéïñßóåôå ôï áñ÷åßï äßíïíôáò ôï êáôÜëëçëï URL, üðùò : rpm -i ftp://ftp.pht.com/pub/linux/redhat/rh-2.0-beta/RPMS/foobar-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 page). [1m5. Êáé ôé ìðïñþ íá êÜíù ðñáãìáôéêÜ ìå ôï RPM;[0m Ôï RPM åßíáé ðïëý ÷ñÞóéìï åñãáëåßï, êáé üðùò èá äåßôå, Ý÷åé ðïëëÝò åðéëïãÝò. Ï êáëýôåñïò ôñüðïò ãéá íá âãÜëåôå ìéá Üêñç ìå áõôÝò åßíáé íá äåßôå ìåñéêÜ ðáñáäåßãìáôá. Äåßîáìå ðáñáðÜíù ôçí åðéëïãÞ åãêáôÜóôáóçò/áðåãêáôÜóôáóçò êáé ôþñá áêïëïõèïýí ìåñéêÜ áêüìç ðáñáäåßãìáôá : · Áò ðïýìå üôé äéáãñÜøáôå ìåñéêÜ áñ÷åßá êáôÜ ëÜèïò, áëëÜ äåí åßóôå óßãïõñïé ãéá ôï ðïéá óâÞóáôå. Áí èÝëåôå íá åðáëçèåýóåôå ôï óýóôçìÜ óáò êáé íá äåßôå ôé ëåßðåé, èá ãñÜøåôå : rpm -Va · Áò ðïýìå üôé óõíáíôÜôå êÜðïéï áñ÷åßï ðïõ äåí áíáãíùñßæåôå. Ãéá íá âñåßôå óå ðïéï ðáêÝôï áíÞêåé, èá ãñÜøåôå : rpm -qf /usr/X11R6/bin/xjewel Ôï áðïôÝëåóìá èá åßíáé: xjewel-1.6-1 · Âñßóêåôå Ýíá íÝï RPM ìå ôï üíïìá koules, áëëÜ äåí îÝñåôå ôé åßíáé áõôü. Ãéá íá äåßôå êÜðïéåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôï ðáêÝôï, èá ãñÜøåôå : 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. · Ôþñá èÝëåôå íá äåßôå ðïéá áñ÷åßá åãêáèéóôÜ ôï RPM koules. Èá ãñÜøåôå: 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 üôáí åîïéêåéùèåßôå ìå áõôü. [1m6. ×ôßæïíôáò RPMs[0m Åßíáé áñêåôÜ åýêïëï íá ÷ôßóåôå RPMs, åéäéêüôåñá áí ìðïñåßôå íá êáôáöÝñåôå íá ÷ôßóåôå áðü ìüíï ôïõ ôï ëïãéóìéêü ðïõ óáò åíäéáöÝñåé íá ðáêåôÜñåôå. Ç âáóéêÞ äéáäéêáóßá ãéá íá ÷ôßóåôå Ýíá RPM åßíáé ç áêüëïõèç: · ÅëÝãîôå üôé ôï /etc/rpmrc Ý÷åé åãêáôáóôáèåß óôï óýóôçìÜ óáò. · ÊÜíôå ôïí ðçãáßï êþäéêá ãéá ôïí ïðïßï èá ÷ôßóôå ôï RPM íá ðåñíÜåé áðü ìåôáãëþôôéóç óôï óýóôçìÜ óáò. · ÖôéÜîôå Ýíá ìðÜëùìá (patch) ãéá êÜèå áëëáãÞ ðïõ ÷ñåéáóôÞêáôå íá êÜíåôå þóôå íá ìåôáãëùôôéóôåß óùóôÜ · ÖôéÜîôå Ýíá áñ÷åßï ðñïäéáãñáöþí (spec file) ãéá ôï ðáêÝôï. · Âåâáéùèåßôå ðùò üëá åßíáé åßíáé óôç óùóôÞ ôïõò èÝóç. · ×ôßóôå ôï ðáêÝôï ÷ñçóéìïðïéþíôáò ôï RPM. Õðü öõóéïëïãéêÝò óõíèÞêåò, ôï RPM äçìéïõñãåß ôüóï ôï ðáêÝôï ôïõ åêôåëÝóéìïõ üóï êáé ôïõ ðçãáßïõ êþäéêá. [1m6.1. Ôï áñ÷åßï rpmrc[0m Ãéá ôçí þñá, ç ìüíç ñýèìéóç ôïõ RPM äéáôßèåôáé ìÝóù ôïõ áñ÷åßïõ /etc/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 êÜíåé ôï RPM íá æçôÜ íá âñåé ìéá ãñáììÞ ðùëçôÞ (vendor). ÁõôÞ ìðïñåß íá ðñïÝëèåé áðü ôï áñ÷åßï /etc/rpmrc Þ áðü ôçí åðéêåöáëßäá ôïõ ßäéïõ ôïõ áñ÷åßïõ ðñïäéáãñáöþí (spec file). Ãéá íá ôï áðåíåñãïðïéÞóåôå, áëëÜîôå ôïí áñéèìü óå 0. Ôï ßäéï éó÷ýåé ãéá ôéò ãñáììÝò require_distribution êáé require_group. Ç åðüìåíç ãñáììÞ åßíáé ó÷åôéêÞ ìå ôç äéáíïìÞ distribution. Ìðïñåßôå íá ôç äçëþóåôå åäþ Þ áñãüôåñá óôçí åðéêåöáëßäá ôïõ áñ÷åßïõ ðñïäéáãñáöþí (spec file). ¼ôáí ÷ôßæåôå ôï ðáêÝôï ãéá êÜðïéá óõãêåêñéìÝíç äéáíïìÞ, åßíáé êáëÞ éäÝá íá âåâáéùèåßôå üôé áõôÞ ç ãñáììÞ åßíáé óùóôÞ, áêüìç êé áí äåí áðáéôåßôáé. Ç ãñáììÞ vendor äïõëåýåé áíôßóôïé÷á, áëëÜ ìðïñåß íá ãñÜöåé ïôéäÞðïôå (ð.÷. Joe's Software and Rock Music Emporium). Ôï RPM Ý÷åé õðïóôÞñéîç ãéá íá ÷ôßóåôå ðáêÝôá óå ðïëëáðëÝò áñ÷éôåêôïíéêÝò. Ôï áñ÷åßï rpmrc ìðïñåß íá êñáôÜ ìéá ìåôáâëçôÞ ``optflags'' ãéá íá ÷ôßóåôå ðñÜãìáôá ðïõ áðáéôïýí óõãêåêñéìÝíá flags áíÜëïãá ìå ôçí áñ÷éôåêôïíéêÞ êáôÜ ôï ÷ôßóéìü ôïõò. Äåßôå ôá ðáñáêÜôù ôìÞìáôá ãéá ôï ðþò íá ÷ñçóéìïðïéÞóåôå áõôÞ ôç ìåôáâëçôÞ. ÕðÜñ÷ïõí êáé Üëëá ðïëëÜ åðéðëÝïí macros ðïõ ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ãéá íá äåßôå ôá tags êáé ôá äéáèÝóéìá flags. rpm --showrc [1m6.2. Ôï áñ÷åßï ðñïäéáãñáöþí (Spec File)[0m Èá îåêéíÞóïõìå ìå óõæÞôçóç ãéá ôï áñ÷åßï ðñïäéáãñáöþí. Ôá áñ÷åßá ðñïäéáãñáöþí áðáéôïýíôáé ãéá íá ÷ôßóåôå Ýíá ðáêÝôï. Ôï áñ÷åßï ðñïäéáãñáöþí åßíáé ìéá ðåñéãñáöÞ ôïõ ëïãéóìéêïý ìáæß ìå åíôïëÝò êáé ïäçãßåò ãéá ôï ðþò èá óôçèïýí êáé ìßá ëßóôá ãéá üëá ôá åêôåëÝóéìá ðïõ åãêáôáóôÜèçêáí. Êáëü åßíáé íá ïíïìÜóåôå ôï áñ÷åßï ðñïäéáãñáöþí óýìöùíá ìå ôõðéêÝò óõìâÜóåéò. Èá ðñÝðåé íá åßíáé ôï ðáêÝôï üíïìá-ðáýëá-áñéèìüò Ýêäïóçò (version number)-ðáýëá- áñéèìüò óåéñÜò (release number)-ôåëåßá-spec. Áêïëïõèåß Ýíá ìéêñü ðáñÜäåéãìá áñ÷åßïõ ðñïäéáãñáöþí (vim-3.0-1.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 Áõôü ôï ðñüãñáììá åðéôñÝðåé óôï ÷ñÞóôç íá âãÜæåé (eject) ôá ìÝóá ðïõ õðïóôçñßæïõí áõôüìáôç åîáãùãÞ üðùò CD-ROMs,Jaz êáé Zip drives, êáé ïäçãïýò äéóêÝôáò óå ìç÷áíÝò SPARC. %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 [1m6.3. Ç åðéêåöáëßäá[0m Ç åðéêåöáëßäá Ý÷åé ìåñéêÜ óôáèåñÜ ðåäßá ðïõ ðñÝðåé íá óõìðëçñùèïýí. Äßíïíôáé åðßóçò êáé ìåñéêÝò õðïäåßîåéò. Ôá ðåäßá ðñÝðåé íá óõìðëçñùèïýí üðùò öáßíåôáé ðáñáêÜôù: · Summary: Åßíáé ç ðåñéãñáöÞ ôïõ ðáêÝôïõ óå ìéá ãñáììÞ. · Name: Åßíáé ôï üíïìá ôïõ rpm áñ÷åßïõ ðïõ óêïðåýåôå íá ÷ñçóéìïðïéÞóåôå. · Version: Åßíáé ç Ýêäïóç (version) ôïõ rpm áñ÷åßïõ ðïõ óêïðåýåôå íá ÷ñçóéìïðïéÞóåôå. · Release: Åßíáé ç óåéñÜ (release) ôïõ ðáêÝôïõ ãéá ôçí ðáñáðÜíù Ýêäïóç (ð.÷. áí öôéÜîïõìå Ýíá ðáêÝôï êáé ôï âñïýìå ëßãï ðñïâëçìáôéêü êáé ðñÝðåé íá ôï îáíáöôéÜîïõìå, ôï åðüìåíï ðáêÝôï èá åßíáé óåéñÜ 2). · Icon: Åßíáé ôï üíïìá ôïõ áñ÷åßïõ ôïõ åéêïíéäßïõ ðïõ èá ÷ñçóéìïðïéçèåß ìå Üëëá åñãáëåßá åãêáôÜóôáóçò õøçëïý åðéðÝäïõ (üðùò ôï ``glint'' ôçò Red Hat). ÐñÝðåé íá åßíáé gif êáé íá âñßóêåôáé óôïí êáôÜëïãï SOURCES. · Source: ÁõôÞ ç ãñáììÞ äåß÷íåé óôçí ôïðïèåóßá HOME ôïõ áñ÷éêïý áñ÷åßïõ ðçãáßïõ êþäéêá. ×ñçóéìïðïéåßôáé óôçí ðåñßðôùóç ðïõ èÝëåôå íá ðÜñåôå ôïí êþäéêá îáíÜ Þ íá åëÝãîåôå ãéá íåþôåñåò åêäüóåéò. Óçìåßùóç: Ôï üíïìá áñ÷åßïõ ÐÑÅÐÅÉ íá ôáéñéÜæåé ìå ôï üíïìá ôïõ áñ÷åßïõ ðïõ Ý÷åôå óôï óýóôçìÜ óáò (ð.÷. ìçí êáôåâÜóåôå ôï ðçãáßï áñ÷åßï êáé áëëÜîåôå ìåôÜ ôï üíïìÜ ôïõ). Ìðïñåßôå åðßóçò íá êáèïñßóåôå ðåñéóóüôåñá ôïõ åíüò áñ÷åßá ðçãáßïõ êþäéêá ÷ñçóéìïðïéþíôáò ãñáììÝò üðùò : Source0: blah-0.tar.gz Source1: blah-1.tar.gz Source2: fooblah.tar.gz ÁõôÜ ôá áñ÷åßá ðçãáßíïõí óôïí êáôÜëïãï SOURCES . (Ç äïìÞ ôïõ êáôáëüãïõ èá óõæçôçèåß áñãüôåñá óå åðüìåíï ôìÞìá, "Ï äåíäñïåéäÞò êáôÜëïãïò ôïõ ðçãáßïõ êþäéêá"). · Patch: Åßíáé ôï ìÝñïò ðïõ èá âñåßôå ôï ìðÜëùìá (patch) áí ÷ñåéáóôåß íá ôï êáôåâÜóåôå îáíÜ. Óçìåßùóç: Ôï üíïìá áñ÷åßïõ åäþ ðñÝðåé íá ôáéñéÜæåé ìå áõôü ðïõ ÷ñçóéìïðïéåßôå üôáí öôéÜ÷íåôå ôï äéêü ÓÁÓ patch. Ìðïñåß åðßóçò íá èÝëåôå íá óçìåéþóåôå üôé ìðïñåß íá Ý÷åôå ðïëëáðëÜ patch áñ÷åßá üóï ìðïñåß íá Ý÷åôå ðïëëáðëÜ ðçãáßá áñ÷åßá. Èá Ý÷åôå êÜôé óáí ôï ðáñáêÜôù: Patch0: blah-0.patch Patch1: blah-1.patch Patch2: fooblah.patch ÁõôÜ ôá áñ÷åßá èá ðÜíå óôïí êáôÜëïãï SOURCES . · Copyright: ÁõôÞ ç ãñáììÞ áíáöÝñåé ãéá ôá äéêáéþìáôá ôïõ ðáêÝôïõ. Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå êÜôé óáí GPL, BSD, MIT, public domain, distributable, Þ commercial. · BuildRoot: ÁõôÞ ç ãñáììÞ óáò åðéôñÝðåé íá êáèïñßóåôå Ýíáí êáôÜëïãï óáí ``root'' ãéá íá ÷ôßóåôå êáé íá åãêáôáóôÞóåôå Ýíá ðáêÝôï. Ìðïñåßôå íá ôï ÷ñçóéìïðïéÞóåôå ãéá íá ôåóôÜñåôå ôï ðáêÝôï óáò ðñéí íá ôï åãêáôáóôÞóåôå óôï ìç÷ÜíçìÜ óáò. · Group: ÁõôÞ ç ãñáììÞ ÷ñçóéìïðïéåßôáé ãéá íá ðåé óå ðñïãñÜììáôá åãêáôÜóôáóçò õøçëïý åðéðÝäïõ (üðùò ôï ``glint'' ôçò RedHat) ðïý íá âÜëåé áõôü ôï ðñüãñáììá óôç äïìÞ ôçò éåñáñ÷ßáò. Ôï äÝíäñï ôïõ ãêñïõð ìïéÜæåé ùò åîÞò : 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 Äåí åßíáé ðñáãìáôéêÜ Ýíá ôìÞìá ôçò åðéêåöáëßäáò, áëëÜ èá ðñÝðåé íá ðåñéãñáöåß ìå ôï õðüëïéðï ôçò åðéêåöáëßäáò. ×ñåéÜæåóôå Ýíá tag ðåñéãñáöÞò áíÜ ðáêÝôï êáé/Þ õðïðáêÝôï. Áõôü åßíáé Ýíá ðåäßï ðïëëáðëþí-ãñáììþí ðïõ ðñÝðåé íá ÷ñçóéìïðïéçèåß ãéá íá äþóåé ìéá êáôáíïçôÞ ðåñéãñáöÞ ôïõ ðáêÝôïõ. [1m6.4. Prep[0m Áõôü åßíáé ôï äåýôåñï ôìÞìá óôï áñ÷åßï ðñïäéáãñáöþí. ×ñçóéìïðïéåßôáé ãéá íá åôïéìÜóåôå ôïí êþäéêá ãéá ÷ôßóéìï. Åäþ ðñÝðåé íá êÜíåôå ïôéäÞðïôå ÷ñåéáóôåß ãéá íá êÜíåôå patch ôïõò êþäéêåò êáé íá ôïõò åãêáôáóôÞóåôå üðùò ðñÝðåé ãéá íá ãñÜøåôå make. Óçìåéþóôå ôï åîÞò: ÊÜèå Ýíá áðü áõôÜ ôá ôìÞìáôá åßíáé ðñáãìáôéêÜ ÷þñïò ãéá íá åêôåëÝóåôå óêñéðôÜêéá öëïéïý (shell scripts). Ìðïñåßôå áðëÜ íá öôéÜîåôå Ýíá sh script êáé íá ôï âÜëåôå ìåôÜ ôï %prep tag ãéá íá îåðáêåôÜñåôå êáé íá êÜíåôå patch ôïí êþäéêÜ óáò. ÐáñüëáõôÜ, Ý÷ïõìå öôéÜîåé macros ãéá íá âïçèÞóïõìå ó'áõôü. Ôï ðñþôï áð'áõôÜ ôá macros åßíáé ôï %setup macro. Óôçí áðëïýóôåñÞ ôïõ ìïñöÞ (÷ùñßò åðéëïãÝò áðü ôç ãñáììÞ åíôïëþí), áðëÜ îåðáêåôÜñåé ôïí êþäéêá êáé ìðáßíåé óôïí êáôÜëïãï ìå ôïí êþäéêá. Ðáßñíåé åðßóçò ôéò ðáñáêÜôù åðéëïãÝò: · -n name èÝôåé ôï üíïìá ôïõ êáôáëüãïõ ðïõ èá ÷ñçóéìïðïéçèåß ãéá ôï ÷ôßóéìï óôï üíïìá ðïõ áêïëïõèåß name. Ôï ðñïêáèïñéóìÝíï üíïìá åßíáé $ÏÍÏÌÁ-$ÅÊÄÏÓÇ. ¶ëëåò äõíáôüôçôåò ðåñéëáìâÜíïõí ôï $ÏÍÏÌÁ, ${ÏÍÏÌÁ}${ÅÊÄÏÓÇ}, Þ üôé ÷ñçóéìïðïéåß ôï êýñéï tar áñ÷åßï. (Óçìåéþóôå ðáñáêáëþ üôé ïé ìåôáâëçôÝò ``$'' [4mäåí[24m åßíáé ðñáãìáôéêÝò ìåôáâëçôÝò ðïõ äéáôßèåíôáé ìÝóá óôï áñ÷åßï ðñïäéáãñáöþí. ×ñçóéìïðïéïýíôáé åäþ áíôß ãéá Ýíá üíïìá-ðáñÜäåéãìá. Åóåßò ðñÝðåé íá ÷ñçóéìïðïéÞóåôå ôï ðñáãìáôéêü üíïìá êáé ôçí Ýêäïóç óôï ðáêÝôï óáò, ü÷é ìéá ìåôáâëçôÞ). · -c èá äçìéïõñãÞóåé êáé èá ìðåé óôïí ïíïìáæüìåíï êáôÜëïãï [4mðñéí[24m íá êÜíåé untar. · -b # èá êÜíåé untar ôïí Êþäéêá# [4mðñéí[24m íá ìðåé óôïí êáôÜëïãï (êáé äå âãÜæåé íüçìá ìå ôçí åðéëïãÞ -c ãé'áõôü ìçí ôï êÜíåôå). Áõôü åßíáé ÷ñÞóéìï üôáí Ý÷åôå ðïëëáðëÜ áñ÷åßá ìå êþäéêá. · -a # èá êÜíåé untar ôïí Êþäéêá# [4máöïý[24m ìðåé óôïí êáôÜëïãï. · -T ÁõôÞ ç åðéëïãÞ áãíïåß ôçí ðñïêáèïñéóìÝíç åðéëïãÞ ðïõ êÜíåé untar ôïí Êþäéêá êáé áðáéôåß ôçí åðéëïãÞ -b 0 Þ -a 0 ãéá íá êÜíåôå untar ôï êýñéï áñ÷åßï êþäéêá. Èá ôï ÷ñåéáóôåßôå áõôü üôáí õðÜñ÷ïõí äåõôåñåýïõóåò ðçãÝò. · -D [4mÌÇ[24m äéáãñÜöåôå ôïí êáôÜëïãï ðñéí íá îåðáêåôÜñåôå. Áõôü åßíáé ÷ñÞóéìï ìüíï üðïõ Ý÷åôå ðåñéóóüôåñá ôïõ åíüò macro åãêáôÜóôáóçò. Èá ðñÝðåé íá ÷ñçóéìïðïéåßôáé [4mìüíï[24m óå macros åãêáôÜóôáóçò [4mìåôÜ[24m ôï ðñþôï (áëëÜ ðïôÝ óôï ðñþôï). Ôï åðüìåíï áðü ôá äéáèÝóéìá macros åßíáé ôï %patch macro. Áõôü ôï macro âïçèÜ óôçí áõôïìáôïðïßçóç ôçò äéáäéêáóßáò ôçò åöáñìïãÞò ìðáëùìÜôùí (patches) óôïõò êþäéêåò. Ðáßñíåé ðïëëÝò åðéëïãÝò, ïé ïðïßåò öáßíïíôáé ðáñáêÜôù: · # èá åöáñìüóåé ôï Patch# · -p # êáèïñßæåé ôïí áñéèìü ôùí äéáäï÷éêþí õðïêáôáëüãùí ðïõ èá áãíïÞóåé ç åíôïëÞ patch(1). · -P Ç ðñïêáèïñéóìÝíç åíÝñãåéá åßíáé ç åöáñìïãÞ ôïõ Patch (Þ Patch0). ÁõôÞ ç åðéëïãÞ êëçñïíïìåß ôçí ðñïêáèïñéóìÝíç åíÝñãåéá êáé èá áðáéôÞóåé Ýíá 0 ãéá íá êÜíåé untar ôï êýñéï áñ÷åßï ðçãáßïõ êþäéêá. ÁõôÞ ç åðéëïãÞ åßíáé ÷ñÞóéìç óå Ýíá äåýôåñï (Þ ìåôÝðåéôá) %patch macro ôï ïðïßï áðáéôïýóå Ýíá äéáöïñåôéêü áñéèìü áðü ôï ðñþôï macro. · Ìðïñåßôå åðßóçò íá ãñÜøåôå %patch# áíôß ãéá ôçí ðñáãìáôéêÞ åíôïëÞ : %patch # -P ÁõôÜ ðñÝðåé íá åßíáé üëá ôá macros ðïõ ÷ñåéÜæåóôå. Áöïý ôá Ý÷åôå áõôÜ óùóôÜ, ìðïñåßôå íá êÜíåôå ïðïéáäÞðïôå åãêáôÜóôáóç èÝëåôå ìå sh óêñéðôÜêéá. ÏôéäÞðïôå óõìðåñéëÜâåôå ìÝ÷ñé ôï %build macro (ôï ïðïßï èá óõæçôçèåß óôï åðüìåíï ôìÞìá), åêôåëåßôáé ìÝóù sh. ÊïéôÜîôå ôï ðáñáðÜíù ðáñÜäåéãìá ãéá ôïõò ôýðïõò ôùí ðñáãìÜôùí ðïõ ìðïñåß íá èÝëåôå íá êÜíåôå. [1m6.5. ×ôßóéìï (Build)[0m Äåí õðÜñ÷ïõí áëÞèåéá macros óå áõôü ôï ôìÞìá. Èá ðñÝðåé áðëÜ íá âÜëåôå ôéò åíôïëÝò ðïõ èá ÷ñåéáóôåß íá ÷ñçóéìïðïéÞóåôå ãéá íá ÷ôßóåôå ôï ëïãéóìéêü áöïý Ý÷åôå îåðáêåôÜñåé ôïí êþäéêá, ôïí Ý÷åôå êÜíåé patch êáé Ý÷åôå ìðåé óôïí êáôÜëïãï. Áõôü åßíáé áðëÜ Ýíá áêüìç óýíïëï åíôïëþí ðïõ ðåñíéïýíôáé óôï sh, Ýôóé þóôå üëåò ïé íüìéìåò åíôïëÝò sh ìðïñïýí íá ìðïõí åäþ (óõìðåñéëáìâáíïìÝíùí ôùí ó÷ïëßùí). [1mÏ ôñÝ÷ùí êáôÜëïãïò ðïõ äïõëåýåôå ãßíåôáé reset óå êÜèå Ýíá áðü áõôÜ ôá[0m [1môìÞìáôá óôï ðéï øçëü åðßðåäï ôïõ êáôáëüãïõ ðïõ ðåñéÝ÷åé ôïí êþäéêá [22m, íá ôï Ý÷åôå õðüøç óáò. Ìðïñåßôå íá ìðåßôå óôïõò õðïêáôáëüãïõò ìå cd áí ÷ñåéáóôåß. [1m6.6. ÅãêáôÜóôáóç[0m Ïýôå êáé åäþ õðÜñ÷ïõí, ðñáãìáôéêÜ, macros. ÈÝëåôå âáóéêÜ íá âÜëåôå üôé åíôïëÝò ÷ñåéÜæïíôáé ãéá ôçí åãêáôÜóôáóç. Áí Ý÷åôå óôç äéÜèåóÞ óáò ôï make install óôï ðáêÝôï ðïõ ÷ôßæåôå, âÜëôå ôï åêåß. Áí ü÷é, ìðïñåßôå åßôå íá êÜíåôå patch ôï makefile þóôå íá ãñÜøåôå make install êáé óôç óõíÝ÷åéá íá æçôÞóåôå íá ãßíåé åäþ ôï make install , Þ ìðïñåßôå íá ôá åãêáôáóôÞóåôå åäþ ìå ôï ÷Ýñé ÷ñçóéìïðïéþíôáò sh åíôïëÝò. Ìðïñåßôå íá èåùñÞóåôå ôïí ôñÝ÷ùí êáôÜëïãï óáí ôï ðéï øçëü åðßðåäï ôïõ êáôáëüãïõ ìå ôïí êþäéêá. [1m6.7. ÐñïáéñåôéêÜ óêñéðôÜêéá ðñéí êáé ìåôÜ ôçí[0m [1mÅãêáôÜóôáóç/ÁðåãêáôÜóôáóç[0m Ìðïñåßôå íá ðñïóèÝóåôå óêñéðôÜêéá ðïõ íá ôñÝ÷ïõí ðñéí êáé ìåôÜ ôçí åãêáôÜóôáóç/ áðåãêáôÜóôáóç ôùí åêôåëÝóéìùí ðáêÝôùí. Ï êýñéïò ëüãïò ãé'áõôü åßíáé íá êÜíåôå ðñÜãìáôá üðùò íá ôñÝîåôå ôï ldconfig áöïý åãêáôáóôÞóåôå Þ áöáéñÝóåôå ðáêÝôá ðïõ ðåñéÝ÷ïõí äéáìïéñáæüìåíåò âéâëéïèÞêåò. Ôá macros ãéá êÜèå Ýíá áðü ôá óêñéðôÜêéá åßíáé ôá ðáñáêÜôù: · %pre åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ðñéí ôçí åãêáôÜóôáóç. · %post åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ìåôÜ ôçí åãêáôÜóôáóç. · %preun åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ðñéí ôçí áðåãêáôÜóôáóç. · %postun åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ìåôÜ ôçí áðåãêáôÜóôáóç. Ôá ðåñéå÷üìåíá áõôþí ôùí ôìçìÜôùí ìðïñåß íá åßíáé ïðïéïõäÞðïôå ôýðïõ sh script, áí êáé [4mäå[24m ÷ñåéÜæåóôå ôï #!/bin/sh. [1m6.8. Áñ÷åßá[0m Áõôü åßíáé ôï ôìÞìá üðïõ [4mðñÝðåé[24m íá äþóåôå ôç ëßóôá ôùí áñ÷åßùí ãéá ôï åêôåëÝóéìï ðáêÝôï. Ôï RPM äåí Ý÷åé ôñüðï íá ãíùñßæåé ôé åêôåëÝóéìá åãêáôáóôÜèçêáí óáí áðïôÝëåóìá ôïõ make install. [4mÄÅÍ[24m [4mÕÐÁÑ×ÅÉ[24m ôñüðïò íá ôï êÜíåôå áõôü. Ìåñéêïß ðñïôåßíïõí íá åêôåëÝóåôå ôç find ðñéí êáé ìåôÜ ôçí åãêáôÜóôáóç ôïõ ðáêÝôïõ. Óå Ýíá ðïëõ÷ñçóôéêü óýóôçìá, áõôü åßíáé áðáñÜäåêôï êáèþò åßíáé äõíáôü íá äçìéïõñãçèïýí Üëëá áñ÷åßá êáôÜ ôç äéáäéêáóßá ÷ôéóßìáôïò åíüò ðáêÝôïõ, ôá ïðïßá äåí Ý÷ïõí áðïëýôùò êáìßá ó÷Ýóç ìå ôï ßäéï ôï ðáêÝôï. ÕðÜñ÷ïõí ìåñéêÜ äéáèÝóéìá macros ðïõ êÜíïõí ôÝôïéåò åéäéêÝò ëåéôïõñãßåò. ÁõôÜ åßíáé ôá ðáñáêÜôù : · %doc ÷ñçóéìïðïéåßôáé ãéá íá ìáñêÜñåé ìÝóá óôï ðáêÝôï ðçãáßïõ êþäéêá ôçí ôåêìçñßùóç ðïõ èÝëåôå íá åãêáôáóôáèåß ìå ìßá åãêáôÜóôáóç binary. Ôá êåßìåíá èá åãêáôáóôáèïýí óôï /usr/doc/$NAME-$VERSION-$RELEASE. Ìðïñåßôå íá Ý÷åôå ìå áõôü ôï macro ëßóôá ðïëëáðëþí êåéìÝíùí óôç ãñáììÞ åíôïëþí, Þ íá ðÜñåôå ôç ëßóôá êáèåíüò îå÷ùñéóôÜ ÷ñçóéìïðïéþíôáò Ýíá macro ãéá êáèÝíá áð'áõôÜ. · %config ÷ñçóéìïðïéåßôáé ãéá íá ìáñêÜñåé ôá áñ÷åßá ñõèìßóåùí óå Ýíá ðáêÝôï. Áõôü ðåñéëáìâÜíåé áñ÷åßá üðùò ôá sendmail.cf, passwd, êëð. Áí áñãüôåñá áðåãêáôáóôÞóåôå Ýíá ðáêÝôï ðïõ ðåñéÝ÷åé áñ÷åßá ñõèìßóåùí, üðïéá áñ÷åßá äåí Üëëáîáí èá óâçóôïýí êáé üðïéá Ý÷ïõí õðïóôåß áëëáãÝò èá ìåôïíïìáóôïýí óôï ðáëéü üíïìá ìå êáôÜëçîç .rpmsave óôï üíïìá ôïõ áñ÷åßïõ. Ìðïñåßôå, åðßóçò, íá ðÜñåôå ôç ëßóôá ðïëëáðëþí áñ÷åßùí ìå áõôü ôï macro. · %dir ìáñêÜñåé Ýíá ìüíï êáôÜëïãï óå ìéá ëßóôá áñ÷åßùí ðïõ èá óõìðåñéëçöèåß óáí íá áíÞêåé óôï ðáêÝôï. Åßíáé ðñïêáèïñéóìÝíï, üôé áí äåßôå ôç ëßóôá åíüò êáôáëüãïõ [4m×ÙÑÉÓ[24m êÜðïéï %dir macro, [4mÏËÁ[24m óå áõôüí ôïí êáôÜëïãï óõìðåñéëáìâÜíïíôáé óôç ëßóôá áñ÷åßùí êáé åãêáèéóôþíôáé óáí ôìÞìá ôïõ ðáêÝôïõ. · %files -f <filename> èá óáò åðéôñÝøåé íá åìöáíßóåôå ëßóôá ôùí áñ÷åßùí óáò óå êÜðïéï áõèáßñåôï áñ÷åßï ìÝóá óôïí êáôÜëïãï ôïõ ðçãáßïõ êþäéêá üðïõ ãßíåôáé ôï ÷ôßóéìï. Áõôü åßíáé êáëü óå ðåñéðôþóåéò üðïõ Ý÷åôå Ýíá ðáêÝôï ðïõ ìðïñåß íá ÷ôßóåé ôç äéêÞ ôïõ ëßóôá áñ÷åßùí. Ôüôå áðëÜ åíóùìáôþíåôå åäþ áõôÞ ôç ëßóôá áñ÷åßùí êáé äå ÷ñåéÜæåôáé íá åìöáíßóåôå åéäéêÞ ëßóôá áñ÷åßùí. Ç ìåãáëýôåñç ðáãßäá óôç ëßóôá áñ÷åßùí åßíáé ç åìöÜíéóç êáôáëüãùí. Áí åìöáíßóåôå ôï /usr/bin êáôÜ ëÜèïò, ôï åêôåëÝóéìï ðáêÝôï óáò èá ðåñéÝ÷åé [4mêÜèå[24m áñ÷åßï óôï /usr/bin óôï óýóôçìÜ óáò. [1m6.9. ×ôßæïíôáò ôï[0m [1m6.9.1. Ï äåíäñïåéäÞò êáôÜëïãïò ôïõ ðçãáßïõ êþäéêá[0m Ôï ðñþôï ðïõ ÷ñåéÜæåóôå åßíáé Ýíá êáëÜ ñõèìéóìÝíï äÝíäñï ãéá ÷ôßóéìï (build tree). Áõôü ñõèìßæåôáé ÷ñçóéìïðïéþíôáò ôï áñ÷åßï /etc/rpmrc. Ïé ðåñéóóüôåñïé èá ÷ñçóéìïðïéÞóïõí áðëÜ ôï /usr/src. Ìðïñåß íá ÷ñåéáóôåß íá äçìéïõñãÞóåôå ôïõò ðáñáêÜôù êáôáëüãïõò ãéá íá öôéÜîåôå Ýíá äÝíäñï ãéá ÷ôßóéìï (build tree): · BUILD åßíáé ï êáôÜëïãïò üðïõ ãßíåôáé ôï ÷ôßóéìï áðü ôï RPM. Äå ÷ñåéÜæåôáé íá ôåóôÜñåôå ôï ÷ôßóéìï êÜðïõ óõãêåêñéìÝíá, áëëÜ åäþ èá êÜíåé ôï RPM èá êÜíåé ôï ÷ôßóéìü ôïõ. · SOURCES åßíáé ï êáôÜëïãïò üðïõ èá ðñÝðåé íá âÜëåôå ôá áñ÷éêÜ tar áñ÷åßá ðçãáßïõ êþäéêá êáé ôá patches. Åäþ åßíáé ðïõ Ý÷åé ðñïêáèïñéóôåß íá øÜîåé ôï RPM. · SPECS åßíáé ï êáôÜëïãïò üðïõ ðñÝðåé íá ðÜíå üëá ôá áñ÷åßá ðñïäéáãñáöþí (spec). · RPMS åßíáé åêåß üðïõ èá âÜëåé ôï RPM üëá ôá åêôåëÝóéìá RPMs ìåôÜ ôï ÷ôßóéìï. · SRPMS åßíáé åêåß ðïõ èá ìðïõí üëá ôá RPMs ðçãáßïõ êþäéêá. [1m6.9.2. ¸ëåã÷ïò óôï ÷ôßóéìï[0m Ôï ðñþôï ðñÜãìá ðïõ ðéèáíÜ íá èÝëåôå íá êÜíåôå åßíáé íá ðÜñåôå ôïí êþäéêá êáé íá ÷ôßóåôå ôï ðáêÝôï ÷ùñßò íá ÷ñçóéìïðïéÞóåôå êáèüëïõ ôï RPM. Ãéá íá ôï êÜíåôå áõôü, îåðáêåôÜñåôå ôïí ðçãáßï êþäéêá, êáé áëëÜîôå ôï üíïìá ôïõ êáôáëüãïõ óå $NAME.orig. ÎåðáêåôÜñåôå ôïí êþäéêá îáíÜ. ×ñçóéìïðïéÞóôå ôïí êþäéêá ãéá íá ÷ôßóåôå ôï ðáêÝôï. Ðçãáßíåôå óôïí êáôÜëïãï ìå ôïí êþäéêá êáé áêïëïõèÞóôå ôéò ïäçãßåò ãéá ôï ÷ôßóéìï. Áí ðñÝðåé íá áëëÜîåôå ðñÜãìáôá, èá ÷ñåéáóôåßôå Ýíá ìðÜëùìá (patch). Ìüëéò ôï ÷ôßóåôå, êáèáñßóôå ôïí êáôÜëïãï ìå ôïí ðçãáßï êþäéêá. Óéãïõñåõôåßôå üôé äéáãñÜøáôå üëá ôá áñ÷åßá ðïõ äçìéïõñãÞèçêáí áðü ôï script configure. Óôç óõíÝ÷åéá, âãåßôå áðü ôïí êáôÜëïãï ìå ôïí ðçãáßï êþäéêá óôïí ðéï ðÜíù ãñÜöïíôáò cd . ÊÜíôå êÜôé óáí ôï ðáñáêÜôù: diff -uNr dirname.orig dirname > ../SOURCES/dirname-linux.patch Áõôü èá óáò äçìéïõñãÞóåé Ýíá patch ôï ïðïßï ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå óôï áñ÷åßï ðñïäéáãñáöþí óáò (spec file). Óçìåéþóôå üôé ôï ``linux'' ðïõ âëÝðåôå óôï üíïìá ôïõ patch åßíáé áðëÜ áíáãíùñéóôéêü. Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå êÜôé ðéï åðåîçãçìáôéêü üðùò ``config'' Þ ``bugs'' þóôå íá åîçãÞóåôå [4mãéáôß[24m ÷ñåéÜóôçêå íá öôéÜîåôå áõôü ôï patch. Åßíáé åðßóçò êáëÞ éäÝá íá êïéôÜîåôå ôï patch áñ÷åßï ðïõ öôéÜ÷íåôå ðñéí íá ôï ÷ñçóéìïðïéÞóåôå þóôå íá óéãïõñåõôåßôå üôé äåí óõìðåñéëáìâÜíïíôáé êáôÜ ëÜèïò ôõ÷üí åêôåëÝóéìá. [1m6.9.3. Äçìéïõñãþíôáò ôç ëßóôá áñ÷åßùí[0m Ôþñá ðïõ Ý÷åôå ôïí êþäéêá ãéá ôï ÷ôßóéìï ôïõ ðáêÝôïõ êáé îÝñåôå ðþò èá ôï êÜíåôå, ÷ôßóôå ôï êáé åãêáôáóôÞóôå ôï. ÊïéôÜîôå ôçí Ýîïäï ôçò äéáäéêáóßáò åãêáôÜóôáóçò êáé ÷ôßóôå ôç ëßóôá áñ÷åßùí óáò áðü áõôÞ ðïõ èá ÷ñçóéìïðïéÞóåôå óôï áñ÷åßï ðñïäéáãñáöþí. ÓõíÞèùò, ÷ôßæïõìå ôï áñ÷åßï ðñïäéáãñáöþí ðáñÜëëçëá ìå üëá áõôÜ ôá âÞìáôá. Ìðïñåßôå íá äçìéïõñãÞóåôå ôï áñ÷éêü êáé íá óõìðëçñþóåôå ôá åýêïëá ôìÞìáôá, êáé óôç óõíÝ÷åéá íá óõìðëçñþíåôå êáé ôá õðüëïéðá âÞìáôá êáèþò ðñï÷ùñÜôå. [1m6.9.4. ×ôßæïíôáò ôï ÐáêÝôï ìå RPM[0m Áðü ôç óôéãìÞ ðïõ Ý÷åôå Ýíá áñ÷åßï ðñïäéáãñáöþí (spec file), åßóôå Ýôïéìïé íá äïêéìÜóåôå íá ÷ôßóåôå ôï ðáêÝôï óáò. Ï ðéï ÷ñÞóéìïò ôñüðïò íá ôï êÜíåôå åßíáé ìå ìéá åíôïëÞ óáí ôçí áêüëïõèç : rpm -ba foobar-1.0.spec ÕðÜñ÷ïõí åðßóçò êáé Üëëåò ÷ñÞóéìåò åðéëïãÝò ìå ôï switch -b : · p óçìáßíåé íá ôñÝîåé áðëÜ ôï ôìÞìá prep ôïõ specfile. · l åßíáé Ýíáò Ýëåã÷ïò ëßóôáò ðïõ êÜíåé ìåñéêïýò åëÝã÷ïõò óôá %áñ÷åßá. · c êÜíåé üôé ëÝåé ôï ôìÞìá prep êáé ìåôáãëùôôßæåé. Áõôü åßíáé ÷ñÞóéìï üôáí äåí åßóôå óßãïõñïé ãéá ôï áí ï êþäéêÜò óáò èá ãßíåé build. Öáßíåôáé Ü÷ñçóôï åðåéäÞ ìðïñåß íá èÝëåôå íá óõíå÷ßóåôå íá ðáßæåôå ìå ôïí ßäéï ôïí êþäéêá ìÝ÷ñé íá ÷ôéóôåß êáé ìåôÜ íá ÷ñçóéìïðïéÞóåôå ôï RPM, áëëÜ üôáí åîïéêåéùèåßôå ìå ôç ÷ñÞóç ôïõ RPM, èá âñåßôå óôéãìÝò ðïõ èá èåëÞóåôå íá ôï ÷ñçóéìïðïéÞóåôå. · i êÜíåé üôé ëÝåé ôï ôìÞìá prep, ìåôáãëùôôßæåé êáé åãêáèéóôÜ. · b êÜíåé üôé ëÝåé ôï ôìÞìá prep, ìåôáãëùôôßæåé, åãêáèéóôÜ êáé ÷ôßæåé ìüíï ôï åêôåëÝóéìï ðáêÝôï. · a ôá ÷ôßæåé üëá (êáé ôá åêôåëÝóéìá êáé ôá ðçãáßïõ êþäéêá ðáêÝôá). ÕðÜñ÷ïõí áñêåôÝò ðáñáëëáãÝò óôï -b switch. ÁõôÝò åßíáé ïé áêüëïõèåò : · --short-circuit èá ìåôáâåß êáôåõèåßáí óå Ýíá óõãêåêñéìÝíï óçìåßï (ìðïñåß íá ÷ñçóéìïðïéçèåß ìüíï ìå ôá c êáé i). · --clean áðïìáêñýíåé ôï äÝíäñï ÷ôéóßìáôïò (build tree) üôáí ôåëåéþóåé. · --keep-temps èá êñáôÞóåé üëá ôá temp áñ÷åßá êáé ôá scripts ðïõ öôéÜ÷ôçêáí óôï /tmp. Ìðïñåßôå íá äåßôå ðïéá áñ÷åßá äçìéïõñãÞèçêáí óôïí êáôÜëïãï /tmp ÷ñçóéìïðïéþíôáò ôçí åðéëïãÞ -v . · --test äåí åêôåëåß ðñáãìáôéêÜ ôá âÞìáôá, ìüíï åëÝã÷åé áí ìðïñïýí íá ãßíïõí. [1m6.10. ÅëÝãîôå ôï[0m Áöïý öôéÜîáôå Ýíá åêôåëÝóéìï êáé Ýíá ìå ôïí ðçãáßï êþäéêá rpm ãéá ôï ðáêÝôï óáò, ÷ñåéÜæåôáé íá ôï åëÝãîåôå. Ï åõêïëüôåñïò êáé êáëýôåñïò ôñüðïò åßíáé íá ÷ñçóéìïðïéÞóåôå Ýíá ôåëåßùò äéáöïñåôéêü ìç÷Üíçìá ãéá íá ôï äïêéìÜóåôå. Óôï êÜôù-êÜôù, Ý÷åôå êÜíåé ôüóá make install óôï ìç÷ÜíçìÜ óáò, ðïõ èá ðñÝðåé íá åãêáôáóôáèåß êáëÜ. Ìðïñåßôå íá åëÝãîåôå ôï ðáêÝôï ãñÜöïíôáò rpm -u packagename, áëëÜ áõôü ìðïñåß íá óáò åîáðáôÞóåé åðåéäÞ óôï ÷ôßóéìï ôïõ ðáêÝôïõ, êÜíáôå make install. Áí áöÞóåôå êÜôé Ýîù áðü ôç ëßóôá áñ÷åßùí óáò, äå èá áðåãêáôáóôáèïýí. Èá åãêáôáóôÞóåôå îáíÜ ôï åêôåëÝóéìï ðáêÝôï (binary package) êáé ôï óýóôçìÜ óáò èá ëåéôïõñãåß êáé ðÜëé, áëëÜ ôï rpm äåí åßíáé åíôÜîåé. Óéãïõñåõôåßôå êáé Ý÷åôå õðüøç óáò üôé ìðïñåß åóåßò íá ãñÜöåôå rpm -ba package, ðïëëïß üìùò åãêáèéóôïýí ôï ðáêÝôï óáò êÜíïíôáò rpm -i package. Óéãïõñåõôåßôå üôé äåí êÜíåôå ôßðïôá óôá ôìÞìáôá build Þ install ðïõ èá ÷ñåéáóôåß íá ãßíåé üôáí ôá åêôåëÝóéìá ðáêÝôá åãêáèßóôáíôáé ìüíá ôïõò. [1m6.11. Ôé íá êÜíåôå ìå ôá íÝá óáò RPMs[0m Ìüëéò öôéÜîåôå ôï äéêü óáò íÝï RPM ãéá êÜôé (õðïèÝôïõìå üôé åßíáé êÜôé ðïõ äåí õðÜñ÷åé óå RPM), ìðïñåßôå íá ðñïóöÝñåôå ôç äïõëåéÜ óáò êáé óå Üëëïõò (åðßóçò õðïèÝôïõìå üôé öôéÜîáôå RPM åíüò ðñïãñÜììáôïò ðïõ äéáíåßìåôáé åëåýèåñá). Ãéá íá ôï êÜíåôå áõôü, èá èåëÞóåôå íá ôï áíåâÜóåôå óôï ftp.redhat.com <ftp://ftp.redhat.com>. [1m6.12. Êáé ôþñá;[0m ÄéáâÜóôå ðáñáêáëþ ôá ðáñáðÜíù ôìÞìáôá ó÷åôéêÜ ìå ôïí ¸ëåã÷ï êáé ôïõ ôé íá êÜíåôå ìå ôá íÝá RPMs. ÈÝëïõìå üóá RPMs åßíáé äõíáôü íá Ý÷ïõìå, êáé èÝëïõìå ìÜëéóôá íá åßíáé êáé êáëÜ RPMs. Ðáñáêáëþ äþóôå áñêåôü ÷ñüíï óôï ôåóôÜñéóìá ôùí ðáêÝôùí RPMs êáé êÜíôå ôïí êüðï íá ôá âÜëåôå óôï internet ãéá ôï êáëü üëùí ìáò. Åðßóçò, [4mðáñáêáëþ[24m óéãïõñåõôåßôå üôé êÜíåôå upload [4måëåýèåñá[24m [4mäéáèÝóéìï[24m [4mëïãéóìéêü[24m. Åìðïñéêü êáé shareware ëïãéóìéêü [4mäå[24m èá ðñÝðåé íá ãßíåôáé upload åêôüò êé áí Ý÷ïõí áíáöÝñåôáé ñçôÜ üôé åðéôñÝðåôáé óôçí Üäåéá ðíåõìáôéêÞò éäéïêôçóßáò. Áõôü ðåñéëáìâÜíåé ôï ëïãéóìéêü Netscape, ssh, pgp, êëð. [1m7. ×ôßæïíôáò RPM ãéá ðïëëÝò áñ÷éôåêôïíéêÝò[0m Ôï RPM ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá ÷ôßóåôå ðáêÝôá ãéá Intel i386, Digital Alpha ðïõ ôñÝ÷ïõí Linux êáé óå Sparc. ¸÷åé áíáöåñèåß üôé äïõëåýåé åðßóçò êáé óå óôáèìïýò åñãáóßáò SGI êáé HP. ÕðÜñ÷ïõí äéÜöïñá ÷áñáêôçñéóôéêÜ ðïõ êÜíïõí ôï ÷ôßóéìï ôùí ðáêÝôùí åýêïëï óå üëåò ôéò ðëáôöüñìåò. Ôï ðñþôï åßíáé ç íôéñåêôßâá ``optflags'' óôï /etc/rpmrc. Ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá èÝóåôå flags ðïõ ÷ñçóéìïðïéïýíôáé üôáí ÷ôßæåôå ëïãéóìéêü, óå ôéìÝò ðïõ åîáñôþíôáé áðü ôçí áñ÷éôåêôïíéêÞ ôïõ óõóôÞìáôïò. ¶ëëï Ýíá ÷áñáêôçñéóôéêü åßíáé ôá ``arch'' macros óôï áñ÷åßï ðñïäéáãñáöþí (spec file). Ìðïñïýí íá ÷ñçóéìïðïéçèïýí ãéá íá êÜíåôå äéÜöïñá ðñÜãìáôá áíÜëïãá ìå ôçí áñ÷éôåêôïíéêÞ ôïõ óõóôÞìáôïò óôçí ïðïßá ôï ÷ôßæåôå. ¶ëëï Ýíá ÷áñáêôçñéóôéêü åßíáé ç íôéñåêôßâá ``Exclude'' óôçí åðéêåöáëßäá (header). [1m7.1. ¸íá áðëü áñ÷åßï ðñïäéáãñáöþí (spec File)[0m Ôï ðáñáêÜôù åßíáé ôìÞìá ôïõ áñ÷åßïõ ðñïäéáãñáöþí (spec file) ãéá ôï ðáêÝôï ``fileutils''. Åßíáé ñõèìéóìÝíï ãéá íá ÷ôßæåôáé êáé óå 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* . . . [1m7.2. Optflags[0m Óå áõôü ôï ðáñÜäåéãìá, ìðïñåßôå íá äåßôå ðþò ÷ñçóéìïðïéåßôáé ç íôéñåêôßâá ``optflags'' áðü ôï /etc/rpmrc. ÁíÜëïãá ìå ôï ðÜíù óå ðïéá áñ÷éôåêôïíéêÞ èá ÷ôßóåôå, äßíåôå ôçí êáôÜëëçëç ôéìÞ óôï RPM_OPT_FLAGS. ÐñÝðåé íá êÜíåôå patch ôï Makefile Ýôóé þóôå ôï ðáêÝôï óáò íá ÷ñçóéìïðïéåß áõôÞ ôç ìåôáâëçôÞ áíôß ôùí êáíïíéêþí íôéñåêôßâùí ðïõ èá ìðïñïýóáôå íá ÷ñçóéìïðïéÞóåôå (üðùò -m486 êáé -O2). Ìðïñåßôå íá ðÜñåôå ìéá êáëÞ éäÝá ãéá ôï ôé ÷ñåéÜæåôáé íá êÜíåôå åãêáèéóôþíôáò ôï ðçãáßï êþäéêá ôïõ ðáêÝôïõ êáé áðïóõìðéÝóôå ôïí êþäéêá êáé åîåôÜóôå ôï Makefile. ÊïéôÜîôå ôüôå ôï patch ãéá ôï Makefile êáé äåßôå ôé áëëáãÝò ðñÝðåé íá êÜíåôå. [1m7.3. Macros[0m Ôï %ifarch macro åßíáé ðïëý óçìáíôéêü óå üëá áõôÜ. Ôéò ðåñéóóüôåñåò öïñÝò èá ÷ñåéáóôåß íá åöáñìüóåôå Ýíá-äýï patch åéäéêÜ ãéá ìéá óõãêåêñéìÝíç áñ÷éôåêôïíéêÞ. Óå áõôÞ ôçí ðåñßðôùóç, ôï RPM èá óáò åðéôñÝøåé íá åöáñìüóåôå áõôü ôï patch óå ìßá áñ÷éôåêôïíéêÞ ìüíï. Óôï ðáñáðÜíù ðáñÜäåéãìá, ôï fileutils Ý÷åé Ýíá patch ãéá ìç÷áíÝò 64 bit. Ðñïöáíþò, áõôü èá ðñÝðåé íá åöáñìïóôåß ìüíï óå Alpha ãéá ôçí þñá. ¸ôóé, ðñïóèÝôïõìå Ýíá %ifarch macro ãýñù áðü ôï 64 bit patch üðùò ðáñáêÜôù: %ifarch axp %patch1 -p1 %endif Áõôü åîáóöáëßæåé üôé ôï patch äå èá åöáñìïóôåß óå ïðïéáäÞðïôå áñ÷éôåêôïíéêÞ åêôüò áðü alpha. [1m7.4. Áöáéñþíôáò áñ÷éôåêôïíéêÝò áðü ÐáêÝôá[0m Ãéá íá ìðïñåßôå íá óõíôçñåßôå ðáêÝôá RPMs ðçãáßïõ êþäéêá óå Ýíáí êáôÜëïãï ãéá üëåò ôéò ðëáôöüñìåò, Ý÷ïõìå õëïðïéÞóåé ôçí éêáíüôçôá íá "áöáéñåßôå" ðáêÝôá þóôå íá ìç ÷ôéóôïýí óå óõãêåêñéìÝíåò áñ÷éôåêôïíéêÝò. Áõôü ãßíåôáé þóôå íá ìðïñåßôå íá êÜíåôå áêüìç ðñÜãìáôá üðùò rpm --rebuild /usr/src/SRPMS/*.rpm êáé íá ÷ôßóåôå ôá óùóôÜ ðáêÝôá. Áí äåí Ý÷åôå ìåôáöÝñåé ìéá åöáñìïãÞ óå ìéá óõãêåêñéìÝíç ðëáôöüñìá, ôï ìüíï ðïõ ðñÝðåé íá êÜíåôå åßíáé íá ðñïóèÝóåôå ìéá ãñáììÞ óáí áõôÞ : ExcludeArch: axp óôçí åðéêåöáëßäá ôïõ áñ÷åßïõ ðñïäéáãñáöþí ôïõ ðáêÝôïõ ìå ôïí êþäéêá. Óôç óõíÝ÷åéá, îáíá÷ôßóôå ôï ðáêÝôï óôçí ðëáôöüñìá ãéá ôçí ïðïßá ðñïïñßæåôáé. Èá Ý÷åôå ôüôå Ýíá ðáêÝôï ðçãáßïõ êþäéêá ðïõ ðáßæåé óå Intel êáé ìðïñåß åýêïëá íá ìåôáöåñèåß óå Alpha. [1m7.5. Ôåëåéþíïíôáò[0m ÓõíÞèùò, åßíáé åõêïëüôåñï íá ÷ñçóéìïðïéÞóåôå RPM ãéá íá öôéÜîåôå ðáêÝôá ãéá ðïëëáðëÝò -áñ÷éôåêôïíéêÝò áðü ôï íá ðÜñåôå ôï êÜèå ðáêÝôï îå÷ùñéóôÜ êáé íá ôï ÷ôßóåôå óôá äýï ìÝñç. Êáèþò ðïëëÜ áðü ôá ìåãÜëá ðáêÝôá ÷ôßæïíôáé, áõôü ãßíåôáé åõêïëüôåñï, ðáñüëáõôÜ. ¼ðùò ðÜíôá, ï êáëýôåñïò ôñüðïò ãéá íá áíáæçôÞóåôå âïÞèåéá üôáí êïëëÞóåôå ÷ôßæïíôáò Ýíá RPM åßíáé íá äåßôå ôïí êþäéêá åíüò ðáñüìïéïõ ðáêÝôïõ. [1m8. ÐíåõìáôéêÜ Äéêáéþìáôá[0m Ôá ðíåõìáôéêÜ äéêáéþìáôá áõôïý ôïõ êåéìÝíïõ êáé ôùí ðåñéå÷ïìÝíùí ôïõ ðñïóôáôåýïíôáé. ÅðéôñÝðåôáé ç åðáíáäéáíïìÞ áõôïý ôïõ êåéìÝíïõ åöüóïí ôï ðåñéå÷üìåíï ôïõ ðáñáìÝíåé áíáëëïßùôï. Ìå Üëëá ëüãéá, ôï ìüíï ðïõ ìðïñåßôå íá êÜíåôå åßíáé íá áëëÜîåôå ôç ìïñöÞ ôïõ êåéìÝíïõ, íá ôï ôõðþóåôå îáíÜ Þ íá ôï äéáíåßìåôå. [1m9. Ðåñß ôçò ÅëëçíéêÞò ÌåôÜöñáóçò[0m Ãéá ó÷üëéá, ðáñáôçñÞóåéò, äéïñèþóåéò, åíçìåñþóåéò ðåñß ôçò ÅëëçíéêÞò ìåôÜöñáóçò áõôïý ôïõ HOWTO, óôåßëôå email óôçí Âïýëá ÓáíéäÜ : voulariba@hellug.gr