Publikimi i menaxherit të paketave RPM 4.20 dhe fillimi i zhvillimit të RPM 6

Pas një vit zhvillimi, është publikuar menaxheri i paketave RPM 4.20.0. Projekti RPM4 është në zhvillim nga kompanisë Red Hat dhe përdoret në distribucione të tilla 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 publikimi i një dege të rëndësishme RPM 6, e cila do të angazhojë një format të ri arkivi që, ndryshe nga formati aktual cpio, do të mundësojë krijimin e paketimeve me përmasa mbi 4 GB (kalimi i këtij kufiri është i rëndësishëm pasi paketi SRC me Chromium është afër kufirit dhe ka një përmasë prej 3.7 GB). Në degën e re gjithashtu planifikohet leja për përdorimin e gjuhës C++ për zhvillimin e RPM. Kjo degë e rëndësishme do të përshëndetet me përvjetorin e projektit - më 27 nëntor 2025 do të bëhen 30 vjet nga angazhimi i parë në RPM. Versionet RPM 5.x do të kalohen për të shmangur përplasje me projektin RPM5, i cili nuk është direkt i lidhur 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:

  • NjĂ« utilitet i ri rpm2archive Ă«shtĂ« pĂ«rfshirĂ« nĂ« paketĂ«, i cili zĂ«vendĂ«son utilitetin rpm2cpio dhe do tĂ« lehtĂ«sojĂ« kalimin nĂ« formatin e ri tĂ« paketave, pa pĂ«rdorur cpio. Ndryshe nga rpm2cpio, ky utilitet i ri kthen njĂ« skedhĂ« RPM jo nĂ« njĂ« arkiv cpio, por nĂ« njĂ« arkiv nĂ« format tar, tĂ« kompresuar me gzip. Utiliteti i vjetĂ«r rpm2cpio Ă«shtĂ« zĂ«vendĂ«suar me njĂ« lidhje simbolike pĂ«r rpm2archive.
  • NjĂ« sistem deklarativ i ndĂ«rtimit Ă«shtĂ« propozuar, i bazuar nĂ« pĂ«rdorimin e drejtorisĂ« sĂ« re "BuildSystem", pĂ«rmes sĂ« cilĂ«s mund tĂ« pĂ«rcaktohet sistemi i ndĂ«rtimit qĂ« do tĂ« pĂ«rdoret gjatĂ« krijimit tĂ« paketĂ«s. Kodi burimor pĂ«rgatitet, kompozohet dhe instalohet automatikisht nĂ« pĂ«rputhje me sistemin e ndĂ«rtimit tĂ« specifikuar, pa nevojĂ«n e pĂ«rcaktimit tĂ« veçanta nĂ« skedarin SPEC pĂ«r skriptet 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 distribucioneve të krijojnë makro të veçanta për procese standard të ndërtimit, për të mos përcaktuar skenarët e përsëritur në çdo paketë. Për shembull, në vend të përcaktimit të sekuencave të komandave configure dhe make për programet që përdorin Autotools, tani mjafton të përcaktohet "BuildSystem: autotools" dhe të hiqen sekcionet "%prep", "%build" dhe "%install". Aktualisht, makro të tilla janë përgatitur për Autotools dhe CMake. Nëse është e nevojshme të realizohet një sjellje jo standarde, ata që mbështesin paketat kanë mundësinë të lidhen me makro të veta për të tejkaluar faza të ndryshme të formimit të paketës.

  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r lidhjen e seksioneve tĂ« tjera me komandat e pĂ«rgatitjes, ndĂ«rtimit, instalimit, konfigurimit, pastrimit dhe kontrollit, duke plotĂ«suar seksionet bazĂ« %prep, %conf, %build, %install, %check dhe %clean. PĂ«r tĂ« ekzekutuar njĂ« skript shtesĂ« para se tĂ« kryhen kodet nga seksioni bazĂ«, Ă«shtĂ« propozuar opsioni "-p", dhe pasi nga seksi bazĂ« - opsioni "-a". TĂ« tilla zĂ«vendĂ«sime mund tĂ« jenĂ« tĂ« dobishme pĂ«r rregullimin e saktĂ« tĂ« sjelljes nĂ« pĂ«rdorimin e regjimit deklarativ tĂ« ndĂ«rtimit tĂ« pĂ«rmendur mĂ« sipĂ«r.
  • NĂ« pjesĂ«t qĂ« formohen dinamike tĂ« skedarĂ«ve SPEC, lejohet pĂ«rfshirja e drejtorive dhe seksioneve tĂ« cilat nuk ndikojnĂ« nĂ« procesin e ndĂ«rtimit.
  • Makro %builddir Ă«shtĂ« shtuar dhe Ă«shtĂ« realizuar mundĂ«sia pĂ«r tĂ« menaxhuar pĂ«rmes RPM lidhjen e katalogĂ«ve tĂ« ndĂ«rtimit tĂ« vet pĂ«r paketat e veçanta.
  • NjĂ« protokoll i ri "multi-file" Ă«shtĂ« propozuar, duke pĂ«rshpejtuar ndjeshĂ«m gjenerimin e varĂ«sive.
  • NĂ« komandĂ«n rpm Ă«shtĂ« shtuar opsioni "—json" pĂ«r tĂ« nxjerrĂ« rezultatet e pyetjeve nĂ« formatin JSON.
  • NjĂ« plugin rpm-plugin-unshare Ă«shtĂ« shtuar, i cili ofron izolimin e skripteve qĂ« ekzekutohen nĂ« seksionet e ndĂ«rtimit, duke pĂ«rdorur hapĂ«sira emrash nĂ« Linux. PĂ«r shembull, plugin lejon ndalimin e aksesit nĂ« rrjet dhe kufizimin e aksesit nĂ« sistemin e skedarĂ«ve, si dhe pĂ«rdorimin e katalogeve private /tmp dhe /home pĂ«r mbrojtje nĂ« rast se ndodhin punĂ« tĂ« pasigurta me skedarĂ«t pĂ«rkohĂ«sorĂ« gjatĂ« ndĂ«rtimit tĂ« paketave.
  • NjĂ« API publik pĂ«r zhvillimin e pluginĂ«ve Ă«shtĂ« propozuar, qĂ« do tĂ« ruajĂ« pĂ«rputhshmĂ«rinĂ« midis lĂ«shimeve. MĂ« herĂ«t, API pĂ«r pluginĂ«t ishte i pĂ«rshtatur vetĂ«m pĂ«r pĂ«rdorim tĂ« brendshĂ«m dhe mund tĂ« ndryshonte nga njĂ« lĂ«shim nĂ« tjetrin.
  • NĂ« komandĂ«n rpmkeys janĂ« shtuar opsionet "—list" dhe "—delete".
  • NĂ« komandĂ«n rpmsign Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r 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 makro "%build_mtime_policy", e cila lejon menaxhimin e pĂ«rmbajtjes sĂ« etiketave qĂ« shtohen gjatĂ« ndĂ«rtimit (nĂ«pĂ«rmjet vlerĂ«s clamp_to_source_date_epoch mund tĂ« pĂ«rdoret njĂ« etiketĂ« fikse, dhe nĂ«pĂ«rmjet clamp_to_buildtime mund tĂ« pĂ«rcaktohet koha e vĂ«rtetĂ« e ndĂ«rtimit).
  • NĂ« skedarĂ«t sysusers.d lejohet tĂ« shtohen rreshta pĂ«r tĂ« pĂ«rcaktuar anĂ«tarĂ«t e grupit.
  • Ofron mbĂ«shtetje tĂ« saktĂ« dhe tĂ« pavarur nga shpĂ«rndarjet pĂ«r skedarĂ«t debuginfo.
  • Sintaksa e makrosĂ«ve %patchN (pa hapĂ«sirĂ« para N) Ă«shtĂ« shpallur e vjetruar, pĂ«rdorimi i sĂ« cilĂ«s 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).
  • Parseri i vjetruar OpenPGP Ă«shtĂ« hequr.
  • Krijuesit e varĂ«sive pĂ«r Perl dhe Python ABI janĂ« transferuar nĂ« depo tĂ« veçanta.

Burimi: opennet.ru

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