שחרור של מנהל החבילות RPM 4.16

לאחר שנה של פיתוח התקיים שחרור מנהל החבילות סל"ד 4.16.0. פרויקט RPM4 פותח על ידי Red Hat ומשמש בהפצות כגון RHEL (כולל פרויקטים נגזרות CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, טיזן ועוד רבים אחרים. בעבר צוות פיתוח עצמאי מפותח פרויקט RPM5, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта מופץ על ידי מורשה תחת GPLv2 ו-LGPLv2.

הכי בולט שיפורים בסל"ד 4.16:

  • Реализован новый бэкенд для хранения БД в СУБД SQLite. Данный бэкенд יהיה בשימוש в 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 הוסיף опция «—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.

מקור: OpenNet.ru

הוספת תגובה