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 sistemul 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.
|