Avertisment :
Acest manual a fost înlocuit cu o versiune mai nouă şi nu mai este întreţinut.
|
[ << ]
[ < ]
[ Acasă ]
[ > ]
[ >> ]
6. Aplicaţia Ebuild
Conţinut:
6.a. Emerge şi Ebuild
Aplicaţia ebuild este o interfaţă de nivel mai scăzut pentru sistemul Portage. Utilizând această aplicaţie, puteţi executa acţiuni specifice pentru un anumit fişier ebuild. Spre exemplu, puteţi efectua paşii instalării unui pachet individual.
Utilizarea ebuild este mai mult pentru scopuri de dezvoltare; mai multe informaţii despre ebuild pot, astfel, fi găsite în Manualul Dezvoltatorilor. În orice caz, vom prezenta ce instanţe ale unui ebuild sunt invocate de Portage în timpul procesului de instalare al unui anumit pachet şi cum să invocăm paşii post-configurare permişi de unele ebuild-uri.
6.b. Instalarea Manuală de Aplicaţii
Descărcarea Surselor & Validarea
De câte ori invocaţi ebuild pentru un anumit fişier ebuild, acesta va verifica dacă sumele de control ale tuturor fişierelor implicate sunt egale cu cele conţinute în fişierul Manifest sau files/digest-<nume>-<versiune>. Aceasta se întâmplă după ce sursele au fost descărcate.
Pentru a descărca sursele utilizând comanda ebuild, rulaţi:
Cod 2.1: Descărcarea surselor |
# ebuild cale/catre/ebuild fetch
|
Dacă suma de control md5 nu se potriveşte cu cea listată în fişierul Manifest sau dacă una din sursele descărcate nu se potrivesc celor conţinute în fişierul files/digest-<package>, veţi primi un mesaj de eroare similar cu următorul:
Cod 2.2: Sumă de control incorectă pentru ebuild |
!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6
|
Următoarea linie, va menţiona fişierul eronat.
Dacă sunteţi convins că sursele pe care le-aţi descărcat sau însuşi fişierul ebuild sunt valide, puteţi regenera fişierele Manifest şi digest-<package> utilizând funcţionalitatea digest a comenzii ebuild:
Cod 2.3: Regenerarea Manifest şi digest |
# ebuild cale/catre/ebuild digest
|
Decompresia Surselor
Pentru a decompresa sursele în /var/tmp/portage (sau orice alt director specificat în /etc/make.conf), utilizaţi funcţionalitatea unpack a comenzii ebuild:
Cod 2.4: Decompresia surselor |
# ebuild cale/catre/ebuild unpack
|
Aceasta va executa funcţia src_unpack() (ce are conţinutul implicit extragerea directă dacă nu este specificată nici o funcţie src_unpack() ). Tot în acest pas se aplică toate patch-urile.
Compilarea Surselor
Următorul pas în procesul de instalare este compilarea surselor. Funcţionalitatea compile a comenzii ebuild realizează acest pas prin execuţia funcţiei src_compile() din fişierul ebuild. Aceasta include şi paşii de configurarea, dacă este cazul.
Cod 2.5: Compilarea surselor |
# ebuild cale/catre/ebuild compile
|
Este recomandat să editaţi funcţia src_compile() a fişierului ebuild dacă doriţi să modificaţi instrucţiunile de compilare. Totuşi, puteţi determina Portage să considere că aplicaţia ebuild a terminat paşii de compilare. Rulaţi individual toate comenzile necesare şi creaţi un fişier numit .compiled în directorul de lucru:
Cod 2.6: Informarea Portage despre terminarea paşilor de compilare |
# touch .compiled
|
Instalarea Fişierelor într-o Locaţie Temporară
La următorul pas, Portage va instala toate fişierele necesare într-o locaţie temporară. Acest director va conţine, în acest caz, toate fişierele ce urmează să fie instalate în sistemul de fişiere real. Puteţi realiza acest lucru prin rularea funcţiei install a comenzii ebuild ce execută funcţia src_install() din fişierul ebuild:
Cod 2.7: Instalarea fişierelor |
# ebuild cale/catre/ebuild install
|
Instalarea Fişierelor în Sistemul de Fişiere Real
Pasul final este instalarea tuturor fişierelor în sistemul de fişiere real şi înregistrarea acestor fişiere în baza de date a Portage. Comanda ebuild denumeşte acest pas "qmerge" şi implică următorii paşi:
- Execuţia funcţiei pkg_preinst(), dacă este specificat
- Copierea tuturor fişierelor în sistmul de fişiere real
- Înregistrarea fişierelor în baza de date Portage
- Execuţia funcţiei pkg_postinst(), dacă este specificat
Rulaţi funcţia qmerge a comenzii ebuild pentru a realiza aceşti paşi:
Cod 2.8: Instalarea fişierelor în sistemul de fişiere real |
# ebuild cale/catre/ebuild qmerge
|
Curăţarea Directorului Temporar
În final, puteţi curăţa directorul temporar prin utilizarea funcţiei clean a comenzii ebuild:
Cod 2.9: Curăţarea directorului temporar |
# ebuild cale/catre/ebuild clean
|
6.c. Caracteristici Adiţionale Ebuild
Rularea Tuturor Comenzilor Legate de Instalare
Utilizând funcţia merge a comenzii ebuild puteţi rula descărcarea, decompresia, compilarea, instalarea şi comenzile qmerge într-un singur pas:
Cod 3.1: Instalarea aplicaţiilor |
# ebuild cale/catre/ebuild merge
|
Efectuarea Acţiunilor de Configurare
Unele aplicaţii includ instrucţiuni ce configurează pachetul în continuare, pe sistemul dvs. Aceste instrucţiuni pot fi interactive şi, de aceea, nu pot fi executate automat. Pentru a rula aceşti paşi de configurare, ce sunt listaţi în funcţia (opţională) a fişierului ebuild, utilizaţi funcţionalitatea config a comenzii ebuild:
Cod 3.2: Configurarea unui pachet |
# ebuild cale/catre/ebuild config
|
Costruirea unui pachet (RPM)
Îi puteţi specifica sistemului Portage să creeze un pachet binar pentru un fişier ebuild, sau chiar un pachet RPM. Utilizaţi funcţia package sau rpm a comenzii ebuild pentru a crea aceste arhive. Există, totuşi, unele diferenţe de funcţionalitate între acestea două:
-
Funcţionalitatea package este asemănătoare cu cea de instalare, executând toţi paşii necesari (descărcare, decompresie, compilare, instalare) înainte ca pachetul să fie creat
-
Funcţionalitatea rpm construieşte un pachet RPM din fişierele create după ce a rulat funcţia install a comenzii ebuild
Cod 3.3: Crearea de pachete |
# ebuild cale/catre/ebuild package
# ebuild cale/catre/ebuild rpm
|
Totuşi, fişierul RPM creat, nu va conţine informaţia de dependenţă a fişierului ebuild.
6.d. Mai Multe Informaţii
Vă rugăm să consultaţi următoarele pagini de manual pentru mai multe informaţii despre Portage, aplicaţia ebuild şi fişierele ebuild:
Cod 4.1: Pagini de manual |
$ man portage
$ man emerge
$ man ebuild
$ man 5 ebuild
|
Veţi găsi, de asemenea, informaţii în legătură cu dezvoltarea în Manualul Dezvoltatorilor.
[ << ]
[ < ]
[ Acasă ]
[ > ]
[ >> ]
Conţinutul acestui document este publicat sub licenţa Creative Commons -
Attribution / Share Alike.
|