След една година на развитие, най-накрая стартирането на стабилната версия на мениджъра на пакети "RPM 4.16", в който бяха направени някои подобрения за операторите, нови бекендове и други промени.
Проектът RPM4 е разработена от Red Hat и се използва в дистрибуции като RHEL (включително тези, получени от CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen и много други.
Преди това независим екип за разработка разработи проекта RPM5, който не е пряко свързан с RPM4 и в момента е изоставен (не се актуализира от 2010 г.). Кодът на проекта се разпространява под лицензите GPLv2
Основни нови функции на RPM 4.16
В тази нова версия на мениджъра на пакети RPM 4.16 е внедрен нов бекенд за съхранение на бази данни в СУБД SQLite, като в този бекенд се планира версията Fedora 33 да използва това вместо бекенда, базиран на BerkeleyDB.
Друга промяна, която беше приложена, е нов експериментален бекенд само за четене за съхранение на база данни в BDB (Oracle Berkeley DB). Реализацията е написана от нулата и не използва наследения вътрешен код на BerkeleyDB, който е остарял, но все още е включен по подразбиране.
От страна на макроси и изрази Добавена е поддръжка "% If" за оператора на tenary (% {expr: 1 == 0? »да»: »не»}) и предлагаме вградено сравнение на версиите ('% [v »3: 1.2-1 ″> v» 2.0 ″]') и нови бяха добавени макроси% arm32,% arm64 и% riscv, за да се дефинира архитектурата, а заедно с тях и вграденият макрос% {macrobody: ...} за получаване на съдържание на макроси.
Освен, че, е предложена нова версия на API за анализ и сравнение за езици C и Python.
Осигурена е паралелизация на изпълнение на Brp-лента и компонентите на тестовия пакет. Извършена е оптимизацията на паралелизирането на процеса на генериране на пакети.
Също така е добавена опция "–salvagedb" към rpmdb помощната програма за възстановяване на повредена база данни (работи само с NDB backend).
Забранено е използването на думи, които не са разделени с кавички в изрази, напр. Например, вместо 'a == b' сега трябва да напишете '»a» == »b»'.
Анализаторът на изрази реализира синтаксиса "% [...]", за да изпълни израз с разширение на макроси (различава се от "% {expr: ...}" по това, че първо се изпълняват макросите).
Беше добавено поддръжка за кратко разширяване на логически оператори и клиенти в изрази ("% [0 && 1/0]" се третира като 0 и не води до грешка поради опит за разделяне на нула).
Добавено поддръжка за използване на логически оператор NOT в произволен контекст (! "%? Foo").
Поведението на операторите "||" и "&&" е подравнен към Perl / Python / Ruby, т.е. вместо да връща булева стойност, сега връща последната изчислена стойност (например "% [2 || 3]" ще върне 2).
От други промени, които се открояват на тази нова версия на RPM 4.16:
- Добавена е възможност за проверка на алтернативни формати за цифрови подписи и хешове.
- Добавена е поддръжка за метазависимости (Изисква (meta): somepkg), които не засягат реда на инсталиране и премахване.
- Добавена е опция „–rpmv3“ към rpmsign за налагане на цифрови подписи на RPM3.
- Добавена е опция за инсталиране „–excludeartifacts“, за да пропуснете инсталирането на документация, примерни конфигурационни файлове и други свързани данни.
- Остаряла поддръжка за RPMv3 и beecrypt и NSS криптографски бекендове.
- Добавена е поддръжка за DSA2 (gcrypt) и EdDSA.
- LMDB-базирана експериментална база данни е премахната.
- Стабилна база данни, декларирана въз основа на NDB съхранение.
- Внедрена е поддръжка за класифициране на файлове според техните типове съдържание MIME.
- Добавена е възможността за генериране на зависимости с помощта на параметрични макроси.
Накрая ако искате да научите повече за това, можете да проверите пълния дневник на промените В следващия линк.
Що се отнася до внедряването на новата версия, трябва да изчакате тя да бъде поставена в официалните канали на вашата дистрибуция или ако сте ентусиаст, можете да компилирате пакета. Връзката на изтеглянето е това.