Փաթեթի կառավարչի թողարկում 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, Թիզենը և շատ ուրիշներ: Նախկինում անկախ զարգացման թիմ զարգացած նախագիծ RPM 5, որն ուղղակիորեն կապված չէ RPM4-ի հետ և ներկայումս լքված է (չի թարմացվել 2010 թվականից):

Առավել նշանավոր բարելավումներ RPM-ում 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»);

  • rpmbuild-ում ավելացրել է Կախվածությունների դինամիկ հավաքման աջակցություն՝ դրանց ներառմամբ src.rpm-ում: Հատուկ ֆայլում ավելացվել է «%generate_buildrequires» բաժնի աջակցությունը, որի բովանդակությունը մշակվում է որպես կախվածությունների ցանկ (BuildRequires), որը պահանջում է ստուգում (եթե կախվածությունը բացակայում է, կցուցադրվի սխալ):
  • Իրականացվել է «^» օպերատորն օգտագործվում է տվյալ ամսաթվից ավելի հին տարբերակները ստուգելու համար՝ կատարելով «~» օպերատորի հակառակը։ Օրինակ,
    «1.1^20160101»-ը կներառի 1.1 տարբերակը և 1 թվականի հունվարի 2016-ից հետո ավելացված patches;

  • Ավելացվեց «--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-ին, որը չի պահանջում կոդում համապատասխան սահմանումներ:

Source: opennet.ru

Добавить комментарий