RPM 4.16 leidimas

Po metų plėtros įvyko paketų tvarkyklės leidimas 4.16.0 RPM. RPM4 projektą sukūrė Red Hat ir jis naudojamas tokiuose platinimuose kaip RHEL (įskaitant išvestinius projektus CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizenas ir daugelis kitų. Anksčiau buvo nepriklausoma vystymo komanda išvystyta projektas 5 aps./min, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта išplatino licencijuota pagal GPLv2 ir LGPLv2.

Žymiausias patobulinimai 4.16 RPM:

  • Реализован новый бэкенд для хранения БД в СУБД SQLite. Данный бэкенд Bus panaudota в Fedora Linux 33 вместо бэкенда на основе BerkeleyDB.
  • Реализован новый экспериментальный бэкенд для хранения БД в BDB (Oracle Berkeley DB), работающий в режиме только для чтения. Реализация написана с нуля и не использует код прошлого бэкенда BerkeleyDB, который объявлен устаревшим, но по прежнему включается по умолчанию.
  • Удалён экспериментальный бэкенд БД на базе LMDB.
  • Объявлен стабильным бэкенд БД на базе хранилища NDB.
  • В макросы и выражения «%if» добавлена поддержка тенарного оператора (%{expr:1==0?»yes»:»no»}) и предложена встроенная возможность сравнения версий (‘%[v»3:1.2-1″ > v»2.0″]’).
  • Реализована поддержка классификации файлов на основе MIME-типов их содержимого.
  • Добавлена возможность генерации зависимостей при помощи параметрических макросов.
  • Предложена новая версия API парсинга и сравнения для языков C и Python.
  • Обеспечено распараллеливание выполнения brp-strip и компонентов тестового набора. Проведена оптимизация распараллеливания процесса генерации пакетов.
  • В утилиту rpmdb pridėta опция «—salvagedb» для восстановления повреждённой БД (работает только с бэкендом NDB).
  • Добавлены новые макросы %arm32, %arm64 и %riscv для определения архитектуры. Также добавлен встроенный макрос %{macrobody:…} для получения содержимого макросов.
  • В выражениях запрещено использования не обособленных кавычками слов, т.е. вместо ‘a == b’ теперь нужно писать ‘»a» == «b»‘.
  • В парсере выражений реализован синтаксис «%[…]» для выполнения выражения с раскрытием макросов (от «%{expr:…}» отличается тем, что макросы выполняются первыми).
  • В выражениях добавлена поддержка короткого раскрытия логических и тенарных операторов («%[0 && 1 / 0]» рассматривается как 0, а не приводит к ошибке из-за попытки деления на ноль).
  • Добавлена поддержка применения логического оператора NOT в произвольных контекстах (!»%?foo»).
  • Поведение операторов «||» и «&&» приведено в соответствие с Perl/Python/Ruby, т.е. вместо возврата булевого значения теперь выдаёт последнее вычисленное значение (например, «%[2 || 3]» вернёт 2).
  • Добавлена возможность верификации альтернативных форматов цифровых подписей и хэшей.
  • Добавлена поддержка мета-зависимостей (Requires(meta): somepkg), не влияющих на порядок установки и удаления.
  • В rpmsign добавлена опция «—rpmv3» для принудительного использования цифровых подписей в формате RPM3.
  • Добавлена установочная опция «—excludeartifacts» для пропуска установки документации, примеров файлов конфигурации и прочих сопутствующих данных.
  • Объявлена устаревшей поддержка RPMv3 и криптобэкенды beecrypt и NSS.
  • Добавлена поддержка DSA2 (gcrypt) и EdDSA.

Šaltinis: opennet.ru

Добавить комментарий