Firma Red Hat opublikowała drugą wersję beta menedżera pakietów RPM 6.0, który zostanie użyty w jesiennej wersji dystrybucji Fedora Linux 43. Projekt jest wykorzystywany w takich dystrybucjach jak RHEL, Fedora, SUSE, openSUSE, ALT Linux, Rosa Linux, OpenMandriva, Mageia, PCLinuxOS oraz Tizen. Kod RPM jest rozpowszechniany na licencjach GPLv2 i LGPLv2. Wersja RPM 5 została pominięta, aby uniknąć nakładania się na projekt RPM5, który nie jest związany z RPM od Red Hat i był rozwijany przez niezależnych programistów.
W drugiej wersji beta wprowadzono poprawki, w tym wsparcie dla cyfrowych podpisów OpenPGP v6. W aktualizacji zaproponowano także poprawki związane z weryfikacją pakietów przy użyciu cyfrowych podpisów. Ogółem zmiany w wersji RPM 6.0:
- Wsparcie dla nowego formatu pakietów RPM 6, który pozwala na tworzenie pakietów większych niż 4 GB. W formacie RPM 6 zastosowano pola 64-bitowe o powiększonych rozmiarach, zmodernizowano struktury związane z kryptografią oraz dodano informacje MIME o plikach.
- Wsparcie dla formatu RPM 3 zostało zaprzestane. Wsparcie dla formatu RPM 4, używającego cpio, zostanie w pełni zachowane — dystrybucje mogą według własnego uznania pozostać przy formacie RPM 4.
- Domyślnie włączono weryfikację autentyczności pakietów przy użyciu cyfrowego podpisu.
- Do narzędzia rpmbuild dodano wsparcie dla automatycznego generowania lokalnych podpisów podczas budowy, a do narzędzia rpm dodano opcję „—nosignature” do wymuszonej instalacji pakietu bez weryfikacji podpisu.
- Dostępna jest możliwość użycia zamiast GnuPG narzędzi Sequoia-sq, napisanego w Rust.
- W rozwoju zezwolono na użycie języka C++ (C++20), a nie tylko języka C.
- Wprowadzono możliwość użycia wielu podpisów OpenPGP dla każdego pakietu.
- Wsparcie dla hashy MD5, SHA1 i DSA zostało zaprzestane.
- Rozszerzono możliwości narzędzia rpmkeys w pracy z kluczami, na przykład do aktualizacji kluczy OpenPGP można użyć polecenia „rpmkeys —import”.
- Wykorzystywane są tylko pełne identyfikatory i odciski (fingerprint) kluczy OpenPGP.
- Dodano możliwość aktualizacji już zaimportowanych kluczy.
- W bibliotekach dla języka Python wdrożono wsparcie dla izolacji stanu modułów Python do uruchamiania ich w kilku subinterpreterach.
Źródło: opennet.ru
