Сегодня состоялся выпуск RPM 6.1, очередного стабильного обновления популярного пакетного менеджера RPM.

Одно из самых заметных улучшений касается скорости установки пакетов на современных Linux-системах. RPM теперь эффективнее закрывает файловые дескрипторы, когда работает на ядре Linux 5.11 или новее с glibc 2.34 или выше. По оценке разработчиков, в ряде случаев время установки сокращается примерно на 26%.

Улучшена обработка транзакций. Хранилище ключей теперь использует собственную блокировку вместо общей блокировки транзакций, что исправляет регрессию в RPM 6.0, из-за которой во время транзакции блокировались все запросы к базе данных RPM.

Одновременно RPM 6.1 возвращает по умолчанию поиск пользователей и групп через NSS, который был отключён в RPM 4.19. Для операций с --root NSS-поиск остаётся отключённым, а администраторы могут отключать его через макросы RPM. Пользователи и группы теперь могут быть получены не только из пакетов, но и из системной среды выполнения через NSS.

Ещё одно значительное изменение касается процессора макросов RPM. Поведение макросов теперь можно менять на этапе определения с помощью нового синтаксиса модификаторов. Изначально доступны два модификатора: литеральное раскрытие и однократное раскрытие. Также %define получил новые опции -e и -g.

Для сборщиков пакетов RPM теперь экспортирует окружение сборочного скрипта в файл rpmbuild.env внутри %{builddir}. rpmbuild также распознаёт k как аргумент этапа сборки для запуска скриптлета %check. По словам разработчиков, это особенно удобно вместе с опцией --short-circuit.

RPM 6.1 улучшает диагностику, когда бинарные файлы не соответствуют архитектуре пакета. Вместо менее информативной ошибки RPM теперь сообщает, какой пакет или подпакет затронут, и выводит имена файлов и типы файлов, вызвавших проблему.

В области безопасности и подписания rpmsign теперь умеет подписывать файлы с помощью токенов PKCS#11. Благодаря этому в процессах подписания RPM можно задействовать совместимые аппаратные или внешние криптографические устройства.

Вывод проверки пакетов тоже привели в порядок. Исправлены случаи, когда RPM мог выдавать избыточные, вводящие в заблуждение или некорректные сообщения во время проверки.

В документации RPM 6.1 появилось несколько новых man-страниц: о генераторах зависимостей, устройстве RPM, скриптлетах, sysusers и обработке зависимостей ELF. Страница руководства rpmbuild теперь подробнее описывает процесс сборки, а документация rpmkeys расширена и охватывает общую политику проверки.

Наконец, RPM 6.1 вводит новую модель выпусков, вдохновлённую ядром Linux. Это изменение должно сделать процесс разработки и выпуска будущих версий пакетного менеджера более предсказуемым.

Дополнительные сведения приведены в примечаниях к выпуску.