RPM 4.15 release

Efter nästan två års utveckling ägde rum pakethanterarens release RPM 4.15.0. RPM4-projektet är utvecklat av Red Hat och används i sådana distributioner som RHEL (inklusive derivatprojekt CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen och många andra. Tidigare självständigt utvecklingsteam tagit fram projektet Varvtal 5, som inte är direkt relaterad till RPM4 och för närvarande är övergiven (ej uppdaterad sedan 2010).

Mest anmärkningsvärt förbättringar i RPM 4.15:

  • Lade till experimentellt stöd för oprivilegierad montering i en chroot-miljö;
  • Genomfört stöd för parallellisering av paketmontering på flerkärniga system. Gränsen för antalet trådar sätts genom makrot "%_smp_build_ncpus" och variabeln $RPM_BUILD_NCPUS. För att bestämma antalet CPU: er, föreslås makrot "%getncpus";
  • Spec-filer stöder nu den villkorliga operatorn "%elif" (else if), såväl som alternativen "%elifos" och "%elifarch" för bindning till distributionen och arkitekturen;
  • Lagt till nya avsnitt "%patchlist" och "%sourcelist", som kan användas för att lägga till patchar och källor genom att helt enkelt lista namn utan att ange postnummer (till exempel istället för
    "Patch0: popt-1.16-pkgconfig.patch" i %patchlist-sektionen kan du ange "popt-1.16-pkgconfig.patch");

  • I rpmbuild Lagt till stöd för dynamisk sammansättning av beroenden med deras inkludering i src.rpm. I spec-filen har stöd för avsnittet "%generate_buildrequires" lagts till, vars innehåll bearbetas som en lista över beroenden (BuildRequires), som kräver verifiering (om beroendet saknas kommer ett fel att visas).
  • Genomfört Operatorn "^" används för att söka efter versioner som är äldre än ett givet datum, och gör motsatsen till operatorn "~". Till exempel,
    "1.1^20160101" kommer att täcka version 1.1 och patchar som lagts till efter 1 januari 2016;

  • Lade till alternativet "--scm" för att aktivera läget "%autosetup SCM";
  • Lade till inbyggt makro "%{expr:...}" för att utvärdera godtyckliga uttryck (för några dagar sedan fanns det också föreslagen format "%[ expr ]");
  • Säkerställer att standardkodningen är UTF-8 för strängdata i rubriker;
  • Lade till globala makron %build_cflags, %build_cxxflags, %build_fflags och %build_ldflags med flaggor för kompilatorn och länken;
  • Lade till makrot "%dnl" (Släng till nästa rad) för att infoga kommentarer;
  • Bindningar för Python 3 säkerställer att strängar returneras som escaped UTF-8-sekvenser istället för bytedata;
  • Lade till dummy databas backend för att förbättra stödet för system utan rpmdb (t.ex. Debian);
  • Förbättrad ARM-arkitekturdetektering och lagt till stöd för armv8;
  • Ger sömlöst stöd för Lua 5.2-5.3, vilket inte kräver kompatibla definitioner i koden.

Källa: opennet.ru

Lägg en kommentar