Uscita del gestore di pacchetti RPM 4.15

Dopo quasi due anni di sviluppo si è tenuto rilascio del gestore di pacchetti RPM 4.15.0. Il progetto RPM4 è sviluppato da Red Hat e viene utilizzato in distribuzioni come RHEL (inclusi progetti derivati come CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e molte altre. In passato, era gestito da un team di sviluppatori indipendenti. si è sviluppato progetto RPM5, che non è direttamente collegato a RPM4 ed è attualmente abbandonato (non aggiornato dal 2010).

Le migliorie più significative miglioramenti in RPM 4.15:

  • Aggiunta la supporto sperimentale per la costruzione non privilegiata in un ambiente chroot;
  • Implementato supporto per la parallelizzazione della costruzione dei pacchetti su sistemi multi-core. Il limite del numero di thread è impostato tramite il macro «%_smp_build_ncpus» e la variabile $RPM_BUILD_NCPUS. È stato proposto il macro «%getncpus» per determinare il numero di CPU;
  • Nei file spec è stato aggiunto il supporto per gli operatori condizionali «%elif» (else if), così come le varianti «%elifos» e «%elifarch» per il binding alla distribuzione e all'architettura;
  • Aggiunti nuove sezioni «%patchlist» e «%sourcelist», che possono essere utilizzate per aggiungere patch e sorgenti semplicemente elencando i nomi senza specificare i numeri delle voci (ad esempio, invece di
    «Patch0: popt-1.16-pkgconfig.patch» nella sezione %patchlist si può indicare «popt-1.16-pkgconfig.patch»);
  • in rpmbuild aggiunta supporto per la generazione dinamica delle dipendenze con inclusione in src.rpm. Nel file spec è stata aggiunta la sezione «%generate_buildrequires», il cui contenuto viene elaborato come un elenco di dipendenze (BuildRequires) per la verifica (se una dipendenza è assente verrà visualizzato un errore).
  • Implementato operatore «^» per il controllo delle versioni successive a una certa data, eseguendo un'azione opposta all'operatore «~». Ad esempio,
    «1.1^20160101» include la versione 1.1 e le patch aggiunte dopo il 1 gennaio 2016;
  • Aggiunta l'opzione «—scm» per attivare la modalità «%autosetup SCM»;
  • Aggiunto il macro incorporato «%{expr:…}» per calcolare espressioni arbitrarie (qualche giorno fa è stato anche designato formato «%[ expr ]»);
  • Garantito l'uso predefinito della codifica UTF-8 per i dati stringa nelle intestazioni;
  • Aggiunti macro globali %build_cflags, %build_cxxflags, %build_fflags e %build_ldflags con le flag per il compilatore e il linker;
  • Aggiunto il macro «%dnl» (Discard to Next Line) per l'inserimento di commenti;
  • Nelle binding per Python 3 è garantito che le stringhe vengano restituite come sequenze di escape UTF-8 invece di dati byte;
  • Aggiunto un backend fittizio per il database per migliorare il supporto ai sistemi senza rpmdb (ad esempio, Debian);
  • Migliorata la rilevazione dell'architettura ARM e aggiunto il supporto per armv8;
  • Garantito supporto senza soluzione di continuità per Lua 5.2-5.3, senza necessità di definizioni compat nel codice.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster