Publikimi i menaxherit të paketave RPM 4.20 dhe nisja e zhvillimit të RPM 6

Pas një vit zhvillimi, u lëshua menaxheri i paketave RPM 4.20.0. Projekti RPM4 zhvillohet nga kompanía Red Hat dhe përdoret në distribucionet si RHEL, Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS dhe Tizen. Kodi i projektit shpërndahet nën licencat GPLv2 dhe LGPLv2.

Në vitin e ardhshëm pritet të publikohet një degë e rëndësishme e RPM 6, në të cilën do të përdoret një format i ri arkivi, që në ndryshim nga formati aktual cpio, lejon krijimin e paketimeve më të mëdha se 4 GB (kapërcimi i këtij kufizimi është i rëndësishëm pasi paketa SRC me Chromium është afër këtij kufiri dhe ka një madhësi prej 3.7 GB). Në degën e re gjithashtu planifikohet leja e përdorimit të gjuhës C++ për zhvillimin e RPM. Kjo degë e rëndësishme do të përkojë me përvjetorin e projektit - më 27 nëntor 2025 do të kalojnë 30 vjet nga komiti i parë në RPM. Versionet RPM 5.x do të lihet mënjanë për të shmangur ndërprerjet me projektin RPM5, i cili nuk lidhet drejtpërdrejt me RPM nga Red Hat, është zhvilluar nga një ekip zhvilluesish të pavarur dhe nuk është përditësuar që nga viti 2016.

Përmirësimet më të dukshme në RPM 4.20:

  • NĂ« paketĂ« Ă«shtĂ« pĂ«rfshirĂ« njĂ« utilitar i ri rpm2archive, i cili zĂ«vendĂ«son utilitarin rpm2cpio dhe nĂ« tĂ« ardhmen do ta thjeshtojĂ« kalimin nĂ« formatin e ri tĂ« paketave, i cili nuk pĂ«rdor cpio. Ndryshe nga rpm2cpio, utilitari i ri nxit RPM-nĂ« nĂ« njĂ« arkiv nĂ« formatin tar, tĂ« kompresuar me gzip. Utilitari i vjetĂ«r rpm2cpio Ă«shtĂ« zĂ«vendĂ«suar nga njĂ« lidhje simbolike me rpm2archive.
  • ËshtĂ« propozuar njĂ« sistem deklarativ ndĂ«rtimi, i bazuar nĂ« pĂ«rdorimin e drejtoreshĂ«s sĂ« re "BuildSystem", pĂ«rmes sĂ« cilĂ«s mund tĂ« pĂ«rcaktohet sistemi i ndĂ«rtimit qĂ« pĂ«rdoret gjatĂ« krijimit tĂ« paketĂ«s. Kodi burimor pĂ«rgatitet automatikisht, kompilohen dhe instalohet duke marrĂ« parasysh sistemin e ndĂ«rtimit tĂ« caktuar, pa pasur nevojĂ« pĂ«r pĂ«rcaktimin e veçantĂ« nĂ« skedarin SPEC pĂ«r skenaret e pĂ«rgatitjes, ndĂ«rtimit dhe instalimit nĂ« blloqet "%prep", "%build" dhe "%install". NĂ« RPM, sistemet e ndĂ«rtimit tĂ« mbĂ«shtetura pĂ«rcaktohen nĂ« formĂ«n e koleksioneve tĂ« makros.

    Ideja kryesore është se formati deklarativ i konfigurimit do të lejojë zhvilluesit e distribuimeve të krijojnë makro të veçanta për proceset tipike të ndërtimit, në mënyrë që të mos përcaktojnë skenarë të përsëritur në çdo paketë. Për shembull, në vend që të përcaktojnë sekuenca të komandave configure dhe make për programet që përdorin Autotools, tani mjafton të tregoni "BuildSystem: autotools" dhe të shmangni seksionet "%prep", "%build" dhe "%install". Aktualisht, makro të ngjashme janë përgatitur për Autotools dhe CMake. Nëse është e nevojshme të realizohet sjellje jo standart, ata që mbështesin paketat kanë mundësinë të lidhen me makrot e tyre për të ri-përcaktuar faza të ndryshme të formimit të paketës.

  • Shtuar mbĂ«shtetje pĂ«r lidhjen e seksioneve shtesĂ« me komandat e pĂ«rgatitjes, ndĂ«rtimit, instalimit, konfigurimit, pastrimit dhe verifikimit, duke plotĂ«suar seksionet bazĂ« %prep, %conf, %build, %install, %check dhe %clean. PĂ«r tĂ« ekzekutuar njĂ« skript shtesĂ« para ekzekutimit tĂ« kodit nga seksioni bazĂ«, Ă«shtĂ« propozuar opsioni "-p", dhe pas seksionit bazĂ« — opsioni "-a". ZĂ«vendĂ«sime tĂ« tilla mund tĂ« jenĂ« tĂ« dobishme pĂ«r rregullimin e sjelljes kur pĂ«rdoret lartpĂ«rmenduri formati deklarativ i ndĂ«rtimit.
  • NĂ« pjesĂ«t e formuara dinamikisht tĂ« skedave SPEC Ă«shtĂ« lejuar pĂ«rfshirja e drejtimeve dhe seksioneve qĂ« nuk ndikojnĂ« nĂ« procesin e ndĂ«rtimit.
  • Shtuar makron %builddir dhe realizuar mundĂ«sinĂ« e menaxhuar pĂ«rmes RPM pĂ«r tĂ« lidhur katalogĂ« ndĂ«rtimi tĂ« veçantĂ« me paketat e veçanta.
  • Propozuar njĂ« protokoll tĂ« ri "multi-file", qĂ« ndjeshĂ«m shpejton gjenerimin e varĂ«sive.
  • NĂ« komandĂ«n rpm Ă«shtĂ« shtuar opsioni "—json" pĂ«r tĂ« nxjerrĂ« rezultatet e pyetjeve nĂ« formatin JSON.
  • Shtuar pluginin rpm-plugin-unshare, qĂ« ofron izolimin e skripteve tĂ« ekzekutuara nĂ« seksionet e ndĂ«rtimit, duke pĂ«rdorur hapĂ«sirat e emrave nĂ« Linux. PĂ«r shembull, plugini lejon tĂ« ndalohet qasja nĂ« rrjet dhe tĂ« kufizohet qasja nĂ« sistemin e skedarĂ«ve, si dhe tĂ« pĂ«rdoren katalogĂ« privatĂ« tĂ« veçantĂ« /tmp dhe /home pĂ«r tĂ« siguruar nĂ« rast se puna me skedarĂ«t e pĂ«rkohshĂ«m Ă«shtĂ« e pasigurt gjatĂ« ndĂ«rtimit tĂ« paketimeve.
  • Propozuar njĂ« API publik pĂ«r zhvillimin e pluginave, i cili do tĂ« ruajĂ« kompaktibilitetin midis versioneve. MĂ« parĂ«, API pĂ«r plugina ishte projektuar vetĂ«m pĂ«r pĂ«rdorim tĂ« brendshĂ«m dhe mund tĂ« ndryshonte nga versioni nĂ« version.
  • NĂ« komandĂ«n rpmkeys janĂ« shtuar opsionet "—list" dhe "—delete".
  • Grupi rpmsign tani mbĂ«shtet krijimin e nĂ«nshkrimeve digjitale pĂ«r paketat, duke pĂ«rdorur çelĂ«sa ECDSA.
  • ËshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r ndĂ«rtimet e pĂ«rsĂ«ritura. ËshtĂ« shtuar makrosi "%build_mtime_policy", tĂ« cilin mund ta pĂ«rdorni pĂ«r tĂ« menaxhuar pĂ«rmbajtjen e etiketimeve tĂ« shtuar gjatĂ« ndĂ«rtimit me kohĂ« (me vlerĂ«n clamp_to_source_date_epoch mund tĂ« pĂ«rdorni njĂ« etiketĂ« fikse, ndĂ«rsa me clamp_to_buildtime mund tĂ« specifikoni kohĂ«n e saktĂ« tĂ« ndĂ«rtimit).
  • NĂ« skedarĂ«t sysusers.d lejohet shtimi i rreshtave pĂ«r tĂ« pĂ«rcaktuar anĂ«tarĂ«t e grupit.
  • Kjo siguron njĂ« mbĂ«shtetje korrekte dhe tĂ« pavarur nga shpĂ«rndarjet pĂ«r skedarĂ«t debuginfo.
  • Sintaksa e makrosit %patchN (pa hapĂ«sirĂ« para N) Ă«shtĂ« shpallur e vjetruar, pĂ«rdorimi i saj tani do tĂ« çojĂ« nĂ« njĂ« gabim (duhet tĂ« pĂ«rdoret sintaksa "%patch N" ose "%patch -P N", ku N Ă«shtĂ« numri i patch-it).
  • Kjo ka hequr parser-in e vjetruar OpenPGP.
  • GjeneratorĂ«t e varĂ«sive pĂ«r Perl dhe Python ABI janĂ« transferuar nĂ« repozitore tĂ« veçanta.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster