ການປ່ອຍ RPM 4.15

ຫຼັງ​ຈາກ​ການ​ພັດ​ທະ​ນາ​ເກືອບ​ສອງ​ປີ​ ໄດ້ຈັດຂຶ້ນ ປ່ອຍຕົວຈັດການຊຸດ ຄວາມໄວຮອບ 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 и многих других. Ранее независимой командой разработчиков развивался ໂຄງການ RPM 5, который непосредственно не связан с 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 в коде.

ແຫຼ່ງຂໍ້ມູນ: opennet.ru

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