Utgivelse av pakkebehandling RPM 4.16

Etter et år med utvikling fant sted utgivelse av pakkebehandling RPM 4.16.0. RPM4-prosjektet er utviklet av Red Hat og brukes i slike distribusjoner som RHEL (inkludert derivatprosjekter CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange andre. Tidligere selvstendig utviklingsteam utviklet prosjekt RPM5, som ikke er direkte relatert til RPM4 og for tiden er forlatt (ikke oppdatert siden 2010). Prosjektkode distribuert av lisensiert under GPLv2 og LGPLv2.

Mest bemerkelsesverdig forbedringer i RPM 4.16:

  • En ny backend er implementert for lagring av databaser i SQLite DBMS. Denne backend vil bli brukt i Fedora Linux 33 i stedet for en BerkeleyDB-basert backend.
  • En ny eksperimentell backend for lagring av databaser i BDB (Oracle Berkeley DB), som opererer i skrivebeskyttet modus, er implementert. Implementeringen er skrevet fra bunnen av og bruker ikke kode fra den gamle BerkeleyDB-backend, som har blitt foreldet, men som fortsatt er inkludert som standard.
  • Den eksperimentelle LMDB-baserte databasestøtten er fjernet.
  • Backend-databasen basert på NDB-lagringen er erklært stabil.
  • Lagt til støtte for "%if" makroer og uttrykk thenar operatør (%{expr:1==0?"yes":"no"}) og tilbyr en innebygd versjonssammenligningsfunksjon ('%[v"3:1.2-1″ > v"2.0″]').
  • Støtte for å klassifisere filer basert på MIME-typene til innholdet deres er implementert.
  • Lagt til muligheten til å generere avhengigheter ved hjelp av parametriske makroer.
  • En ny versjon av parsing og sammenligning API for C og Python har blitt foreslått.
  • Parallellisering av utførelse av brp-strip og testsuite-komponenter er sikret. Optimalisering av parallellisering av pakkegenereringsprosessen er utført.
  • Til rpmdb-verktøyet la til alternativet "—salvagedb" for å gjenopprette en skadet database (fungerer bare med NDB-backend).
  • Lagt til nye makroer %arm32, %arm64 og %riscv for arkitekturdeteksjon. La også til en innebygd makro %{macrobody:...} for å få innholdet i makroer.
  • Det er forbudt å bruke ord som ikke er adskilt med anførselstegn i uttrykk, dvs. i stedet for 'a == b' må du nå skrive '"a" == "b"'.
  • Uttrykksparseren implementerer "%[...]"-syntaksen for å utføre et uttrykk med makroutvidelse (den skiller seg fra "%{expr:...}" ved at makroene kjøres først).
  • Lagt til støtte for kort utvidelse av logiske og thenar-operatorer i uttrykk ("%[0 && 1 / 0]" behandles som 0 i stedet for å forårsake en feil på grunn av forsøk på å dele med null).
  • Lagt til støtte for bruk av NOT logisk operator i vilkårlige sammenhenger (!"%?foo").
  • Oppførselen til "||"-operatørene og "&&" bringes i tråd med Perl/Python/Ruby, dvs. I stedet for å returnere en boolsk verdi, returnerer den nå den sist beregnede verdien (for eksempel vil "%[2 || 3]" returnere 2).
  • Lagt til muligheten til å verifisere alternative formater for digitale signaturer og hashes.
  • Lagt til støtte for metaavhengigheter (Krever(meta): somepkg), som ikke påvirker rekkefølgen for installasjon og fjerning.
  • Lagt til "--rpmv3"-alternativet til rpmsign for å tvinge frem bruk av digitale signaturer i RPM3-format.
  • Lagt til installasjonsalternativet "--ekskluder artefakter" for å hoppe over installasjon av dokumentasjon, eksempel konfigurasjonsfiler og andre relaterte data.
  • Utdatert støtte for RPMv3 og beecrypt- og NSS-krypto-backends.
  • Lagt til støtte for DSA2 (gcrypt) og EdDSA.

Kilde: opennet.ru

Legg til en kommentar