Efter nÀstan tvÄ Ärs utveckling utgivningen av paketchefen . Projektet RPM4 utvecklas av Red Hat och anvÀnds i distributioner som RHEL (inklusive avkommorna CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen och mÄnga andra. Tidigare av ett oberoende team av utvecklare projektet , som inte Àr direkt relaterad till RPM4 och för nÀrvarande Àr nedlagd (inte uppdaterad sedan 2010).
De mest anmÀrkningsvÀrda i RPM 4.15:
- Lagt till experimentellt stöd för icke-superanvÀndartjÀnst i chroot-miljö;
- stöd för parallellbyggnad av paket pÄ flerkÀrniga system. Antalet trÄdar stÀlls in via makrot «%_smp_build_ncpus» och variabeln $RPM_BUILD_NCPUS. För att bestÀmma antalet CPU:er föreslÄs makrot «%getncpus»;
- I spec-filer har stöd för villkorsoperatorn «%elif» (else if) lagts till, liksom alternativen «%elifos» och «%elifarch» för koppling till distribution och arkitektur;
- nya sektioner «%patchlist» och «%sourcelist», som kan anvÀndas för att lÀgga till patchar och kÀlltexter genom att enkelt lista namn utan att ange postnummer (t.ex. istÀllet för
«Patch0: popt-1.16-pkgconfig.patch» i sektionen %patchlist kan man ange «popt-1.16-pkgconfig.patch»); - I rpmbuild stöd för dynamisk byggnad av beroenden med deras inkludering i src.rpm. I spec-filen har stöd för sektionen «%generate_buildrequires» lagts till, vars innehÄll behandlas som en lista av beroenden (BuildRequires) som krÀver kontroll (om ett beroende saknas visas ett fel).
- operatorn «^» för att kontrollera versioner som Àr Àldre Àn ett angivet datum, vilket utför en ÄtgÀrd som Àr motsatsen till operatorn «~». Till exempel,
«1.1^20160101» kommer att omfatta version 1.1 och patchar som lades till efter 1 januari 2016; - Lagt till alternativet «âscm» för att aktivera lĂ€get «%autosetup SCM»;
- Lagt till det inbyggda makrot «%{expr:âŠ}» för att berĂ€kna godtyckliga uttryck (för nĂ„gra dagar sedan lades Ă€ven formatet «%[ expr ]» );
- SÀkerstÀllande av standardanvÀndning av UTF-8-kodning för strÀngdata i rubriker;
- Lagt till globala makron %build_cflags, %build_cxxflags, %build_fflags och %build_ldflags med flaggor för kompilatorn och lÀnkaren;
- Lagt till makrot «%dnl» (Discard to Next Line) för att infoga kommentarer;
- I bindningar för Python 3 sÀkerstÀlls att strÀngar returneras som escaped UTF-8 sekvenser istÀllet för byte data;
- Lagt till en dummy databasbackend för att förbÀttra stödet för system utan rpmdb (t.ex. Debian);
- FörbÀttrad identifiering av ARM-arkitektur och stöd för armv8;
- SÀkerstÀlld sömlös support för Lua 5.2-5.3, utan behov av compat-definitioner i koden.
KĂ€lla: opennet.ru
