Colectăm pachetul rpm cu mâinile noastre

intrare

În prima parte a articolului ați aflat despre elementele de bază ale lucrărilor RPM. Dar de multe ori se întâmplă că aveți nevoie pentru a pune împreună un pachet cu opțiunile dorite (inclusiv suport pentru MySQL, PostgreSQL sau Cirus-sasl2, etc.), care sunt absente în pachetul rpm, care vine de pe disc cu distribuția. Modul de ieșire din această situație este de a vă asambla propriul pachet.

Pentru a facilita asamblarea pachetelor rpm, există un pachet special conceput pentru acest scop - construcție rpm.

Așa cum se poate vedea din descriere, acest pachet conține un set de scripturi și programe concepute pentru a construi pachete.

Pentru a asambla un pachet pentru începători, este necesar să descărcați așa-numitul. sursa pentru ansamblul de pachete, de regulă, fișiere cu extensia src.rpm. Uneori, ca și în cazul curier-imap, fișierul de spec. Este inclus în codul sursă.

Foarte convenabil pentru căutarea pachetelor rpm și src.rpm este site-ul www.rpmfind.net. De exemplu, am găsit pachetul de care aveam nevoie - postfix, squid, etc. Putem afla imediat ce pachete sunt necesare pentru ao construi. Aici este o pagină standard cu informații despre pachetul pentru postix și squid. De asemenea, există o sumă de control pentru verificarea integrității pachetului.

După ce am primit codul sursă și le-am verificat integritatea, trebuie să instalăm pachetul corespunzător.

După această operație, sursa și toate pachti postfixat necesare și script-uri au fost instalate în / usr / src / redhat / SOURCES /, și fișierul spec (utilizator pentru a asambla rpm pachet) în / usr / src / redhat / SPECS /.

Aceasta este locația implicită pentru fișiere atunci când instalați src.rpm. În principiu, numele dosarelor vorbesc de la sine.

/ usr / src / redhat / BUILD
Codul sursă al pachetului corespunzător este despachetat în acest dosar. În mod implicit, după asamblarea pachetului, codul sursă nu este șters, pentru a le elimina, trebuie să specificați opțiunea de curățare în timpul montării.

/ usr / src / redhat / RPMS / arhivă
în cazul în care arc-numele numele arhitecturii și poate fi una dintre următoarele valori: Athlon, i386, i486, i586, i686, noarch. După asamblare este pachet complet gata rpm va fi plasat în locația corespunzătoare, în funcție de ceea ce setați arhitectura atunci când construirea pachetului folosind cheia --target.

/ usr / src / redhat / SOURCE
după instalarea pachetului src.rpm, în acest dosar sunt plasate codul sursă al pachetului, precum și diverse patch-uri și scripturi. Dacă trebuie să impuneți un patch, acesta trebuie copiat în acest dosar.

/ usr / src / redhat / SPECS
în acest dosar există un așa-zis. spec, care specifică secvența de acțiuni pentru a construi pachetul rpm.

/ usr / src / redhat / SRPMS
După terminarea pachetului rpm, pachetul corespunzător src.rpm va fi scris în acest dosar.

Deci, pentru a începe colectarea pachetului, trebuie să mergeți la dosarul cu fișierul spec și să executați următoarea comandă

Din ultimele linii se poate observa că pachetul rpm terminat numit postfixat-2.2.8-1.2.i686.rpm și salvat în directorul / usr / src / redhat / RPMS / i686 /, deoarece la asamblarea pachetului am specificat --target cheie = i686 .

Adunarea însăși nu trebuie să provoace nici o problemă. Dar dacă vom avea nevoie să construim un pachet cu opțiunile sale, de exemplu, vom permite suportul mysql sau sasl2, etc. În aceste scopuri va fi necesar să se corecteze fișierul spec.

Structura fișierului Spec

Un fișier struct spec constă din 6 secțiuni.

antet
Antetul conține mai multe câmpuri standard:

Prep
Aceasta este a doua secțiune din fișierul spec. Acesta este folosit pentru a face codul sursă gata pentru a construi. De regulă, codul sursă este despachetat și se aplică patch-urile corespunzătoare.

construi
Această secțiune conține comenzile pe care trebuie să le efectuați pentru a construi software-ul, după ce a fost despachetat și au fost aplicate patch-urile corespunzătoare.

instala
Această secțiune conține comenzile necesare pentru a instala pachetul.

Scripturile care sunt executate înainte și după instalarea / eliminarea unui pachet

  • % pre - o macro pentru executarea scriptului de preinstalare.
  • % post - o macro pentru executarea unui script post-instalare.
  • % preun - macro pentru a rula scriptul înainte de a elimina pachetul.
  • % postun - macro-ul pentru ca scriptul să se execute după ștergerea pachetului.

Fișiere
Aici este o listă de fișiere care vor fi incluse în pachetul rpm binar.

Luați în considerare o parte din fișierul postfix spec, trebuie remarcat faptul că postfix are un fișier spec specific non-standard.

De exemplu, ne-am dorit să colecteze postfix cu suport pentru MySQL, în acest scop, la începutul schimbării .efine MYSQL 0 la .efine MYSQL 1. și apoi executați comanda

El ne spune că trebuie să instalați pachetul mysql-devel pentru al construi. Rețineți că versiunea nu este specificată, înseamnă că puteți instala orice versiune suportată de postfix sau pachetul de care aveți nevoie.

Dacă ați fi colectat de la codul sursă, atunci ar trebui să vă aflați ce pachete sunt necesare pentru a construi acest pachet. Acesta este unul dintre avantajele construirii din src.rpm în comparație cu tar.gz sau tar.bz2.

Instalați pachetul corespunzător

Și reporniți ansamblul postfix. De data aceasta vedem că toate pachetele necesare pentru asamblare au fost instalate și acum este necesar, așteptați până când construcția este terminată.

Am colectat întregul pachet, acum este necesar să îl instalăm și să ne bucurăm de viață.

Pentru o înțelegere mai bună, să aruncăm o privire asupra ansamblului de calmar, care are o structură de fișiere spec. Ca întotdeauna, instalați src.rpm mai întâi, dar nu uitați să verificați mărimea și suma de control.

Puteți găsi toate tastele posibile după cum urmează.

După ce ați găsit cheia dorită, adăugați-o la% configure. De exemplu, vrem să construim un calmar cu suport pentru ssl. Din ajutor, am stabilit că pentru aceasta trebuie să adăugați două chei --enable-ssl și --with-openssl. Facem schimbările necesare

Salvați fișierul și porniți ansamblul.

Toate calmarurile pe care le-am compilat cu succes, acum rămâne doar să le instalăm sau să le actualizăm.

Articole similare