Vydanie správcu balíkov RPM 4.20 a začiatok vývoja RPM 6

Po roku vývoja bol vydaný RPM 4.20.0. Projekt RPM4 vyvíja spoločnosť Red Hat a používa sa v distribúciách ako RHEL, Fedora, SUSE, openSUSE a ALT. Linux, OpenMandriva, Mageia, PCLinuxOS a Tizen. Kód projektu je distribuovaný pod licenciami GPLv2 a LGPLv2.

V budúcom roku sa očakáva zverejnenie významnej vetvy RPM 6, ktorá bude využívať nový formát archívu, ktorý na rozdiel od v súčasnosti používaného formátu cpio umožňuje vytváranie balíkov väčších ako 4 GB (prekonanie tohto obmedzenia je dôležité, keďže balík SRC s Chromium sa blíži k limitu a má veľkosť 3.7 GB). Nová vetva má tiež v úmysle umožniť použitie jazyka C++ na vývoj RPM. Výročiu projektu bude venovaná nová významná vetva – 27. novembra 2025 uplynie 30 rokov od prvého záväzku k RPM. Verzie RPM 5.x budú preskočené, aby sa predišlo prekrývaniu s projektom RPM5, ktorý priamo nesúvisí s Red Hat RPM, bol vyvinutý nezávislým vývojárskym tímom a od roku 2016 nebol aktualizovaný.

Najpozoruhodnejšie vylepšenia v RPM 4.20 sú:

  • Súčasťou je nová utilita rpm2archive, ktorá nahrádza utilitu rpm2cpio a ďalej zjednoduší prechod na nový formát balíkov, ktorý nepoužíva cpio. Na rozdiel od rpm2cpio, nový nástroj konvertuje súbor RPM nie do archívu cpio, ale do archívu tar komprimovaného gzip. Starý nástroj rpm2cpio bol nahradený symbolickým odkazom na rpm2archive.
  • Navrhuje sa deklaratívny systém zostavovania založený na použití novej smernice „BuildSystem“, prostredníctvom ktorej možno definovať systém zostavovania použitý na generovanie balíka. Zdrojový kód sa automaticky pripraví, skompiluje a nainštaluje s prihliadnutím na špecifikovaný systém zostavenia, bez potreby samostatne definovať skripty prípravy, zostavenia a inštalácie v blokoch „%prep“, „%build“ a „%install“ v SPEC. súbor. V RPM sú podporované zostavovacie systémy definované vo forme kolekcií makier.

    Hlavnou myšlienkou je, že deklaratívny konfiguračný formát umožní vývojárom distribúcie vytvárať samostatné makrá pre bežné procesy zostavovania, namiesto toho, aby museli definovať duplicitné skripty v každom balíku. Napríklad namiesto zadávania sekvencií spúšťania pre príkazy na konfiguráciu a vytváranie pre programy, ktoré používajú Autotools, teraz stačí zadať "BuildSystem: autotools" a upustiť od sekcií "%prep", "%build" a "%install". . V súčasnosti sú podobné makrá pripravené pre Autotools a CMake. Ak je potrebné implementovať neštandardné správanie, správcovia balíkov dostanú príležitosť pripojiť svoje vlastné makrá, aby prepísali rôzne štádiá tvorby balíkov.

  • Pridaná podpora pre pripojenie ďalších sekcií s príkazmi pre prípravu, zostavenie, inštaláciu, konfiguráciu, čistenie a kontrolu, ktoré dopĺňajú základné sekcie %prep, %conf, %build, %install, %check a %clean. Na spustenie dodatočného skriptu pred spustením kódu zo základnej časti sa ponúkne možnosť „-p“ a po základnej časti sa ponúkne možnosť „-a“. Takéto substitúcie môžu byť užitočné pri dolaďovaní správania pri použití deklaratívneho režimu zostavovania opísaného vyššie.
  • Dynamicky generované časti súborov SPEC môžu obsahovať smernice a sekcie, ktoré neovplyvňujú proces zostavovania.
  • Bolo pridané makro %builddir a bola implementovaná možnosť prepojenia vlastných adresárov zostavy s jednotlivými balíkmi riadená RPM.
  • Bol navrhnutý nový „viacsúborový“ protokol, ktorý výrazne urýchľuje vytváranie závislostí.
  • Do príkazu rpm bola pridaná možnosť „--json“ na výstup výsledkov dotazu vo formáte JSON.
  • Pridaný plugin rpm-plugin-unshare, ktorý poskytuje izoláciu skriptov spustených v sekciách zostavovania pomocou menných priestorov v LinuxNapríklad, plugin umožňuje odmietnuť prístup k sieti a obmedziť prístup k súborovému systému, ako aj používať samostatné súkromné ​​adresáre /tmp a /home na ochranu pred nebezpečnou prácou s dočasnými súbormi pri vytváraní balíkov.
  • Bolo navrhnuté verejné API pre vývoj doplnkov, ktoré zachová kompatibilitu medzi vydaniami. Predtým bolo API pre doplnky určené len na interné použitie a mohlo sa meniť od vydania k vydaniu.
  • Do príkazu rpmkeys boli pridané možnosti „--list“ a „--delete“.
  • Príkaz rpmsign pridal podporu pre vytváranie digitálnych podpisov pre balíky pomocou kľúčov ECDSA.
  • Vylepšená podpora pre opakovateľné zostavy. Pridané makro „%build_mtime_policy“, ktoré vám umožňuje kontrolovať obsah časových pečiatok pridaných počas zostavovania (môžete použiť pevné označenie pomocou hodnoty clamp_to_source_date_epoch a určiť skutočný čas zostavenia pomocou clamp_to_buildtime).
  • Súbory sysusers.d môžu pridávať riadky na definovanie členov skupiny.
  • Poskytuje sa správna a na distribúcii nezávislá podpora pre súbory debuginfo.
  • Syntax makra %patchN (bez medzery pred N) bola zastaraná a bude mať za následok chybu (mali by ste použiť syntax "%patch N" alebo "%patch -PN", kde N je číslo opravy).
  • Zastaraný analyzátor OpenPGP bol odstránený.
  • Generátory závislostí pre Perl a Python ABI sú umiestnené v samostatných úložiskách.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster