RPM 4.16 release

Efter ett år av utveckling ägde rum pakethanterarens release RPM 4.16.0. RPM4-projektet är utvecklat av Red Hat och används i sådana distributioner som RHEL (inklusive derivatprojekt CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen och många andra. Tidigare självständigt utvecklingsteam tagit fram projektet Varvtal 5, som inte är direkt relaterad till RPM4 och för närvarande är övergiven (ej uppdaterad sedan 2010). Projektkod levererad av licensierad under GPLv2 och LGPLv2.

Mest anmärkningsvärt förbättringar i RPM 4.16:

  • En ny backend har implementerats för att lagra databaser i SQLite DBMS. Denna backend kommer att användas i Fedora Linux 33 istället för en BerkeleyDB-baserad backend.
  • En ny experimentell backend för lagring av databaser i BDB (Oracle Berkeley DB), som fungerar i skrivskyddat läge, har implementerats. Implementeringen är skriven från grunden och använder inte kod från den äldre BerkeleyDB-backend, som har fasats ut men som fortfarande ingår som standard.
  • Den experimentella LMDB-baserade databasbackend har tagits bort.
  • Backend-databasen baserad på NDB-lagringen har förklarats stabil.
  • Lade till stöd för "%if" makron och uttryck thenar operatör (%{expr:1==0?"yes":"no"}) och erbjuder en inbyggd funktion för versionsjämförelse ('%[v"3:1.2-1″ > v"2.0″]').
  • Stöd för att klassificera filer baserat på MIME-typerna av deras innehåll har implementerats.
  • Lade till möjligheten att generera beroenden med hjälp av parametriska makron.
  • En ny version av API:et för parsning och jämförelse för C och Python har föreslagits.
  • Parallellisering av exekvering av brp-strip- och testsvitkomponenter säkerställs. Optimering av parallellisering av paketgenereringsprocessen har utförts.
  • Till rpmdb-verktyget Lagt till alternativet "—salvagedb" för att återställa en skadad databas (fungerar endast med NDB-backend).
  • Lade till nya makron %arm32, %arm64 och %riscv för arkitekturdetektering. Lade också till ett inbyggt makro %{macrobody:...} för att få innehållet i makron.
  • Det är förbjudet att använda ord som inte är åtskilda av citattecken i uttryck, d.v.s. istället för 'a == b' måste du nu skriva '"a" == "b"'.
  • Uttrycksparsern implementerar "%[...]"-syntaxen för att exekvera ett uttryck med makroexpansion (den skiljer sig från "%{expr:...}" genom att makron exekveras först).
  • Tillagt stöd för kort expansion av logiska och thenar-operatorer i uttryck ("%[0 && 1 / 0]" behandlas som 0 istället för att orsaka ett fel på grund av försök till division med noll).
  • Lade till stöd för att använda den logiska NOT-operatorn i godtyckliga sammanhang (!"%?foo").
  • Beteende för "||"-operatorerna och "&&" bringas i linje med Perl/Python/Ruby, dvs. Istället för att returnera ett booleskt värde returnerar den nu det senast beräknade värdet (till exempel "%[2 || 3]" returnerar 2).
  • Lade till möjligheten att verifiera alternativa format av digitala signaturer och hash.
  • Tillagt stöd för metaberoenden (Kräver(meta): somepkg), som inte påverkar ordningen för installation och borttagning.
  • Lade till alternativet "--rpmv3" till rpmsign för att tvinga fram användningen av digitala signaturer i RPM3-format.
  • Lade till installationsalternativet "--excludeartifacts" för att hoppa över installation av dokumentation, exempel på konfigurationsfiler och annan relaterad data.
  • Utfasat stöd för RPMv3 och beecrypt- och NSS-krypteringsstöden.
  • Lagt till stöd för DSA2 (gcrypt) och EdDSA.

Källa: opennet.ru

Lägg en kommentar