Выпуск пакетного менеджера RPM 4.15

28 сентября 2019 года

После почти двух лет разработки состоялся релиз пакетного менеджера RPM 4.15.0. Проект 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 4.15:

  • Добавлена экспериментальная поддержка непривилегированной сборки в chroot-окружении;
  • Реализована поддержка распараллеливания сборки пакетов на многоядерных системах. Ограничение числа потоков задаётся через макрос "%_smp_build_ncpus" и переменную $RPM_BUILD_NCPUS. Для определения числа CPU предложен макрос "%getncpus";
  • В spec-файлах появилась поддержка условных оператора "%elif" (else if), а также вариантов "%elifos" и "%elifarch" для привязки к дистрибутиву и архитектуре;
  • Добавлены новые секции "%patchlist" и "%sourcelist", которые могут использоваться для добавления патчей и исходных текстов простым перечислением имён без указания номеров записей (например, вместо

"Patch0: popt-1.16-pkgconfig.patch" в секции %patchlist можно указать "popt-1.16-pkgconfig.patch");

  • В rpmbuild добавлена поддержка динамической сборки зависимостей с их включением в src.rpm. В spec-файле добавлена поддержка секции "%generate_buildrequires", содержимое которой обрабатывается как список зависимостей (BuildRequires), требующий проверки (если зависимость отсутствует будет выведена ошибка);
  • Реализован оператор "^" для проверки версий старше заданной даты, выполняющий действие противоположное оператору "~". Например,

"1.1^20160101" охватит версию 1.1 и патчи, добавленные после 1 января 2016 года;

  • Добавлена опция "--scm" для включения режима "%autosetup SCM";
  • Добавлен встроенный макрос "%{expr:…}" для вычисления произвольных выражений (несколько дней назад также был предложен формат "%[ expr ]" );
  • Обеспечено использование по умолчанию кодировки UTF-8 для строковых данных в заголовках;
  • Добавлены глобальные макросы %build_cflags, %build_cxxflags, %build_fflags и %build_ldflags с флагами для компилятора и компоновщика;
  • Добавлен макрос "%dnl" (Discard to Next Line) для вставки комментариев;
  • В биндингах для Python 3 обеспечен возврат строк в виде экранированных последовательностей UTF-8 вместо байтовых данных;
  • Добавлен фиктивный бэкенд БД для улучшения поддержки систем без rpmdb (например, Debian);
  • Улучшено определение архитекутры ARM и добавлена поддержка armv8;
  • Обеспечена бесшовная поддержка Lua 5.2-5.3, не требующая определений compat в коде.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск пакетного менеджера RPM 4.15», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.