Paglabas ng RPM 4.15

Matapos ang halos dalawang taong pag-unlad naganap paglabas ng manager ng package rpm 4.15.0. Ang proyekto ng RPM4 ay binuo ng Red Hat at ginagamit sa mga distribusyon gaya ng RHEL (kabilang ang mga derivative project na CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen at marami pang iba. Dati independiyenteng pangkat ng pag-unlad umunlad proyekto RPM5, na hindi direktang nauugnay sa RPM4 at kasalukuyang inabandona (hindi na-update mula noong 2010).

Pinaka kapansin-pansin mga pagpapabuti sa RPM 4.15:

  • Nagdagdag ng pang-eksperimentong suporta para sa walang pribilehiyong pagpupulong sa isang chroot na kapaligiran;
  • Ipinatupad suporta para sa parallelization ng package assembly sa multi-core system. Ang limitasyon sa bilang ng mga thread ay itinakda sa pamamagitan ng macro na β€œ%_smp_build_ncpus” at ang $RPM_BUILD_NCPUS variable. Upang matukoy ang bilang ng mga CPU, ang macro na "%getncpus" ay iminungkahi;
  • Sinusuportahan na ngayon ng mga spec file ang conditional operator na β€œ%elif” (else if), gayundin ang mga opsyon na β€œ%elifos” at β€œ%elifarch” para sa pag-binding sa distribution at architecture;
  • Idinagdag mga bagong seksyon na "%patchlist" at "%sourcelist", na maaaring magamit upang magdagdag ng mga patch at source sa pamamagitan lamang ng paglilista ng mga pangalan nang hindi tinukoy ang mga numero ng entry (halimbawa, sa halip na
    β€œPatch0: popt-1.16-pkgconfig.patch” sa seksyong %patchlist maaari mong tukuyin ang β€œpopt-1.16-pkgconfig.patch”);

  • Sa rpmbuild idinagdag suporta para sa dynamic na pagpupulong ng mga dependency kasama ang kanilang pagsasama sa src.rpm. Sa spec file, ang suporta para sa seksyong "%generate_buildrequires" ay idinagdag, ang mga nilalaman nito ay pinoproseso bilang isang listahan ng mga dependency (BuildRequires), na nangangailangan ng pag-verify (kung ang dependency ay nawawala, isang error ang ipapakita).
  • Ipinatupad Ang operator na "^" ay ginagamit upang tingnan ang mga bersyon na mas luma sa isang naibigay na petsa, ginagawa ang kabaligtaran ng operator na "~". Halimbawa,
    Sakop ng "1.1^20160101" ang bersyon 1.1 at idinagdag ang mga patch pagkatapos ng Enero 1, 2016;

  • Idinagdag ang opsyong "--scm" upang paganahin ang mode na "%autosetup SCM";
  • Idinagdag ang built-in na macro "%{expr:...}" para sa pagsusuri ng mga arbitrary na expression (ilang araw na ang nakalipas ay mayroon ding iminungkahi format na "%[ expr ]");
  • Tinitiyak na ang default na pag-encode ay UTF-8 para sa string data sa mga header;
  • Nagdagdag ng mga pandaigdigang macro na %build_cflags, %build_cxxflags, %build_fflags at %build_ldflags na may mga flag para sa compiler at linker;
  • Idinagdag ang macro na "%dnl" (Itapon sa Susunod na Linya) para sa pagpasok ng mga komento;
  • Tinitiyak ng mga binding para sa Python 3 na ibabalik ang mga string bilang mga nakatakas na UTF-8 na sequence sa halip na byte data;
  • Nagdagdag ng dummy database backend upang mapabuti ang suporta para sa mga system na walang rpmdb (hal. Debian);
  • Pinahusay na ARM architecture detection at dagdag na suporta para sa armv8;
  • Nagbibigay ng tuluy-tuloy na suporta para sa Lua 5.2-5.3, na hindi nangangailangan ng mga compat definition sa code.

Pinagmulan: opennet.ru

Magdagdag ng komento