Frigivelse af pakkehåndtering RPM 4.16

Efter et års udvikling tog sted pakkehåndteringsudgivelse RPM 4.16.0. RPM4-projektet er udviklet af Red Hat og bruges i sådanne distributioner som RHEL (inklusive afledte projekter CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange andre. Tidligere selvstændigt udviklingsteam udviklede sig projekt RPM5, som ikke er direkte relateret til RPM4 og i øjeblikket er opgivet (ikke opdateret siden 2010). Projektkode distribueret af licenseret under GPLv2 og LGPLv2.

Mest bemærkelsesværdigt forbedring i RPM 4.16:

  • En ny backend er blevet implementeret til lagring af databaser i SQLite DBMS. Denne backend vil blive brugt i Fedora Linux 33 i stedet for en BerkeleyDB-baseret backend.
  • En ny eksperimentel backend til lagring af databaser i BDB (Oracle Berkeley DB), der fungerer i skrivebeskyttet tilstand, er blevet implementeret. Implementeringen er skrevet fra bunden og bruger ikke kode fra den gamle BerkeleyDB-backend, som er blevet forældet, men som stadig er inkluderet som standard.
  • Den eksperimentelle LMDB-baserede database-backend er blevet fjernet.
  • Backend-databasen baseret på NDB-lageret er blevet erklæret stabil.
  • Tilføjet understøttelse af "%if" makroer og udtryk thenar operatør (%{expr:1==0?"yes":"no"}) og tilbyder en indbygget versionssammenligningsfunktion ('%[v"3:1.2-1″ > v"2.0″]').
  • Understøttelse af klassificering af filer baseret på MIME-typerne af deres indhold er blevet implementeret.
  • Tilføjet muligheden for at generere afhængigheder vha parametriske makroer.
  • En ny version af parsing og sammenligning API for C og Python er blevet foreslået.
  • Parallelisering af udførelse af brp-strip og testsuite komponenter er sikret. Optimering af parallelisering af pakkegenereringsprocessen er blevet udført.
  • Til rpmdb-værktøjet tilføjet mulighed "—salvagedb" for at gendanne en beskadiget database (virker kun med NDB-backend).
  • Tilføjet nye makroer %arm32, %arm64 og %riscv til arkitekturdetektering. Tilføjede også en indbygget makro %{macrobody:...} for at få indholdet af makroer.
  • Det er forbudt at bruge ord, der ikke er adskilt af anførselstegn i udtryk, dvs. i stedet for 'a == b' skal du nu skrive '"a" == "b"'.
  • Udtryksparseren implementerer "%[...]"-syntaksen til at udføre et udtryk med makroudvidelse (den adskiller sig fra "%{udtryk:...}" ved, at makroerne udføres først).
  • Tilføjet understøttelse af kort udvidelse af logiske og thenar-operatorer i udtryk ("%[0 && 1 / 0]" behandles som 0 i stedet for at forårsage en fejl på grund af forsøg på division med nul).
  • Tilføjet understøttelse for at bruge den IKKE logiske operator i vilkårlige sammenhænge (!"%?foo").
  • Opførsel af "||"-operatorerne og "&&" bringes i overensstemmelse med Perl/Python/Ruby, dvs. I stedet for at returnere en boolesk værdi, returnerer den nu den sidst beregnede værdi (for eksempel vil "%[2 || 3]" returnere 2).
  • Tilføjet muligheden for at verificere alternative formater af digitale signaturer og hashes.
  • Tilføjet understøttelse af meta-afhængigheder (Kræver(meta): noglepkg), som ikke påvirker rækkefølgen af ​​installation og fjernelse.
  • Tilføjet "--rpmv3"-mulighed til rpmsign for at tvinge brugen af ​​digitale signaturer i RPM3-format.
  • Tilføjet installationsmulighed "--excludeartifacts" for at springe over installation af dokumentation, eksempler på konfigurationsfiler og andre relaterede data.
  • Forældet understøttelse af RPMv3 og beecrypt- og NSS-krypto-backends.
  • Tilføjet understøttelse af DSA2 (gcrypt) og EdDSA.

Kilde: opennet.ru

Tilføj en kommentar