Construirea unui pachet de la zero

Această pagină este în construcție.
Această pagină nu este încă terminată. Informațiile prezentate aici pot fi incomplete sau incorecte.

Introducere [edit]

Pentru a construi pachete, se presupun următoarele condiții inițiale:







  1. Aveți instalat distribuția ALT Linux;
  2. Există dorința de a asambla corect pachetul, și nu pentru un singur caz;
  3. Aveți titlul de "mandatar ALT Linux Team", ceea ce înseamnă disponibilitatea cheilor electronice și accesul la infrastructura git.alt

Al treilea punct nu este necesar pentru începători, care pur și simplu vor să împacheteze corect pachetul pentru ei înșiși.

ALT Linux utilizează formatul pachetelor RPM. care este o arhivă care conține o arhivă cu fișiere pentru a fi instalate sau colectate și un antet cu informații meta (de exemplu, nume, versiune, grup etc.). Există două tipuri de pachete RPM:

  • Pachet cu cod sursă (are extensia .src.rpm). Un astfel de pachet conține o arhivă (una sau mai multe) cu codul sursă, fișierul Spec (în continuare pur și simplu un spec.) Și, eventual, o varietate de patch-uri și adăugiri. Pachetul src.rpm poate fi utilizat numai pentru a construi pachete binare, dar nu pentru instalări. Adunarea este efectuată de comandă:
  • Un pachet binar asamblat (are o extensie a formularului <архитектура>.rpm). Arhitectura poate fi i586, x86_64 sau noarch. Astfel de pachete pot fi instalate de comanda

Pentru informații detaliate despre structura RPM și ansamblul folosind comanda rpm, consultați RPM maxim.

Cu toate acestea, pentru asamblarea prin rpmbuild există dificultăți evidente:

  1. Trebuie să satisfacăți manual dependențele de asamblare pentru asamblare (puneți compilatorul, includeți fișiere, biblioteci). Cu un număr mare de pachete colectate, sistemul devine înfundat.
  2. Pentru a construi pachetul, trebuie să generați .src.rpm din fișierele împrăștiate între diferite directoare (în mod implicit acestea sunt subdirectoarele SOURCE, SPECS și subdirectoarele pentru asamblare în
/ RPM).
  • Fișierele cu cod sursă ar trebui să fie ambalate, ceea ce face procesul de fabricare a patch-urilor consumatoare de timp.
  • Pe sistemul de lucru, puteți sări peste numărul necesar de dependențe.







  • Pentru a evita aceste dificultăți, echipa ALT Linux a inventat două tehnologii:

    • Hasher pentru asamblare într-un mediu izolat. În chroot, un pachet de pachete de bază și pachete sunt necesare pentru asamblare (câmpul BuildRequires din spec.). Dacă niciun pachet de asamblare nu este specificat în specificație, va apărea o eroare. Acest lucru asigură curățenia ansamblului. Dezavantajul este nevoia de a avea acces la depozit, deoarece pachetele sunt plasate la fiecare ansamblu în Hasher.
    • Gear pentru a construi pachete din depozitul Git. În acest caz, toate fișierele sunt despachetate și în src.rpm acestea sunt împachetate în conformitate cu regulile definite în .gear / rules. Acest lucru vă permite să lucrați imediat cu conținutul, să faceți rapid patch-uri, să păstrați istoricul schimbărilor și să schimbați schimbările în dezvoltarea echipei.

    Instalarea pachetelor pentru crearea [edita]

    Pentru montaj, avem nevoie de următoarele componente:

    Pentru a face acest lucru, configurați depozitele și instalați mediul de construcție și pachetele de unelte:

    Toate pachetele necesare pentru instalare și asamblare vor fi instalate cu dependențe

    Configurarea mediului [editați]

    Git Environment [modifică]

    Modificați în funcție de setările dvs. A treia comandă stabilește identificatorul cheii dvs. GPG pentru semnare:

    RPM mediu [edita]

    /.rpmmacros după cum urmează (desigur, înlocuirea cheii și a numelui întreținătorului cu propriul):

    % _gpg_name specifică amprenta cheie (nu un identificator scurt, ca pentru Git). Puteți obține aceasta cu comanda:

    Împrejurimile Hasher [editați]

    Mai întâi, creați ca rădăcini doi utilizatori de servicii pentru asamblare (mediu de construcție Hasher):

    În loc de "cas" trebuie să specificați un utilizator existent pe mașină unde va fi implementat mediul de asamblare.

    Apoi, pentru cea mai simplă configurație Hasher, trebuie să creați un director

    /.hasher cu următoarele fișiere:

    În consecință, USER ar trebui să fie același cu cel din hasher-useradd. țintă - indicați arhitectura pachetelor care trebuie colectate.

    Pregătirea depozitului Git [editați]

    Depozitul Git este foarte ușor de creat. Pentru a face acest lucru, creați un director (numele pachetelor ar trebui să fie specificate cu litere mici, deci pachetul nostru pentru proiect va fi numit kchildlock), mergeți la el și rulați git init.

    Scriere .gear / rules [edita]

    Importarea codului sursă [editați]

    Scrierea unui tort [editați]

    Construieste in Hasher [edita]







    Articole similare

    Trimiteți-le prietenilor: