ການປ່ອຍ 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, Tizen ແລະອື່ນໆຈໍານວນຫຼາຍ. ຜ່ານມາທີມງານພັດທະນາເອກະລາດ ພັດທະນາ ໂຄງການ RPM 5, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта ແຈກຢາຍໂດຍ ອະນຸຍາດພາຍໃຕ້ GPLv2 ແລະ LGPLv2.

ໂດດເດັ່ນທີ່ສຸດ ການປັບປຸງ ໃນ RPM 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

ເພີ່ມຄວາມຄິດເຫັນ