RPM 4.15 izlaidums

Pēc gandrīz divu gadu attīstības notika pakotņu pārvaldnieka izlaidums RPM 4.15.0. RPM4 projektu izstrādā Red Hat, un to izmanto tādos izplatījumos kā RHEL (tostarp atvasinātos projektos CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen un daudzi citi. Iepriekš neatkarīga izstrādes komanda izstrādāta projekts RPM 5, kas nav tieši saistīts ar RPM4 un šobrīd ir pamests (nav atjaunināts kopš 2010. gada).

Ievērojamākais uzlabojumi RPM 4.15:

  • Pievienots eksperimentāls atbalsts nepiešķirtai montāžai chroot vidē;
  • Īstenots atbalsts paketes montāžas paralēlizēšanai daudzkodolu sistēmās. Pavedienu skaita ierobežojums tiek iestatīts, izmantojot makro “%_smp_build_ncpus” un mainīgo $RPM_BUILD_NCPUS. Lai noteiktu CPU skaitu, tiek piedāvāts makro “%getncpus”;
  • Spec faili tagad atbalsta nosacīto operatoru “%elif” (else if), kā arī opcijas “%elifos” un “%elifarch” saistīšanai ar izplatīšanu un arhitektūru;
  • Pievienots jaunas sadaļas "%patchlist" un "%sourcelist", kuras var izmantot, lai pievienotu ielāpus un avotus, vienkārši uzskaitot nosaukumus, nenorādot ierakstu numurus (piemēram,
    “Patch0: popt-1.16-pkgconfig.patch” sadaļā %patchlist varat norādīt “popt-1.16-pkgconfig.patch”);

  • In rpmbuild pievienots atbalsts dinamiskai atkarību montāžai ar to iekļaušanu src.rpm. Specifikācijas failā ir pievienots atbalsts sadaļai “%generate_buildrequires”, kuras saturs tiek apstrādāts kā atkarību saraksts (BuildRequires), kam nepieciešama pārbaude (ja atkarības trūkst, tiks parādīta kļūda).
  • Īstenots Operators "^" tiek izmantots, lai pārbaudītu versijas, kas vecākas par norādīto datumu, rīkojoties pretēji operatoram "~". Piemēram,
    "1.1^20160101" aptvers versiju 1.1 un ielāpus, kas pievienoti pēc 1. gada 2016. janvāra;

  • Pievienota opcija "--scm", lai iespējotu "%autosetup SCM" režīmu;
  • Pievienots iebūvēts makro "%{expr:...}" patvaļīgu izteiksmju novērtēšanai (pirms dažām dienām bija arī ierosināts formāts "%[ expr ]");
  • Nodrošina, lai virkņu datiem galvenēs noklusējuma kodējums būtu UTF-8;
  • Pievienoti globālie makro %build_cflags, %build_cxxflags, %build_fflags un %build_ldflags ar karodziņiem kompilatoram un linkerim;
  • Pievienots makro “%dnl” (Atmest nākamajā rindā) komentāru ievietošanai;
  • Python 3 saistījumi nodrošina, ka virknes tiek atgrieztas kā UTF-8 izplūdes secības, nevis baitu dati;
  • Pievienota fiktīva datu bāzes aizmugursistēma, lai uzlabotu atbalstu sistēmām bez rpmdb (piemēram, Debian);
  • Uzlabota ARM arhitektūras noteikšana un pievienots atbalsts armv8;
  • Nodrošina vienmērīgu atbalstu Lua 5.2–5.3, kam kodā nav nepieciešamas saderīgas definīcijas.

Avots: opennet.ru

Pievieno komentāru