RPM 4.16-release

Na een jaar van ontwikkeling vond plaats pakketbeheerder release TPM 4.16.0. Het RPM4-project is ontwikkeld door Red Hat en wordt gebruikt in distributies als RHEL (inclusief afgeleide projecten CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen en vele anderen. Voorheen onafhankelijk ontwikkelingsteam ontwikkeld project TPM5, dat niet direct verband houdt met RPM4 en momenteel wordt verlaten (niet bijgewerkt sinds 2010). Projectcode gedistribueerd door gelicentieerd onder GPLv2 en LGPLv2.

Meest opvallende verbeteringen bij toerental 4.16:

  • Er is een nieuwe backend geïmplementeerd voor het opslaan van databases in het SQLite DBMS. Deze back-end zal gebruikt worden in Fedora Linux 33 in plaats van een op BerkeleyDB gebaseerde backend.
  • Er is een nieuwe experimentele backend geïmplementeerd voor het opslaan van databases in BDB (Oracle Berkeley DB), die in alleen-lezen-modus werkt. De implementatie is helemaal opnieuw geschreven en maakt geen gebruik van code uit de oude BerkeleyDB-backend, die verouderd is maar nog steeds standaard wordt meegeleverd.
  • De experimentele, op LMDB gebaseerde database-backend is verwijderd.
  • De backend-database op basis van de NDB-opslag is stabiel verklaard.
  • Ondersteuning toegevoegd voor "%if" macro's en expressies thenar-operator (%{expr:1==0?"yes:no"}) en biedt een ingebouwde versievergelijkingsfunctie ('%[v"3:1.2-1″ > v"2.0″]').
  • Ondersteuning voor het classificeren van bestanden op basis van de MIME-typen van hun inhoud is geïmplementeerd.
  • De mogelijkheid toegevoegd om afhankelijkheden te genereren met behulp van parametrische macro's.
  • Er is een nieuwe versie van de parseer- en vergelijkings-API voor C en Python voorgesteld.
  • Parallellisatie van de uitvoering van brp-strip- en testsuite-componenten is verzekerd. Er is een optimalisatie van de parallellisatie van het proces voor het genereren van pakketten uitgevoerd.
  • Naar het rpmdb-hulpprogramma toegevoegd optie “—salvagedb” om een ​​beschadigde database te herstellen (werkt alleen met de NDB-backend).
  • Nieuwe macro's %arm32, %arm64 en %riscv toegevoegd voor architectuurdetectie. Ook een ingebouwde macro %{macrobody:...} toegevoegd om de inhoud van macro's op te halen.
  • Het is verboden om in uitdrukkingen woorden te gebruiken die niet door aanhalingstekens zijn gescheiden, d.w.z. in plaats van 'a == b' moet je nu '"a" == "b"' schrijven.
  • De expressieparser implementeert de syntaxis “%[...]” voor het uitvoeren van een expressie met macro-uitbreiding (deze verschilt van “%{expr:...}” doordat de macro's eerst worden uitgevoerd).
  • Ondersteuning toegevoegd voor korte uitbreiding van logische en thenar-operatoren in expressies ("%[0 && 1 / 0]" wordt behandeld als 0 in plaats van een fout te veroorzaken als gevolg van een poging tot delen door nul).
  • Ondersteuning toegevoegd voor het gebruik van de logische operator NOT in willekeurige contexten (!"%?foo").
  • Gedrag van de operatoren "||". en "&&" wordt in overeenstemming gebracht met Perl/Python/Ruby, d.w.z. In plaats van een Booleaanse waarde te retourneren, wordt nu de laatst berekende waarde geretourneerd (bijvoorbeeld: "%[2 || 3]" retourneert 2).
  • De mogelijkheid toegevoegd om alternatieve formaten van digitale handtekeningen en hashes te verifiëren.
  • Ondersteuning toegevoegd voor meta-afhankelijkheden (Requires(meta): somepkg), die geen invloed hebben op de volgorde van installatie en verwijdering.
  • Optie "--rpmv3" toegevoegd aan rpmsign om het gebruik van digitale handtekeningen in RPM3-formaat te forceren.
  • Installatieoptie "--excludeartifacts" toegevoegd om de installatie van documentatie, voorbeeldconfiguratiebestanden en andere gerelateerde gegevens over te slaan.
  • Verouderde ondersteuning voor RPMv3 en de beecrypt- en NSS-crypto-backends.
  • Ondersteuning toegevoegd voor DSA2 (gcrypt) en EdDSA.

Bron: opennet.ru

Voeg een reactie