Versione RPM 4.15

Dopo quasi due anni di sviluppo ha avuto luogo rilascio del gestore pacchetti RPM 4.15.0. Il progetto RPM4 è sviluppato da Red Hat ed è utilizzato in distribuzioni come RHEL (inclusi progetti derivati ​​CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e molti altri. Team di sviluppo precedentemente indipendente sviluppato progetto RPM5, che non è direttamente correlato a RPM4 ed è attualmente abbandonato (non aggiornato dal 2010).

Il più notevole miglioramenti nell'RPM 4.15:

  • Aggiunto supporto sperimentale per l'assemblaggio non privilegiato in un ambiente chroot;
  • Implementato supporto per la parallelizzazione dell'assemblaggio di pacchetti su sistemi multi-core. Il limite al numero di thread viene impostato tramite la macro “%_smp_build_ncpus” e la variabile $RPM_BUILD_NCPUS. Per determinare il numero di CPU viene proposta la macro “%getncpus”;
  • I file specifiche ora supportano l'operatore condizionale “%elif” (else if), così come le opzioni “%elifos” e “%elifarch” per il collegamento alla distribuzione e all'architettura;
  • Aggiunto nuove sezioni "%patchlist" e "%sourcelist", che possono essere utilizzate per aggiungere patch e sorgenti semplicemente elencando i nomi senza specificare i numeri di voce (ad esempio, invece di
    “Patch0: popt-1.16-pkgconfig.patch” nella sezione %patchlist è possibile specificare “popt-1.16-pkgconfig.patch”);

  • Nell'rpmbuild aggiunto supporto per l'assemblaggio dinamico delle dipendenze con la loro inclusione in src.rpm. Nel file spec è stato aggiunto il supporto per la sezione “%generate_buildrequires”, il cui contenuto viene elaborato come un elenco di dipendenze (BuildRequires), richiedendo la verifica (se manca la dipendenza verrà visualizzato un errore).
  • Implementato L'operatore "^" viene utilizzato per verificare la presenza di versioni precedenti a una determinata data, facendo l'opposto dell'operatore "~". Per esempio,
    "1.1^20160101" coprirà la versione 1.1 e le patch aggiunte dopo il 1 gennaio 2016;

  • Aggiunta l'opzione "--scm" per abilitare la modalità "%autosetup SCM";
  • Aggiunta la macro incorporata "%{expr:...}" per la valutazione di espressioni arbitrarie (pochi giorni fa c'era anche proposto formato "%[ espressione ]");
  • Garantisce che la codifica predefinita sia UTF-8 per i dati stringa nelle intestazioni;
  • Aggiunte macro globali %build_cflags, %build_cxxflags, %build_fflags e %build_ldflags con flag per il compilatore e il linker;
  • Aggiunta macro “%dnl” (Scarta alla riga successiva) per l'inserimento di commenti;
  • I collegamenti per Python 3 assicurano che le stringhe vengano restituite come sequenze UTF-8 con escape anziché come dati byte;
  • Aggiunto backend database fittizio per migliorare il supporto per i sistemi senza rpmdb (ad esempio Debian);
  • Rilevamento dell'architettura ARM migliorato e supporto aggiunto per armv8;
  • Fornisce supporto continuo per Lua 5.2-5.3, che non richiede definizioni di compatibilità nel codice.

Fonte: opennet.ru

Aggiungi un commento