Објавување на менаџер на пакети RPM 4.15

По речиси две години развој се одржа ослободување на менаџерот на пакети 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, Тизен и многу други. Претходно независен тим за развој развиена Проектот RPM 5, кој не е директно поврзан со RPM4 и моментално е напуштен (не е ажуриран од 2010 година).

Најзабележителни подобрувања во вртежи во минута 4.15:

  • Додадена е експериментална поддршка за непривилегирано склопување во chroot околина;
  • Имплементиран поддршка за паралелизација на склопување на пакети на повеќејадрени системи. Ограничувањето на бројот на нишки се поставува преку макрото „%_smp_build_ncpus“ и променливата $RPM_BUILD_NCPUS. За да се одреди бројот на процесори, се предлага макрото „%getncpus“;
  • Spec-датотеките сега го поддржуваат условниот оператор „%elif“ (else if), како и опциите „%elifos“ и „%elifarch“ за поврзување со дистрибуцијата и архитектурата;
  • Додадено нови секции „%patchlist“ и „%sourcelist“, кои може да се користат за додавање закрпи и извори со едноставно наведување имиња без да се наведат броеви за записи (на пример, наместо
    „Patch0: popt-1.16-pkgconfig.patch“ во делот %patchlist можете да наведете „popt-1.16-pkgconfig.patch“);

  • Во вртежи во минута додадена поддршка за динамично склопување на зависности со нивно вклучување во src.rpm. Во датотеката со спецификации, додадена е поддршка за делот „%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“ (Отфрли во следната линија) за вметнување коментари;
  • Врзувањата за Python 3 осигуруваат дека низите се враќаат како избегнати UTF-8 секвенци наместо бајтни податоци;
  • Додадена е лажна база на податоци за да се подобри поддршката за системи без rpmdb (на пр. Debian);
  • Подобрено откривање на архитектурата на ARM и додадена поддршка за armv8;
  • Обезбедува беспрекорна поддршка за Lua 5.2-5.3, што не бара дефиниции за компатибилност во кодот.

Извор: opennet.ru

Додадете коментар