Acest document descrie sistemul de construcție SUSE și este un ajutor pentru asamblarea pachetelor RPM pentru openSUSE. Aceste informații vă vor ajuta să vă creați propriul mediu pentru construirea pachetelor. Primele patru părți ale acestui document descriu cum funcționează totul și apoi există exemple pe care le puteți încerca singur.
Atenție, acest tutorial nu are legătură cu serviciul de construire openSUSE, tutorialul privind serviciul de construire se află în serviciul Build / Tutorial.
Cunoștințe necesare
Trebuie să înțelegeți procesul de creare a pachetelor RPM. Scopul acestui document nu este de a înlocui documentația RPM. Există numeroase TUTORIALE și cărți despre HOWTO dedicate acestei căutări în secțiunea Resurse a legăturilor care se referă la RPM.
De asemenea, trebuie să aveți experiență cu utilitățile PGP, în special cu GNU Privacy Guard (GPG), ca și cu cea mai răspândită implementare a OpenPGP. Vom explica mai târziu de ce este nevoie de PGP atunci când vorbim despre semnarea pachetelor. Pentru a semna pachete, veți avea nevoie de propria cheie PGP înainte de a începe să utilizați mediul openSUSE pentru asamblare.
Și, desigur, ar trebui să cunoașteți structura codului sursă pe care proiectul dvs. o folosește pentru a construi pachetul. Structura ansamblului openSUSE poate rezolva unele greșeli comune pe care le fac designerii de pachete, dar cunoașterea făcută. autoconf. imake sau alte mecanisme de configurare sursă pot fi utile atunci când lucrați cu pachete.
cerinţe
Aici totul este simplu. Aveți nevoie de 3 GB de spațiu pe disc și construiți instrumentul nostru. Asta e tot.
Aveți nevoie de 3 GB, deoarece structura de construcție a SUSE utilizează o instalare separată Linux pe hard disk ca mediu pentru construirea pachetului. Acest mediu izolat oferă un mare avantaj: Construirea unui pachet nu va afecta instalarea dvs. curentă de Linux. Singurul dezavantaj este că aveți nevoie (temporar) de 3 GB de spațiu pe disc pentru fiecare mediu de construire individual. Dar, cu volumele hard disk de astăzi, acest lucru nu ar trebui să fie o problemă.
Utilitarul de construire instalează mediul de construcție în locația specificată și asamblează pachetul în acest mediu. Mediul de construire este sistemul de bază și toate pachetele suplimentare pe care le specificați în fișierul spec. RPM.
Următorii pași descriu procesul normal de construire a unui pachet. Desigur, în exemplul real, puteți obține o eroare la un pas și trebuie să repetați până când erorile dispar. Acest ghid vă oferă o idee despre ceea ce ar trebui să obțineți.
Pasul unu - Setarea dependențelor
Instalați următoarele pachete din sursa de instalare openSUSE utilizând YaST, dacă acestea nu sunt deja instalate:
Pasul al doilea - Configurația ansamblului
Configurați utilitarul de construire. Iată câteva setări pe care trebuie să le modificați pentru a se potrivi cu mediul local. De exemplu:
- unde sunt pachetele pentru instalarea mediului de construire
- Numele directorului folosit ca rădăcină a ansamblului
și alte setări similare
Pasul al treilea - Creați directorul sursă
Creați un director undeva, astfel încât acesta să fie accesibil pentru dvs. și pentru superutilizator. Aici plasați fișierele care vor fi utilizate în procesul de construire a pachetelor. Puteți utiliza orice aspect pe care îl doriți. Dar totuși ar trebui să fie accesibil pentru dvs. și pentru superuser, deoarece numai superuserul poate începe să instaleze mediul de construire. Dar dacă nu doriți să lucrați mereu pe pachetul de superuseri, aveți nevoie de o locație publică.
Pasul patru - Obțineți sursa proiectului
Codul sursă pentru proiect este necesar pentru a construi pachetul. Majoritatea proiectelor furnizează cod sursă în arhive.
Pasul cinci - Creați un fișier spec
Acum aveți codul sursă și puteți trece la procesul normal de creare a unui pachet RPM. Creați un fișier spec pentru pachet.
Pasul șase - Asamblați-vă pachetul
Pasul șapte - Testați pachetul
După ce construirea a fost finalizată cu succes, ar trebui să verificați performanța pachetului.
Specificațiile RPM trebuie să fie redactate în conformitate cu acordul pachetului openSUSE RPM. Deoarece acest subiect este foarte larg în sine, există o documentație suplimentară care o descrie. Vă rugăm să urmăriți cu atenție aceste Documente atunci când vă dezvoltați spec.
Puteți găsi mai multe exemple de spekfailov pentru pachete diferite aici, Build Service SVN.
De asemenea, pe site-ul IBM developerWorks, există câteva articole despre acesta: Partea 1 și Partea 2.
configurație
Construiți variabilele de mediu
O distribuție pentru care doriți să construiți un pachet.
Se pot localiza pachete openSUSE RPM: dacă un DVD openSUSE este montat, atunci această variabilă trebuie să fie setată la o valoare <точка_монтирования_DVD>/ suse. Dacă DVD-ul este copiat într-un director, această variabilă trebuie să fie setată la <эта_директория>/ suse.
Valoarea implicită BUILD_RPMS este / media / dvd / suse
Un director chroot izolat unde pachetele rpm vor fi colectate.
BUILD_ROOT Valoarea implicită este / var / tmp / build-root
Aceste opțiuni vor fi transmise utilitarului rpmbuild (consultați pagina utilitarului rpmbuild pentru o listă completă a acestor opțiuni)
BUILD_RPM_BUILD_STAGE implicit - „-ba“ (adică a construi un pachet binar și sursă după% Prep% construi și instala% etape).
Iată câteva exemple reale de diferite tipuri și caracteristici ale pachetelor.
Pachete KDE
Gnome Pachete
Ghidul de creare a pachetelor GNOME a fost mutat aici.
Pachete Perl
Perl pachetele sunt simple și similare, așa cum multe au fost prezentate pentru arhiva CPAN.