RPM 4.19 поставляется с улучшениями APIS, исправлениями и многим другим.

RPM

RPM Package Manager — это инструмент управления пакетами, предназначенный для установки, обновления, удаления, проверки и запроса программ.

Было объявлено о запуске новой версии менеджера пакетов «RPM 4.19», в котором были отмечены внесенные улучшения и исправления, а также улучшения в APIS, поддержке, новой системе компиляции CMake и многое другое.

В настоящее время проект 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 года).

Пакет RPM может содержать любое количество файлов. Большинство файлов RPM являются «бинарными RPM» (или BRPM), которые содержат скомпилированную версию какого-либо программного обеспечения. Существуют также «исходные RPM» (или SRPM), которые содержат исходный код, используемый для сборки бинарного пакета. Файлы SRPM обычно имеют расширение «.src.rpm» (или «.spm» в файловых системах, ограниченных тремя символами, таких как старые DOS FAT).

Основные новые функции RPM 4.19

В новой версии RPM 4.19 одной из наиболее заметных особенностей является добавление поддержки файлов ".specpart" для динамической генерации файлов спецификаций, а также добавление параметра " --generate-subpackages " в скрипт find_lang.sh, который использует файлы .specpart.

Еще одно важное изменение в новой версии RPM 4.19 — интеграция с системным каталогом учетных записей пользователей sysusers.d для автоматической обработки пользователей и групп. Кроме того, добавлена ​​поддержка генерации пользователей и групп из файлов /etc/passwd, /etc/group и sysusers.d, входящих в состав пакета.

Что касается улучшений поддержки, то следует отметить следующие: добавлены уровни архитектуры x86-64, исправлен способ генерации моделей x86 в rpmrc, изменена система сборки CMake с заменой Autotools, а fakechroot заменен контейнерной технологией.

Мы также можем обнаружить, что в файлах спецификаций была добавлена ​​поддержка скриптлетов %preuntrans и %postuntrans, а также добавлена ​​утилита rpmsort для сортировки версий пакета rpm.

В дополнение к этому были добавлены опции «-nopreuntrans», «-nopostuntrans» и «-nosysusers» для отключения скриптов и автоматического создания пользователей и групп во время установки пакета.

Среди других существенных изменений в новой версии можно отметить следующие:

  • Обеспечить надежную работу информации о пользователе/группе в chroot
  • Сделать механизм rpmscript дружественным к chroot
  • Исправлена ​​регрессия перехвата плагинов для каждого файла, представленная в версии 4.18.
  • Подавление предупреждающего сообщения о запрете блокировки, когда служба DBus недоступна.
  • Исправление отсутствующих включений в macOS
  • Функция, связанная с классификатором файлов rpmfcNew(), признана устаревшей.
  • Исправлено игнорирование кода завершения дочерних скриптов в случае EINTR.
  • Код включения потоков rpmioe был упрощен и очищен.
  • Блок %files и утилита командной строки теперь поддерживают подстановку в стиле оболочки и экранирование специальных символов.
  • Удалите некоторые другие старые и избыточные проверки времени конфигурации.
  • Выделить переводы в отдельный проект
  • По умолчанию используется локаль C.UTF-8, возможен возврат к C.
  • Библиотеки были экспортированы как конфигурация cmake «find_package()».
  • В API добавлены функции rpmGlobPath(), rpmEscape() и rpmUnescape().
  • Распараллеливание сборки теперь выполняется с учетом памяти и адресного пространства.
  • Добавлена ​​документация по разработке в создание документации.
  • Различные другие дополнения и исправления
  • Для проектов, использующих CMake, предоставляется функция find_package(rpm).
  • Исправлена ​​ошибка сегментации в несцепляемом аргументе для вызова макроса из Lua.

Наконец, если вас интересует более подробная информация об этой новой версии, вы можете найти ее по следующей ссылке.


Добавить в качестве предпочтительного источника в Google