Gentoo Logo

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

(Pentru un pachet binar compatibil cu Portage)
# ebuild cale/catre/ebuild package

(Pentru un pachet RPM)
# 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    (Portage însuşi)
$ man emerge     (Comanda emerge)
$ man ebuild     (Comanda ebuild)
$ man 5 ebuild   (Sintaxa fişierului ebuild)

Veţi găsi, de asemenea, informaţii în legătură cu dezvoltarea în Manualul Dezvoltatorilor.


[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


Imprimare

View all

Actualizat la 9 Iunie 2005

Această traducere nu mai este întreţinută

Sumar: În "Aplicaţia Ebuild" sunteţi informaţi despre paşii pe care Portage îi parcurge în timpul instalării pachetelor software şi cum puteţi face acest lucru utilzând aplicaţia ebuild.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Dezvoltator Gentoo x86

Tavis Ormandy
Dezvoltator Gentoo Alpha

Jason Huebel
Dezvoltator Gentoo x86

Guy Martin
Dezvoltator Gentoo HPPA

Pieter Van den Abeele
Dezvoltator Gentoo PPC

Joe Kallar
Dezvoltator Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Lars Weiler
Editor

Jochen Maes
Editor

Grant Goodyear
Corector

Gerald J. Normandin Jr.
Corector

Donnie Berkholz
Corector

Ken Nowack
Corector

Alin Dobre
Translator Responsabil

Ion Mudreac
Translator

Teddy Drăguţă
Translator

Talos Teodor
Translator

Dragoş Toma
Translator

Muntean Alex
Translator

George Nistorică
Translator

Emil Sîrbu
Translator

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.