Paglabas ng RPM 4.16

Pagkatapos ng isang taon ng pag-unlad naganap paglabas ng manager ng package rpm 4.16.0. Ang proyekto ng RPM4 ay binuo ng Red Hat at ginagamit sa mga distribusyon gaya ng RHEL (kabilang ang mga derivative project na CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen at marami pang iba. Dati independiyenteng pangkat ng pag-unlad umunlad proyekto RPM5, na hindi direktang nauugnay sa RPM4 at kasalukuyang inabandona (hindi na-update mula noong 2010). Code ng proyekto ipinamahagi ni lisensyado sa ilalim ng GPLv2 at LGPLv2.

Pinaka kapansin-pansin mga pagpapabuti sa RPM 4.16:

  • Ang isang bagong backend ay ipinatupad para sa pag-iimbak ng mga database sa SQLite DBMS. Itong backend gagamitin sa Fedora Linux 33 sa halip na isang backend na nakabase sa BerkeleyDB.
  • Ang isang bagong pang-eksperimentong backend para sa pag-iimbak ng mga database sa BDB (Oracle Berkeley DB), na tumatakbo sa read-only na mode, ay ipinatupad. Ang pagpapatupad ay isinulat mula sa simula at hindi gumagamit ng code mula sa legacy na BerkeleyDB backend, na hindi na ginagamit ngunit kasama pa rin bilang default.
  • Ang pang-eksperimentong LMDB-based database backend ay inalis na.
  • Ang database ng backend batay sa imbakan ng NDB ay idineklarang stable.
  • Nagdagdag ng suporta para sa "%if" na mga macro at expression operator ng thenar (%{expr:1==0?"yes":"no"}) at nag-aalok ng built-in na feature na paghahambing ng bersyon ('%[v"3:1.2-1β€³ > v"2.0β€³]').
  • Naipatupad na ang suporta para sa pag-uuri ng mga file batay sa mga uri ng MIME ng kanilang nilalaman.
  • Idinagdag ang kakayahang bumuo ng mga dependency gamit parametric macros.
  • Ang isang bagong bersyon ng pag-parse at paghahambing ng API para sa C at Python ay iminungkahi.
  • Ang parallelization ng execution ng brp-strip at mga bahagi ng test suite ay sinisiguro. Ang pag-optimize ng parallelization ng proseso ng pagbuo ng packet ay isinagawa.
  • Sa rpmdb utility idinagdag opsyong β€œβ€”salvagedb” upang ibalik ang isang nasirang database (gumagana lamang sa NDB backend).
  • Nagdagdag ng mga bagong macro na %arm32, %arm64 at %riscv para sa pag-detect ng arkitektura. Nagdagdag din ng built-in na macro %{macrobody:...} upang makuha ang mga nilalaman ng mga macro.
  • Ipinagbabawal ang paggamit ng mga salitang hindi pinaghihiwalay ng mga panipi sa mga expression, i.e. sa halip na 'a == b' kailangan mo na ngayong isulat ang '"a" == "b"'.
  • Ang expression parser ay nagpapatupad ng "%[...]" syntax para sa pagpapatupad ng isang expression na may macro expansion (ito ay naiiba sa "%{expr:...}" dahil ang mga macro ay unang pinaandar).
  • Nagdagdag ng suporta para sa maikling pagpapalawak ng lohikal at thenar operator sa mga expression ("%[0 && 1 / 0]" ay itinuturing bilang 0 sa halip na magdulot ng error dahil sa pagtatangkang paghahati sa zero).
  • Nagdagdag ng suporta para sa paggamit ng NOT logical operator sa mga arbitraryong konteksto (!"%?foo").
  • Pag-uugali ng "||" na mga operator at ang "&&" ay inihahanay sa Perl/Python/Ruby, ibig sabihin. Sa halip na magbalik ng boolean value, ibinabalik nito ngayon ang huling nakalkulang halaga (halimbawa, "%[2 || 3]" ay magbabalik ng 2).
  • Nagdagdag ng kakayahang mag-verify ng mga alternatibong format ng mga digital na lagda at hash.
  • Nagdagdag ng suporta para sa meta-dependencies (Requires(meta): somepkg), na hindi nakakaapekto sa pagkakasunud-sunod ng pag-install at pag-alis.
  • Idinagdag ang opsyong "--rpmv3" sa rpmsign upang pilitin ang paggamit ng mga digital na lagda sa RPM3 na format.
  • Idinagdag ang opsyon sa pag-install "--excludeartifacts" upang laktawan ang pag-install ng dokumentasyon, mga halimbawang configuration file at iba pang nauugnay na data.
  • Hindi na ginagamit ang suporta para sa RPMv3 at ang beecrypt at NSS crypto backend.
  • Nagdagdag ng suporta para sa DSA2 (gcrypt) at EdDSA.

Pinagmulan: opennet.ru

Magdagdag ng komento