Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > b64a0ed9abef7306f12de680983610ea > files > 38

howto-text-el-2006-5mdv2010.0.noarch.rpm

  Åëëçíéêü 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. Ðåñß ôçò ÅëëçíéêÞò ÌåôÜöñáóçò



  ______________________________________________________________________

  1.  ÅéóáãùãÞ

  Ôï RPM åßíáé åßíáé áêñùíýìéï ôïõ Red Hat Package Manager.  Ðáñüëï ðïõ
  ðåñéÝ÷åé ôï Red Hat óôï üíïìá ôïõ, ç ðñüèåóç åßíáé íá áðïôåëÝóåé Ýíá
  áíïéêôü óýóôçìá ðáêåôáñßóìáôïò, äéáèÝóéìï ðñïò ÷ñÞóç áðü êáèÝíáí.
  ÅðéôñÝðåé óôïõò ÷ñÞóôåò íá ðáßñíïõí ôïí ðçãáßï êþäéêá åíüò íÝïõ
  ëïãéóìéêïý êáé íá ôïí ðáêåôÜñïõí óå ðçãáßá êáé åêôåëÝóéìç ìïñöÞ, þóôå
  íá ìðïñïýí íá åãêáèßóôáíôáé êáé íá ðáñáêïëïõèïýíôáé åýêïëá ôá
  åêôåëÝóéìá ðáêÝôá, êáé ï ðçãáßïò êþäéêáò íá ìðïñåß íá ÷ôßæåôáé ìå áðëü
  ôñüðï.
  Äéáôçñåß åðßóçò ìéá âÜóç äåäïìÝíùí üëùí ôùí ðáêÝôùí êáé ôùí áñ÷åßùí
  ôïõò, ðïõ ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí åðáëÞèåõóç ôçò ýðáñîçò êáé
  áêåñáéüôçôáò ôùí ðáêÝôùí êáèþò êáé ãéá ôçí áðÜíôçóç óå åñùôÞóåéò
  ó÷åôéêÜ ìå áñ÷åßá Þ ðáêÝôá.


  Ç åôáéñåßá Red Hat Software åíèáññýíåé Üëëïõò ðñïìçèåõôÝò äéáíïìþí íá
  äéáèÝóïõí ÷ñüíï óôï íá êáôáíïÞóïõí ôï RPM êáé íá ôï ÷ñçóéìïðïéÞóïõí
  ãéá ôéò äéêÝò ôïõò äéáíïìÝò. Ôï RPM åßíáé ðïëý åõÝëéêôï êáé åý÷ñçóôï,
  ðáñüëï ðïõ ðáñÝ÷åé ôçí âÜóç ãéá Ýíá ðïëý åõñý óýóôçìá. Åßíáé åðßóçò
  ôåëåßùò áíïéêôü êáé ðëÞñùò äéáèÝóéìï, êáé èá åêôéìïýóáìå ïðïéåóäÞðïôå
  áíáöïñÝò óöáëìÜôùí êáé äéïñèþóåéò. Åê÷ùñåßôáé ç Üäåéá äùñåÜí ÷ñÞóçò
  êáé äéáíïìÞò ôïõ RPM êÜôù áðü ôïõò üñïõò ôçò GPL.

  Ìéá ðëçñÝóôåñç ôåêìçñßùóç ãéá ôï RPM åßíáé äéáèÝóéìç óôï âéâëßï ôïõ Ed
  Bailey, Maximum RPM.  Ôï âéâëßï åßíáé äéáèÝóéìï ãéá íá ôï êáôåâÜóåôå Þ
  íá ôï áãïñÜóåôå óôç äéåýèõíóç www.redhat.com <http://www.redhat.com>.


  2.  Åðéóêüðçóç

  Ðñþôá áð'üëá, åðéôñÝøôå ìïõ íá ðåñéãñÜøù ôá âáóéêÜ ôçò öéëïóïößáò ðïõ
  êñýâåôáé ðßóù áðü ôï RPM. ¸íáò ó÷åäéáóôéêüò óôü÷ïò Þôáí íá åðéôñÝøåé
  ôçí ÷ñÞóç ``ðñùôáñ÷éêïý (âáóéêïý)'' êþäéêá.  Ìå ôï RPP (ï ðñïçãïýìåíïò
  ìáò äéá÷åéñéóôÞò ðáêÝôùí, áðü ôïí ïðïßïí äå ÷ñçóéìïðïéÞèçêå ôßðïôá óôç
  äçìéïõñãßá ôïõ  RPM), ôá ðáêÝôá ðçãáßïõ êþäéêá Þôáí ``ðåéñáãìÝíïé''
  áñ÷éêïß ðçãáßïé êþäéêåò ðïõ ìåôÜ ÷ôßóáìå.  ÈåùñçôéêÜ, êÜðïéïò èá
  ìðïñïýóå íá åãêáôáóôÞóåé Ýíá ðçãáßï RPP êáé ìåôÜ íá êÜíåémake ÷ùñßò
  ðñïâëÞìáôá. ÁëëÜ ï ðçãáßïò êþäéêáò äåí Þôáí ï áñ÷éêüò ðñùôüôõðïò, êáé
  äåí õðÞñ÷å êáìßá áíáöïñÜ óôï ðïéåò áëëáãÝò ÷ñåéÜóôçêå íá êÜíïõìå ãéá
  íá ôá êáôáöÝñïõìå íá ÷ôßæåôáé åðéôõ÷þò.  Èá Ýðñåðå íá êáôåâÜóåôå ôïí
  áñ÷éêü ðñùôüôõðï êþäéêá îå÷ùñéóôÜ.  Ìå ôï ROM, Ý÷åôå ôïí áñ÷éêü êþäéêá
  ìáæß ìå Ýíá ìðÜëùìá (patch) ôï ïðïßï ÷ñçóéìïðïéÞóáìå ãéá íá êÜíïõìå ôç
  ìåôáãëþôôéóç. Áõôü ôï èåùñïýìå óáí Ýíá ìåãÜëï ðëåïíÝêôçìá. Ãéáôß; Ãéá
  ðïëëïýò ëüãïõò. Ðñþôá - ðñþôá, áí âãåé ìéá íÝá Ýêäïóç êÜðïéïõ
  ðñïãñÜììáôïò, äå ÷ñåéÜæåôáé íá áñ÷ßóåôå áíáãêáóôéêÜ áðü ôçí áñ÷Þ ãéá
  íá ôï ìåôáãëùôôßóåôå óôï RHL. Ìðïñåßôå íá êïéôÜîåôå óôï ìðÜëùìá
  (patch) ãéá ôï ôé ßóùò ÷ñåéáóôåß íá êÜíåôå. Ìå áõôüí ôïí ôñüðï, üëåò
  ïé ðñïêáèïñéóìÝíåò ñõèìßóåéò ôçò ìåôáãëþôôéóçò åßíáé åýêïëá
  êáôáíïçôÝò.

  Ôï RPM ó÷åäéÜóôçêå ãéá íá ðñïóöÝñåé éó÷õñÝò äõíáôüôçôåò åñþôçóçò.
  Ìðïñåßôå íá øÜîåôå ìÝóá óå ïëüêëçñç ôç âÜóç óáò ãéá ðáêÝôá Þ ãéá
  ïëüêëçñá áñ÷åßá. Ìðïñåßôå åðßóçò íá âñåßôå åýêïëá óå ðïéï ðáêÝôï
  áíÞêåé Ýíá óõãêåêñéìÝíï áñ÷åßï êáé áðü ðïéü ðñïÞëèå. Ôá ßäéá ôá RPM
  áñ÷åßá åßíáé óõìðéåóìÝíá áñ÷åßá, áëëÜ ìðïñåßôå íá êÜíåôå åýêïëá êáé
  óýíôïìá ìéá åñþôçóç óå îå÷ùñéóôÜ ðáêÝôá ÷Üñç óå ìéá åðéêåöáëßäá
  äõáäéêÞò ìïñöÞò, ðïõ Ý÷åé ðñïóôåèåß óôï ðáêÝôï êáé ðåñéÝ÷åé ïôéäÞðïôå
  ÷ñåéÜæåôáé íá ãíùñßæåôå. Áõôü óõíôåëåß óå ãñÞãïñç åñþôçóç.

  ¶ëëï Ýíá éó÷õñü ÷áñáêôçñéóôéêü åßíáé ç éêáíüôçôá íá åðáëçèåýóåôå
  ðáêÝôá.  Áí áíçóõ÷åßôå üôé óâÞóáôå Ýíá óçìáíôéêü áñ÷åßï ãéá êÜðïéï
  ðáêÝôï, áðëÜ åðáëçèåýóôå ôï. Èá åíçìåñùèåßôå ãéá ôõ÷üí áíùìáëßåò. Óå
  áõôÞ ôçí ðåñßðôùóç, ìðïñåßôå íá åðáíåãêáôáóôÞóåôå ôï ðáêÝôï áí åßíáé
  áðáñáßôçôï.  Ï,ôé áñ÷åßá ñõèìßóåùí åß÷áôå èá ðáñáìåßíïõí áêÝñáéá.

  Èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôá ðáéäéÜ ôçò äéáíïìÞò BOGUS ìéá êáé
  ðïëëÝò áðü ôéò éäÝåò ôïõò ÷ñçóéìïðïéÞèçêáí óôï RPM. Áí êáé ôï RPM
  ãñÜöôçêå áðïêëåéóôéêÜ áðü ôç Red Hat Software, ç ëåéôïõñãßá ôïõ åßíáé
  âáóéóìÝíç óôïí êþäéêá ðïõ ãñÜöôçêå ãéá ôç äéáíïìÞ BOGUS (PM êáé PMS).


  3.  ÃåíéêÝò Ðëçñïöïñßåò



  3.1.  Áðïêôþíôáò ôï RPM

  Ï êáëýôåñïò ôñüðïò íá áðïêôÞóåôå ôï RPM åßíáé íá óôÞóåôå ôï Red Hat
  Linux.  Áí äå èÝëåôå íá ôï êÜíåôå áõôü, ìðïñåßôå êáé ðÜëé íá ðÜñåôå
  êáé íá ÷ñçóéìïðïéÞóåôå ôï RPM.  Èá ôï âñåßôå óôï ftp.redhat.com
  <ftp://ftp.redhat.com/pub/redhat/code/rpm>.


  3.2.  ÁðáéôÞóåéò ôïõ RPM

  Ç êýñéá áðáßôçóç ãéá íá ôñÝîåôå ôï RPM åßíáé íá Ý÷åôå ôï cpio 2.4.2 Þ
  ìåãáëýôåñï.  Áí êáé ôï óýóôçìá ðñïïñßæåôáé ãéá ÷ñÞóç ìå Linux, ìðïñåß
  íá ìåôáöåñèåß êáé óå Üëëá óõóôÞìáôá Unix. ÓõãêåêñéìÝíá, Ý÷åé
  ìåôáãëùôôéóôåß ãéá SunOS, Solaris, AIX, Irix, AmigaOS êáé Üëëá.  Óáò
  ðñïåéäïðïéïýìå üôé ôá äõáäéêÜ-åêôåëÝóéìá ðáêÝôá ðïõ äçìéïõñãåßôå óå
  Ýíá óýóôçìá Unix äå èá åßíáé óõìâáôÜ óå Üëëï óýóôçìá.

  ÁõôÝò åßíáé ïé åëÜ÷éóôåò áðáéôÞóåéò ãéá íá åãêáôáóôÞóåôå RPMs. Ãéá íá
  ÷ôßóåôå RPMs áðü ôïí êþäéêá, ÷ñåéÜæåóôå üôé èá èÝëáôå êáíïíéêÜ ãéá íá
  ÷ôßóåôå Ýíá ðáêÝôï, üðùò ôá gcc, make, êëð.


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


  5.  Êáé ôé ìðïñþ íá êÜíù ðñáãìáôéêÜ  ìå ôï RPM;

  Ôï 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 üôáí åîïéêåéùèåßôå ìå áõôü.


  6.  ×ôßæïíôáò RPMs


  Åßíáé áñêåôÜ åýêïëï íá ÷ôßóåôå RPMs, åéäéêüôåñá áí ìðïñåßôå íá
  êáôáöÝñåôå íá ÷ôßóåôå áðü ìüíï ôïõ ôï ëïãéóìéêü ðïõ óáò åíäéáöÝñåé íá
  ðáêåôÜñåôå.

  Ç âáóéêÞ äéáäéêáóßá ãéá íá ÷ôßóåôå Ýíá RPM åßíáé ç áêüëïõèç:

  ·  ÅëÝãîôå üôé ôï /etc/rpmrc Ý÷åé åãêáôáóôáèåß óôï óýóôçìÜ óáò.

  ·  ÊÜíôå ôïí ðçãáßï êþäéêá ãéá ôïí ïðïßï èá ÷ôßóôå ôï RPM íá ðåñíÜåé
     áðü ìåôáãëþôôéóç óôï óýóôçìÜ óáò.

  ·  ÖôéÜîôå Ýíá ìðÜëùìá (patch) ãéá êÜèå áëëáãÞ ðïõ ÷ñåéáóôÞêáôå íá
     êÜíåôå þóôå íá ìåôáãëùôôéóôåß óùóôÜ

  ·  ÖôéÜîôå Ýíá áñ÷åßï ðñïäéáãñáöþí (spec file) ãéá ôï ðáêÝôï.

  ·  Âåâáéùèåßôå ðùò üëá åßíáé åßíáé óôç óùóôÞ ôïõò èÝóç.

  ·  ×ôßóôå ôï ðáêÝôï ÷ñçóéìïðïéþíôáò ôï RPM.

  Õðü öõóéïëïãéêÝò óõíèÞêåò, ôï RPM äçìéïõñãåß ôüóï ôï ðáêÝôï ôïõ
  åêôåëÝóéìïõ üóï êáé ôïõ ðçãáßïõ êþäéêá.



  6.1.  Ôï áñ÷åßï rpmrc

  Ãéá ôçí þñá, ç ìüíç ñýèìéóç ôïõ 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





  6.2.  Ôï áñ÷åßï ðñïäéáãñáöþí (Spec File)

  Èá îåêéíÞóïõìå ìå óõæÞôçóç ãéá ôï áñ÷åßï ðñïäéáãñáöþí.  Ôá áñ÷åßá
  ðñïäéáãñáöþí áðáéôïýíôáé ãéá íá ÷ôßóåôå Ýíá ðáêÝôï. Ôï áñ÷åßï
  ðñïäéáãñáöþí åßíáé ìéá ðåñéãñáöÞ ôïõ ëïãéóìéêïý ìáæß ìå åíôïëÝò êáé
  ïäçãßåò ãéá ôï ðþò èá óôçèïýí êáé ìßá ëßóôá ãéá üëá ôá åêôåëÝóéìá ðïõ
  åãêáôáóôÜèçêáí.

  Êáëü åßíáé íá ïíïìÜóåôå ôï áñ÷åßï ðñïäéáãñáöþí óýìöùíá ìå ôõðéêÝò
  óõìâÜóåéò.  Èá ðñÝðåé íá åßíáé ôï ðáêÝôï üíïìá-ðáýëá-áñéèìüò Ýêäïóçò
  (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





  6.3.  Ç åðéêåöáëßäá

  Ç åðéêåöáëßäá Ý÷åé ìåñéêÜ óôáèåñÜ ðåäßá ðïõ ðñÝðåé íá óõìðëçñùèïýí.
  Äßíïíôáé åðßóçò êáé ìåñéêÝò õðïäåßîåéò. Ôá ðåäßá ðñÝðåé íá
  óõìðëçñùèïýí üðùò öáßíåôáé ðáñáêÜôù:

  ·  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 ðåñéãñáöÞò áíÜ ðáêÝôï êáé/Þ õðïðáêÝôï. Áõôü åßíáé Ýíá ðåäßï
     ðïëëáðëþí-ãñáììþí ðïõ ðñÝðåé íá ÷ñçóéìïðïéçèåß ãéá íá äþóåé ìéá
     êáôáíïçôÞ ðåñéãñáöÞ ôïõ ðáêÝôïõ.
  6.4.  Prep

  Áõôü åßíáé ôï äåýôåñï ôìÞìá óôï áñ÷åßï ðñïäéáãñáöþí. ×ñçóéìïðïéåßôáé
  ãéá íá åôïéìÜóåôå ôïí êþäéêá ãéá ÷ôßóéìï. Åäþ ðñÝðåé íá êÜíåôå
  ïôéäÞðïôå ÷ñåéáóôåß ãéá íá êÜíåôå patch ôïõò êþäéêåò êáé íá ôïõò
  åãêáôáóôÞóåôå üðùò ðñÝðåé ãéá íá ãñÜøåôå make.

  Óçìåéþóôå ôï åîÞò:  ÊÜèå Ýíá áðü áõôÜ ôá ôìÞìáôá åßíáé ðñáãìáôéêÜ
  ÷þñïò ãéá íá åêôåëÝóåôå óêñéðôÜêéá öëïéïý (shell scripts).  Ìðïñåßôå
  áðëÜ íá öôéÜîåôå Ýíá sh script êáé íá ôï âÜëåôå ìåôÜ ôï %prep tag ãéá
  íá îåðáêåôÜñåôå êáé íá êÜíåôå patch ôïí êþäéêÜ óáò.  ÐáñüëáõôÜ, Ý÷ïõìå
  öôéÜîåé macros ãéá íá âïçèÞóïõìå ó'áõôü.

  Ôï ðñþôï áð'áõôÜ ôá macros åßíáé ôï %setup macro. Óôçí áðëïýóôåñÞ ôïõ
  ìïñöÞ (÷ùñßò åðéëïãÝò áðü ôç ãñáììÞ åíôïëþí), áðëÜ îåðáêåôÜñåé ôïí
  êþäéêá êáé ìðáßíåé óôïí êáôÜëïãï ìå ôïí êþäéêá.  Ðáßñíåé åðßóçò ôéò
  ðáñáêÜôù åðéëïãÝò:


  ·  -n name èÝôåé ôï üíïìá ôïõ êáôáëüãïõ ðïõ èá ÷ñçóéìïðïéçèåß ãéá ôï
     ÷ôßóéìï óôï üíïìá ðïõ áêïëïõèåß name.  Ôï ðñïêáèïñéóìÝíï üíïìá
     åßíáé $ÏÍÏÌÁ-$ÅÊÄÏÓÇ.  ¶ëëåò äõíáôüôçôåò ðåñéëáìâÜíïõí ôï $ÏÍÏÌÁ,
     ${ÏÍÏÌÁ}${ÅÊÄÏÓÇ}, Þ üôé ÷ñçóéìïðïéåß ôï êýñéï tar áñ÷åßï.
     (Óçìåéþóôå ðáñáêáëþ üôé ïé ìåôáâëçôÝò ``$'' äåí åßíáé ðñáãìáôéêÝò
     ìåôáâëçôÝò ðïõ äéáôßèåíôáé ìÝóá óôï áñ÷åßï ðñïäéáãñáöþí.
     ×ñçóéìïðïéïýíôáé åäþ áíôß ãéá Ýíá üíïìá-ðáñÜäåéãìá.  Åóåßò ðñÝðåé
     íá ÷ñçóéìïðïéÞóåôå ôï ðñáãìáôéêü üíïìá êáé ôçí Ýêäïóç óôï ðáêÝôï
     óáò, ü÷é ìéá ìåôáâëçôÞ).

  ·  -c èá äçìéïõñãÞóåé êáé èá ìðåé óôïí ïíïìáæüìåíï êáôÜëïãï ðñéí íá
     êÜíåé untar.

  ·  -b # èá êÜíåé untar ôïí Êþäéêá# ðñéí íá ìðåé óôïí êáôÜëïãï (êáé äå
     âãÜæåé íüçìá ìå ôçí åðéëïãÞ -c ãé'áõôü ìçí ôï êÜíåôå). Áõôü åßíáé
     ÷ñÞóéìï üôáí Ý÷åôå ðïëëáðëÜ áñ÷åßá ìå êþäéêá.

  ·  -a # èá êÜíåé untar ôïí Êþäéêá# áöïý ìðåé óôïí êáôÜëïãï.

  ·  -T ÁõôÞ ç åðéëïãÞ áãíïåß ôçí ðñïêáèïñéóìÝíç åðéëïãÞ ðïõ êÜíåé untar
     ôïí Êþäéêá êáé áðáéôåß ôçí åðéëïãÞ -b 0 Þ -a 0 ãéá íá êÜíåôå untar
     ôï êýñéï áñ÷åßï êþäéêá. Èá ôï ÷ñåéáóôåßôå áõôü üôáí õðÜñ÷ïõí
     äåõôåñåýïõóåò ðçãÝò.

  ·  -D ÌÇ äéáãñÜöåôå ôïí êáôÜëïãï ðñéí íá îåðáêåôÜñåôå. Áõôü åßíáé
     ÷ñÞóéìï ìüíï üðïõ Ý÷åôå ðåñéóóüôåñá ôïõ åíüò macro åãêáôÜóôáóçò. Èá
     ðñÝðåé íá ÷ñçóéìïðïéåßôáé ìüíï óå macros åãêáôÜóôáóçò ìåôÜ ôï ðñþôï
     (áëëÜ ðïôÝ óôï ðñþôï).


  Ôï åðüìåíï áðü ôá äéáèÝóéìá 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. ÊïéôÜîôå ôï
  ðáñáðÜíù ðáñÜäåéãìá ãéá ôïõò ôýðïõò ôùí ðñáãìÜôùí ðïõ ìðïñåß íá èÝëåôå
  íá êÜíåôå.


  6.5.  ×ôßóéìï (Build)

  Äåí õðÜñ÷ïõí áëÞèåéá macros óå áõôü ôï ôìÞìá. Èá ðñÝðåé áðëÜ íá âÜëåôå
  ôéò åíôïëÝò ðïõ èá ÷ñåéáóôåß íá ÷ñçóéìïðïéÞóåôå ãéá íá ÷ôßóåôå ôï
  ëïãéóìéêü áöïý Ý÷åôå îåðáêåôÜñåé ôïí êþäéêá, ôïí Ý÷åôå êÜíåé patch êáé
  Ý÷åôå ìðåé óôïí êáôÜëïãï.  Áõôü åßíáé áðëÜ Ýíá áêüìç óýíïëï åíôïëþí
  ðïõ ðåñíéïýíôáé óôï sh, Ýôóé þóôå üëåò ïé íüìéìåò åíôïëÝò sh ìðïñïýí
  íá ìðïõí åäþ (óõìðåñéëáìâáíïìÝíùí ôùí ó÷ïëßùí).

  Ï ôñÝ÷ùí êáôÜëïãïò ðïõ äïõëåýåôå ãßíåôáé reset óå êÜèå Ýíá áðü áõôÜ ôá
  ôìÞìáôá óôï ðéï øçëü åðßðåäï ôïõ êáôáëüãïõ ðïõ ðåñéÝ÷åé ôïí êþäéêá ,
  íá ôï Ý÷åôå õðüøç óáò. Ìðïñåßôå íá ìðåßôå óôïõò õðïêáôáëüãïõò ìå cd áí
  ÷ñåéáóôåß.


  6.6.  ÅãêáôÜóôáóç

  Ïýôå êáé åäþ õðÜñ÷ïõí, ðñáãìáôéêÜ, macros. ÈÝëåôå âáóéêÜ íá âÜëåôå üôé
  åíôïëÝò ÷ñåéÜæïíôáé ãéá ôçí åãêáôÜóôáóç. Áí Ý÷åôå óôç äéÜèåóÞ óáò ôï
  make install óôï ðáêÝôï ðïõ ÷ôßæåôå, âÜëôå ôï åêåß.  Áí ü÷é, ìðïñåßôå
  åßôå íá êÜíåôå patch ôï makefile þóôå íá ãñÜøåôå make install êáé óôç
  óõíÝ÷åéá íá æçôÞóåôå íá ãßíåé åäþ ôï make install , Þ ìðïñåßôå íá ôá
  åãêáôáóôÞóåôå åäþ ìå ôï ÷Ýñé ÷ñçóéìïðïéþíôáò sh åíôïëÝò.  Ìðïñåßôå íá
  èåùñÞóåôå ôïí ôñÝ÷ùí êáôÜëïãï óáí ôï ðéï øçëü åðßðåäï ôïõ êáôáëüãïõ ìå
  ôïí êþäéêá.


  6.7.  ÐñïáéñåôéêÜ óêñéðôÜêéá ðñéí êáé ìåôÜ ôçí
  ÅãêáôÜóôáóç/ÁðåãêáôÜóôáóç

  Ìðïñåßôå íá ðñïóèÝóåôå óêñéðôÜêéá ðïõ íá ôñÝ÷ïõí ðñéí êáé ìåôÜ ôçí
  åãêáôÜóôáóç/ áðåãêáôÜóôáóç ôùí åêôåëÝóéìùí ðáêÝôùí. Ï êýñéïò ëüãïò
  ãé'áõôü åßíáé íá êÜíåôå ðñÜãìáôá üðùò íá ôñÝîåôå ôï ldconfig áöïý
  åãêáôáóôÞóåôå Þ áöáéñÝóåôå ðáêÝôá ðïõ ðåñéÝ÷ïõí äéáìïéñáæüìåíåò
  âéâëéïèÞêåò.  Ôá macros ãéá êÜèå Ýíá áðü ôá óêñéðôÜêéá åßíáé ôá
  ðáñáêÜôù:

  ·  %pre åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ðñéí ôçí åãêáôÜóôáóç.

  ·  %post åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ìåôÜ ôçí åãêáôÜóôáóç.

  ·  %preun åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ðñéí ôçí
     áðåãêáôÜóôáóç.

  ·  %postun åßíáé ôï macro ðïõ åêôåëåß óêñéðôÜêéá ìåôÜ ôçí
     áðåãêáôÜóôáóç.

  Ôá ðåñéå÷üìåíá áõôþí ôùí ôìçìÜôùí ìðïñåß íá åßíáé ïðïéïõäÞðïôå ôýðïõ
  sh script,  áí êáé äå ÷ñåéÜæåóôå ôï #!/bin/sh.


  6.8.  Áñ÷åßá

  Áõôü åßíáé ôï ôìÞìá üðïõ ðñÝðåé íá äþóåôå ôç ëßóôá ôùí áñ÷åßùí ãéá ôï
  åêôåëÝóéìï ðáêÝôï.  Ôï RPM äåí Ý÷åé ôñüðï íá ãíùñßæåé ôé åêôåëÝóéìá
  åãêáôáóôÜèçêáí óáí áðïôÝëåóìá ôïõ make install. ÄÅÍ ÕÐÁÑ×ÅÉ ôñüðïò íá
  ôï êÜíåôå áõôü.  Ìåñéêïß ðñïôåßíïõí íá åêôåëÝóåôå ôç find ðñéí êáé
  ìåôÜ ôçí åãêáôÜóôáóç ôïõ ðáêÝôïõ. Óå Ýíá ðïëõ÷ñçóôéêü óýóôçìá, áõôü
  åßíáé áðáñÜäåêôï êáèþò åßíáé äõíáôü íá äçìéïõñãçèïýí Üëëá áñ÷åßá êáôÜ
  ôç äéáäéêáóßá ÷ôéóßìáôïò åíüò ðáêÝôïõ, ôá ïðïßá äåí Ý÷ïõí áðïëýôùò
  êáìßá ó÷Ýóç ìå ôï ßäéï ôï ðáêÝôï.

  ÕðÜñ÷ïõí ìåñéêÜ äéáèÝóéìá macros ðïõ êÜíïõí ôÝôïéåò åéäéêÝò
  ëåéôïõñãßåò. ÁõôÜ åßíáé ôá ðáñáêÜôù :

  ·  %doc ÷ñçóéìïðïéåßôáé ãéá íá ìáñêÜñåé ìÝóá óôï ðáêÝôï ðçãáßïõ êþäéêá
     ôçí ôåêìçñßùóç ðïõ èÝëåôå íá åãêáôáóôáèåß ìå ìßá åãêáôÜóôáóç
     binary. Ôá êåßìåíá èá åãêáôáóôáèïýí óôï
     /usr/doc/$NAME-$VERSION-$RELEASE.  Ìðïñåßôå íá Ý÷åôå ìå áõôü ôï
     macro ëßóôá ðïëëáðëþí êåéìÝíùí óôç ãñáììÞ åíôïëþí, Þ íá ðÜñåôå ôç
     ëßóôá êáèåíüò îå÷ùñéóôÜ ÷ñçóéìïðïéþíôáò Ýíá macro ãéá êáèÝíá
     áð'áõôÜ.

  ·  %config ÷ñçóéìïðïéåßôáé ãéá íá ìáñêÜñåé ôá áñ÷åßá ñõèìßóåùí óå Ýíá
     ðáêÝôï.  Áõôü ðåñéëáìâÜíåé áñ÷åßá üðùò ôá sendmail.cf, passwd, êëð.
     Áí áñãüôåñá áðåãêáôáóôÞóåôå Ýíá ðáêÝôï ðïõ ðåñéÝ÷åé áñ÷åßá
     ñõèìßóåùí, üðïéá áñ÷åßá äåí Üëëáîáí èá óâçóôïýí êáé üðïéá Ý÷ïõí
     õðïóôåß áëëáãÝò èá ìåôïíïìáóôïýí óôï ðáëéü üíïìá ìå êáôÜëçîç
     .rpmsave óôï üíïìá ôïõ áñ÷åßïõ.  Ìðïñåßôå, åðßóçò, íá ðÜñåôå ôç
     ëßóôá ðïëëáðëþí áñ÷åßùí ìå áõôü ôï macro.

  ·  %dir ìáñêÜñåé Ýíá ìüíï êáôÜëïãï óå ìéá ëßóôá áñ÷åßùí ðïõ èá
     óõìðåñéëçöèåß óáí íá áíÞêåé óôï ðáêÝôï. Åßíáé ðñïêáèïñéóìÝíï, üôé
     áí äåßôå ôç ëßóôá åíüò êáôáëüãïõ ×ÙÑÉÓ êÜðïéï %dir macro, ÏËÁ óå
     áõôüí ôïí êáôÜëïãï óõìðåñéëáìâÜíïíôáé óôç ëßóôá áñ÷åßùí êáé
     åãêáèéóôþíôáé óáí ôìÞìá ôïõ ðáêÝôïõ.

  ·  %files -f <filename> èá óáò åðéôñÝøåé íá åìöáíßóåôå ëßóôá ôùí
     áñ÷åßùí óáò óå êÜðïéï áõèáßñåôï áñ÷åßï ìÝóá óôïí êáôÜëïãï ôïõ
     ðçãáßïõ êþäéêá üðïõ ãßíåôáé ôï ÷ôßóéìï.  Áõôü åßíáé êáëü óå
     ðåñéðôþóåéò üðïõ Ý÷åôå Ýíá ðáêÝôï ðïõ ìðïñåß íá ÷ôßóåé ôç äéêÞ ôïõ
     ëßóôá áñ÷åßùí. Ôüôå áðëÜ åíóùìáôþíåôå åäþ áõôÞ ôç ëßóôá áñ÷åßùí êáé
     äå ÷ñåéÜæåôáé íá åìöáíßóåôå åéäéêÞ ëßóôá áñ÷åßùí.

  Ç ìåãáëýôåñç ðáãßäá óôç ëßóôá áñ÷åßùí åßíáé ç åìöÜíéóç êáôáëüãùí. Áí
  åìöáíßóåôå ôï /usr/bin êáôÜ ëÜèïò, ôï åêôåëÝóéìï ðáêÝôï óáò èá
  ðåñéÝ÷åé êÜèå áñ÷åßï óôï /usr/bin óôï óýóôçìÜ óáò.


  6.9.  ×ôßæïíôáò ôï


  6.9.1.  Ï äåíäñïåéäÞò êáôÜëïãïò ôïõ ðçãáßïõ êþäéêá

  Ôï ðñþôï ðïõ ÷ñåéÜæåóôå åßíáé Ýíá êáëÜ ñõèìéóìÝíï äÝíäñï ãéá ÷ôßóéìï
  (build tree).  Áõôü ñõèìßæåôáé ÷ñçóéìïðïéþíôáò ôï áñ÷åßï /etc/rpmrc.
  Ïé ðåñéóóüôåñïé èá ÷ñçóéìïðïéÞóïõí áðëÜ ôï /usr/src.

  Ìðïñåß íá ÷ñåéáóôåß íá äçìéïõñãÞóåôå ôïõò ðáñáêÜôù êáôáëüãïõò ãéá íá
  öôéÜîåôå Ýíá äÝíäñï ãéá ÷ôßóéìï (build tree):

  ·  BUILD åßíáé ï êáôÜëïãïò üðïõ ãßíåôáé ôï ÷ôßóéìï áðü ôï RPM.  Äå
     ÷ñåéÜæåôáé íá ôåóôÜñåôå ôï ÷ôßóéìï êÜðïõ óõãêåêñéìÝíá, áëëÜ åäþ èá
     êÜíåé ôï RPM èá êÜíåé ôï ÷ôßóéìü ôïõ.

  ·  SOURCES åßíáé ï êáôÜëïãïò üðïõ èá ðñÝðåé íá âÜëåôå ôá áñ÷éêÜ tar
     áñ÷åßá ðçãáßïõ êþäéêá êáé ôá patches. Åäþ åßíáé ðïõ Ý÷åé
     ðñïêáèïñéóôåß íá øÜîåé ôï RPM.

  ·  SPECS åßíáé ï êáôÜëïãïò üðïõ ðñÝðåé íá ðÜíå üëá ôá áñ÷åßá
     ðñïäéáãñáöþí (spec).
  ·  RPMS åßíáé åêåß üðïõ èá âÜëåé ôï RPM üëá ôá åêôåëÝóéìá RPMs ìåôÜ ôï
     ÷ôßóéìï.

  ·  SRPMS åßíáé åêåß ðïõ èá ìðïõí üëá ôá RPMs ðçãáßïõ êþäéêá.


  6.9.2.  ¸ëåã÷ïò óôï ÷ôßóéìï

  Ôï ðñþôï ðñÜãìá ðïõ ðéèáíÜ íá èÝëåôå íá êÜíåôå åßíáé íá ðÜñåôå ôïí
  êþäéêá êáé íá ÷ôßóåôå ôï ðáêÝôï ÷ùñßò íá ÷ñçóéìïðïéÞóåôå êáèüëïõ ôï
  RPM. Ãéá íá ôï êÜíåôå áõôü, îåðáêåôÜñåôå ôïí ðçãáßï êþäéêá, êáé
  áëëÜîôå ôï üíïìá ôïõ êáôáëüãïõ óå $NAME.orig. ÎåðáêåôÜñåôå ôïí êþäéêá
  îáíÜ. ×ñçóéìïðïéÞóôå ôïí êþäéêá ãéá íá ÷ôßóåôå ôï ðáêÝôï. Ðçãáßíåôå
  óôïí êáôÜëïãï ìå ôïí êþäéêá êáé áêïëïõèÞóôå ôéò ïäçãßåò ãéá ôï
  ÷ôßóéìï. Áí ðñÝðåé íá áëëÜîåôå ðñÜãìáôá, èá ÷ñåéáóôåßôå Ýíá ìðÜëùìá
  (patch). Ìüëéò ôï ÷ôßóåôå, êáèáñßóôå ôïí êáôÜëïãï ìå ôïí ðçãáßï
  êþäéêá.  Óéãïõñåõôåßôå üôé äéáãñÜøáôå üëá ôá áñ÷åßá ðïõ äçìéïõñãÞèçêáí
  áðü ôï script configure.  Óôç óõíÝ÷åéá, âãåßôå áðü ôïí êáôÜëïãï ìå ôïí
  ðçãáßï êþäéêá óôïí ðéï ðÜíù ãñÜöïíôáò cd . ÊÜíôå êÜôé óáí ôï ðáñáêÜôù:


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




  Áõôü èá óáò äçìéïõñãÞóåé Ýíá patch ôï ïðïßï ìðïñåßôå íá
  ÷ñçóéìïðïéÞóåôå óôï áñ÷åßï ðñïäéáãñáöþí óáò (spec file).  Óçìåéþóôå
  üôé ôï ``linux'' ðïõ âëÝðåôå óôï üíïìá ôïõ patch åßíáé áðëÜ
  áíáãíùñéóôéêü. Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå êÜôé ðéï åðåîçãçìáôéêü üðùò
  ``config'' Þ ``bugs'' þóôå íá åîçãÞóåôå ãéáôß ÷ñåéÜóôçêå íá öôéÜîåôå
  áõôü ôï patch.  Åßíáé åðßóçò êáëÞ éäÝá íá êïéôÜîåôå ôï patch áñ÷åßï
  ðïõ öôéÜ÷íåôå ðñéí íá ôï ÷ñçóéìïðïéÞóåôå þóôå íá óéãïõñåõôåßôå üôé äåí
  óõìðåñéëáìâÜíïíôáé êáôÜ ëÜèïò ôõ÷üí åêôåëÝóéìá.


  6.9.3.  Äçìéïõñãþíôáò ôç ëßóôá áñ÷åßùí

  Ôþñá ðïõ Ý÷åôå ôïí êþäéêá ãéá ôï ÷ôßóéìï ôïõ ðáêÝôïõ êáé îÝñåôå ðþò èá
  ôï êÜíåôå, ÷ôßóôå ôï êáé åãêáôáóôÞóôå ôï. ÊïéôÜîôå ôçí Ýîïäï ôçò
  äéáäéêáóßáò åãêáôÜóôáóçò êáé ÷ôßóôå ôç ëßóôá áñ÷åßùí óáò áðü áõôÞ ðïõ
  èá ÷ñçóéìïðïéÞóåôå óôï áñ÷åßï ðñïäéáãñáöþí. ÓõíÞèùò, ÷ôßæïõìå ôï
  áñ÷åßï ðñïäéáãñáöþí ðáñÜëëçëá ìå üëá áõôÜ ôá âÞìáôá.  Ìðïñåßôå íá
  äçìéïõñãÞóåôå ôï áñ÷éêü êáé íá óõìðëçñþóåôå ôá åýêïëá ôìÞìáôá, êáé óôç
  óõíÝ÷åéá íá óõìðëçñþíåôå êáé ôá õðüëïéðá âÞìáôá êáèþò ðñï÷ùñÜôå.



  6.9.4.  ×ôßæïíôáò ôï ÐáêÝôï ìå RPM

  Áðü ôç óôéãìÞ ðïõ Ý÷åôå Ýíá áñ÷åßï ðñïäéáãñáöþí (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 äåí åêôåëåß ðñáãìáôéêÜ ôá âÞìáôá, ìüíï åëÝã÷åé áí ìðïñïýí íá
     ãßíïõí.


  6.10.  ÅëÝãîôå ôï

  Áöïý öôéÜîáôå Ýíá åêôåëÝóéìï êáé Ýíá ìå ôïí ðçãáßï êþäéêá rpm ãéá ôï
  ðáêÝôï óáò, ÷ñåéÜæåôáé íá ôï åëÝãîåôå. Ï åõêïëüôåñïò êáé êáëýôåñïò
  ôñüðïò åßíáé íá ÷ñçóéìïðïéÞóåôå Ýíá ôåëåßùò äéáöïñåôéêü ìç÷Üíçìá ãéá
  íá ôï äïêéìÜóåôå.  Óôï êÜôù-êÜôù, Ý÷åôå êÜíåé ôüóá make install óôï
  ìç÷ÜíçìÜ óáò, ðïõ èá ðñÝðåé íá åãêáôáóôáèåß êáëÜ.

  Ìðïñåßôå íá åëÝãîåôå ôï ðáêÝôï ãñÜöïíôáò rpm -u packagename, áëëÜ áõôü
  ìðïñåß íá óáò åîáðáôÞóåé åðåéäÞ óôï ÷ôßóéìï ôïõ ðáêÝôïõ, êÜíáôå make
  install.  Áí áöÞóåôå êÜôé Ýîù áðü ôç ëßóôá áñ÷åßùí óáò, äå èá
  áðåãêáôáóôáèïýí.  Èá åãêáôáóôÞóåôå îáíÜ ôï åêôåëÝóéìï ðáêÝôï (binary
  package) êáé ôï óýóôçìÜ óáò èá ëåéôïõñãåß êáé ðÜëé, áëëÜ ôï rpm äåí
  åßíáé åíôÜîåé. Óéãïõñåõôåßôå êáé Ý÷åôå õðüøç óáò üôé ìðïñåß åóåßò íá
  ãñÜöåôå rpm -ba package, ðïëëïß üìùò åãêáèéóôïýí ôï ðáêÝôï óáò
  êÜíïíôáò rpm -i package. Óéãïõñåõôåßôå üôé äåí êÜíåôå ôßðïôá óôá
  ôìÞìáôá build Þ install ðïõ èá ÷ñåéáóôåß íá ãßíåé üôáí ôá åêôåëÝóéìá
  ðáêÝôá åãêáèßóôáíôáé ìüíá ôïõò.



  6.11.  Ôé íá êÜíåôå ìå ôá íÝá óáò RPMs

  Ìüëéò öôéÜîåôå ôï äéêü óáò íÝï RPM ãéá êÜôé (õðïèÝôïõìå üôé åßíáé êÜôé
  ðïõ äåí õðÜñ÷åé óå RPM), ìðïñåßôå íá ðñïóöÝñåôå ôç äïõëåéÜ óáò êáé óå
  Üëëïõò (åðßóçò õðïèÝôïõìå üôé öôéÜîáôå RPM åíüò ðñïãñÜììáôïò ðïõ
  äéáíåßìåôáé åëåýèåñá). Ãéá íá ôï êÜíåôå áõôü, èá èåëÞóåôå íá ôï
  áíåâÜóåôå óôï ftp.redhat.com <ftp://ftp.redhat.com>.




  6.12.  Êáé ôþñá;

  ÄéáâÜóôå ðáñáêáëþ ôá ðáñáðÜíù ôìÞìáôá ó÷åôéêÜ ìå ôïí ¸ëåã÷ï êáé ôïõ ôé
  íá êÜíåôå ìå ôá íÝá RPMs. ÈÝëïõìå üóá RPMs åßíáé äõíáôü íá Ý÷ïõìå, êáé
  èÝëïõìå ìÜëéóôá íá åßíáé êáé êáëÜ RPMs. Ðáñáêáëþ äþóôå áñêåôü ÷ñüíï
  óôï ôåóôÜñéóìá ôùí ðáêÝôùí RPMs êáé êÜíôå ôïí êüðï íá ôá âÜëåôå óôï
  internet ãéá ôï êáëü üëùí ìáò. Åðßóçò, ðáñáêáëþ óéãïõñåõôåßôå üôé
  êÜíåôå upload åëåýèåñá äéáèÝóéìï ëïãéóìéêü. Åìðïñéêü êáé shareware
  ëïãéóìéêü äå èá ðñÝðåé íá ãßíåôáé upload åêôüò êé áí Ý÷ïõí áíáöÝñåôáé
  ñçôÜ üôé åðéôñÝðåôáé óôçí Üäåéá ðíåõìáôéêÞò éäéïêôçóßáò. Áõôü
  ðåñéëáìâÜíåé ôï ëïãéóìéêü Netscape, ssh, pgp, êëð.


  7.  ×ôßæïíôáò RPM ãéá ðïëëÝò áñ÷éôåêôïíéêÝò

  Ôï RPM ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá ÷ôßóåôå ðáêÝôá ãéá Intel i386,
  Digital Alpha ðïõ ôñÝ÷ïõí Linux êáé óå Sparc. ¸÷åé áíáöåñèåß üôé
  äïõëåýåé åðßóçò êáé óå óôáèìïýò åñãáóßáò SGI êáé HP. ÕðÜñ÷ïõí äéÜöïñá
  ÷áñáêôçñéóôéêÜ ðïõ êÜíïõí ôï ÷ôßóéìï ôùí ðáêÝôùí åýêïëï óå üëåò ôéò
  ðëáôöüñìåò. Ôï ðñþôï åßíáé ç íôéñåêôßâá ``optflags'' óôï /etc/rpmrc.
  Ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá èÝóåôå flags ðïõ ÷ñçóéìïðïéïýíôáé üôáí
  ÷ôßæåôå ëïãéóìéêü, óå ôéìÝò ðïõ åîáñôþíôáé áðü ôçí áñ÷éôåêôïíéêÞ ôïõ
  óõóôÞìáôïò.  ¶ëëï Ýíá ÷áñáêôçñéóôéêü åßíáé ôá ``arch'' macros óôï
  áñ÷åßï ðñïäéáãñáöþí (spec file).  Ìðïñïýí íá ÷ñçóéìïðïéçèïýí ãéá íá
  êÜíåôå äéÜöïñá ðñÜãìáôá áíÜëïãá ìå ôçí áñ÷éôåêôïíéêÞ ôïõ óõóôÞìáôïò
  óôçí ïðïßá ôï ÷ôßæåôå.  ¶ëëï Ýíá ÷áñáêôçñéóôéêü åßíáé ç íôéñåêôßâá
  ``Exclude'' óôçí åðéêåöáëßäá (header).


  7.1.  ¸íá áðëü áñ÷åßï ðñïäéáãñáöþí (spec File)

  Ôï ðáñáêÜôù åßíáé ôìÞìá ôïõ áñ÷åßïõ ðñïäéáãñáöþí (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*

  .
  .
  .





  7.2.  Optflags

  Óå áõôü ôï ðáñÜäåéãìá, ìðïñåßôå íá äåßôå ðþò ÷ñçóéìïðïéåßôáé ç
  íôéñåêôßâá ``optflags'' áðü ôï /etc/rpmrc. ÁíÜëïãá ìå ôï ðÜíù óå ðïéá
  áñ÷éôåêôïíéêÞ èá ÷ôßóåôå, äßíåôå ôçí êáôÜëëçëç ôéìÞ óôï RPM_OPT_FLAGS.
  ÐñÝðåé íá êÜíåôå patch ôï Makefile Ýôóé þóôå ôï ðáêÝôï óáò íá
  ÷ñçóéìïðïéåß áõôÞ ôç ìåôáâëçôÞ áíôß ôùí êáíïíéêþí íôéñåêôßâùí ðïõ èá
  ìðïñïýóáôå íá ÷ñçóéìïðïéÞóåôå (üðùò -m486 êáé -O2).  Ìðïñåßôå íá
  ðÜñåôå ìéá êáëÞ éäÝá ãéá ôï ôé ÷ñåéÜæåôáé íá êÜíåôå åãêáèéóôþíôáò ôï
  ðçãáßï êþäéêá ôïõ ðáêÝôïõ êáé áðïóõìðéÝóôå ôïí êþäéêá êáé åîåôÜóôå ôï
  Makefile.  ÊïéôÜîôå ôüôå ôï patch ãéá ôï Makefile êáé äåßôå ôé áëëáãÝò
  ðñÝðåé íá êÜíåôå.


  7.3.  Macros

  Ôï %ifarch macro åßíáé ðïëý óçìáíôéêü óå üëá áõôÜ. Ôéò ðåñéóóüôåñåò
  öïñÝò èá ÷ñåéáóôåß íá åöáñìüóåôå Ýíá-äýï patch åéäéêÜ ãéá ìéá
  óõãêåêñéìÝíç áñ÷éôåêôïíéêÞ.  Óå áõôÞ ôçí ðåñßðôùóç, ôï RPM èá óáò
  åðéôñÝøåé íá åöáñìüóåôå áõôü ôï patch óå ìßá áñ÷éôåêôïíéêÞ ìüíï.

  Óôï ðáñáðÜíù ðáñÜäåéãìá, ôï fileutils Ý÷åé Ýíá patch ãéá ìç÷áíÝò 64
  bit.  Ðñïöáíþò, áõôü èá ðñÝðåé íá åöáñìïóôåß ìüíï óå Alpha ãéá ôçí
  þñá. ¸ôóé, ðñïóèÝôïõìå Ýíá %ifarch macro ãýñù áðü ôï 64 bit patch üðùò
  ðáñáêÜôù:

  %ifarch axp
  %patch1 -p1
  %endif




  Áõôü åîáóöáëßæåé üôé ôï patch äå èá åöáñìïóôåß óå ïðïéáäÞðïôå
  áñ÷éôåêôïíéêÞ åêôüò áðü alpha.


  7.4.  Áöáéñþíôáò áñ÷éôåêôïíéêÝò áðü ÐáêÝôá

  Ãéá íá ìðïñåßôå íá óõíôçñåßôå ðáêÝôá RPMs ðçãáßïõ êþäéêá óå Ýíáí
  êáôÜëïãï ãéá üëåò ôéò ðëáôöüñìåò, Ý÷ïõìå õëïðïéÞóåé ôçí éêáíüôçôá íá
  "áöáéñåßôå" ðáêÝôá þóôå íá ìç ÷ôéóôïýí óå óõãêåêñéìÝíåò
  áñ÷éôåêôïíéêÝò. Áõôü ãßíåôáé þóôå íá ìðïñåßôå íá êÜíåôå áêüìç ðñÜãìáôá
  üðùò


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




  êáé íá ÷ôßóåôå ôá óùóôÜ ðáêÝôá. Áí äåí Ý÷åôå  ìåôáöÝñåé ìéá åöáñìïãÞ
  óå ìéá óõãêåêñéìÝíç ðëáôöüñìá, ôï ìüíï ðïõ ðñÝðåé íá êÜíåôå åßíáé íá
  ðñïóèÝóåôå ìéá ãñáììÞ óáí áõôÞ :


       ExcludeArch: axp




  óôçí åðéêåöáëßäá ôïõ áñ÷åßïõ ðñïäéáãñáöþí ôïõ ðáêÝôïõ ìå ôïí êþäéêá.
  Óôç óõíÝ÷åéá, îáíá÷ôßóôå ôï ðáêÝôï óôçí ðëáôöüñìá ãéá ôçí ïðïßá
  ðñïïñßæåôáé.  Èá Ý÷åôå ôüôå Ýíá ðáêÝôï ðçãáßïõ êþäéêá ðïõ ðáßæåé óå
  Intel êáé ìðïñåß åýêïëá íá ìåôáöåñèåß óå Alpha.


  7.5.  Ôåëåéþíïíôáò

  ÓõíÞèùò, åßíáé åõêïëüôåñï íá ÷ñçóéìïðïéÞóåôå RPM ãéá íá öôéÜîåôå
  ðáêÝôá ãéá ðïëëáðëÝò -áñ÷éôåêôïíéêÝò áðü ôï íá ðÜñåôå ôï êÜèå ðáêÝôï
  îå÷ùñéóôÜ êáé íá ôï ÷ôßóåôå óôá äýï ìÝñç.  Êáèþò ðïëëÜ áðü ôá ìåãÜëá
  ðáêÝôá ÷ôßæïíôáé, áõôü ãßíåôáé åõêïëüôåñï, ðáñüëáõôÜ.  ¼ðùò ðÜíôá, ï
  êáëýôåñïò ôñüðïò ãéá íá áíáæçôÞóåôå âïÞèåéá üôáí êïëëÞóåôå ÷ôßæïíôáò
  Ýíá RPM åßíáé íá äåßôå ôïí êþäéêá åíüò ðáñüìïéïõ ðáêÝôïõ.



  8.  ÐíåõìáôéêÜ Äéêáéþìáôá

  Ôá ðíåõìáôéêÜ äéêáéþìáôá áõôïý ôïõ êåéìÝíïõ êáé ôùí ðåñéå÷ïìÝíùí ôïõ
  ðñïóôáôåýïíôáé.  ÅðéôñÝðåôáé ç åðáíáäéáíïìÞ áõôïý ôïõ êåéìÝíïõ åöüóïí
  ôï ðåñéå÷üìåíï ôïõ ðáñáìÝíåé áíáëëïßùôï.  Ìå Üëëá ëüãéá, ôï ìüíï ðïõ
  ìðïñåßôå íá êÜíåôå åßíáé íá áëëÜîåôå ôç ìïñöÞ ôïõ êåéìÝíïõ, íá ôï
  ôõðþóåôå îáíÜ Þ íá ôï äéáíåßìåôå.


  9.  Ðåñß ôçò ÅëëçíéêÞò ÌåôÜöñáóçò

  Ãéá ó÷üëéá, ðáñáôçñÞóåéò, äéïñèþóåéò, åíçìåñþóåéò ðåñß ôçò ÅëëçíéêÞò
  ìåôÜöñáóçò áõôïý ôïõ HOWTO, óôåßëôå email óôçí Âïýëá ÓáíéäÜ :
  voulariba@hellug.gr