Paket menejerining chiqarilishi RPM 4.15

Taxminan ikki yillik rivojlanishdan so'ng amalga oshirildi paket menejerining chiqarilishi 4.15.0 aylanish tezligi. RPM4 loyihasi Red Hat tomonidan ishlab chiqilgan va RHEL (shu jumladan, lotin loyihalari CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS kabi tarqatishlarda qo'llaniladi. Tizen va boshqalar. Ilgari mustaqil rivojlanish guruhi rivojlangan qoralama RPM 5, bu RPM4 bilan bevosita bog'liq emas va hozirda tark etilgan (2010 yildan beri yangilanmagan).

Eng diqqatga sazovor yaxshilanishlar RPM 4.15 da:

  • Chroot muhitida imtiyozsiz yig'ilish uchun qo'shilgan eksperimental yordam;
  • Amalga oshirildi ko'p yadroli tizimlarda paketlarni yig'ishni parallellashtirishni qo'llab-quvvatlash. Mavzular soni bo'yicha cheklov "%_smp_build_ncpus" makrosi va $RPM_BUILD_NCPUS o'zgaruvchisi orqali o'rnatiladi. Protsessorlar sonini aniqlash uchun “%getncpus” makrosi taklif etiladi;
  • Spec fayllari endi shartli “%elif” operatorini (agar bo‘lsa), shuningdek, tarqatish va arxitektura bilan bog‘lash uchun “%elifos” va “%elifarch” opsiyalarini qo‘llab-quvvatlaydi;
  • Qo'shilgan yangi bo'limlar "%patchlist" va "%sourcelist" bo'limlari, ular oddiygina kirish raqamlarini ko'rsatmasdan nomlarni ro'yxatga olish orqali yamoqlar va manbalarni qo'shish uchun ishlatilishi mumkin (masalan, o'rniga
    "Patch0: popt-1.16-pkgconfig.patch"% patchlist bo'limida siz "popt-1.16-pkgconfig.patch" ni belgilashingiz mumkin);

  • Rpmbuild da qo'shildi src.rpm ga qo'shilgan holda bog'liqliklarni dinamik yig'ishni qo'llab-quvvatlash. Spesifik faylga "%generate_buildrequires" bo'limini qo'llab-quvvatlash qo'shildi, uning mazmuni tekshirishni talab qiladigan bog'liqliklar ro'yxati (BuildRequires) sifatida qayta ishlanadi (agar bog'liqlik etishmayotgan bo'lsa, xato ko'rsatiladi).
  • Amalga oshirildi "^" operatori "~" operatorining teskarisini bajarib, berilgan sanadan eski versiyalarni tekshirish uchun ishlatiladi. Masalan,
    “1.1^20160101” 1.1-versiyasini va 1-yil 2016-yanvardan keyin qo‘shilgan yamoqlarni qamrab oladi;

  • "%autosetup SCM" rejimini yoqish uchun "--scm" opsiyasi qo'shildi;
  • O'zboshimchalik bilan ifodalarni baholash uchun o'rnatilgan "%{expr:...}" makrosi qo'shildi (bir necha kun oldin ham bor edi taklif qildi format "%[ expr ]");
  • Sarlavhalardagi satr ma'lumotlari uchun standart kodlash UTF-8 ekanligini ta'minlaydi;
  • %build_cflags, %build_cxxflags, %build_fflags va %build_ldflags kompilyator va bog‘lovchi bayroqlari bilan global makroslar qo‘shildi;
  • Izohlar kiritish uchun “%dnl” (Keyingi qatorga o‘chirish) makros qo‘shildi;
  • Python 3 uchun bog'lanishlar bayt ma'lumotlari o'rniga satrlarning qochib ketgan UTF-8 ketma-ketligi sifatida qaytarilishini ta'minlaydi;
  • Rpmdb (masalan, Debian) ga ega bo'lmagan tizimlarni qo'llab-quvvatlashni yaxshilash uchun qo'shilgan soxta ma'lumotlar bazasi;
  • ARM arxitekturasini aniqlash yaxshilandi va armv8 uchun qo'shimcha yordam;
  • Lua 5.2-5.3 uchun uzluksiz yordam beradi, bu kodda mos ta'riflarni talab qilmaydi.

Manba: opennet.ru

a Izoh qo'shish