Versione RPM 4.16

Dopo un anno di sviluppo ha avuto luogo rilascio del gestore pacchetti RPM 4.16.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). Codice del progetto distribuito da concesso in licenza con GPLv2 e LGPLv2.

Il più notevole miglioramenti nell'RPM 4.16:

  • È stato implementato un nuovo backend per l'archiviazione dei database nel DBMS SQLite. Questo back-end sarà usato in Fedora Linux 33 invece di un backend basato su BerkeleyDB.
  • È stato implementato un nuovo backend sperimentale per l'archiviazione di database in BDB (Oracle Berkeley DB), operante in modalità di sola lettura. L'implementazione è scritta da zero e non utilizza il codice del backend BerkeleyDB legacy, che è stato deprecato ma è ancora incluso per impostazione predefinita.
  • Il backend del database sperimentale basato su LMDB è stato rimosso.
  • Il database backend basato sullo storage NDB è stato dichiarato stabile.
  • Aggiunto il supporto per le macro e le espressioni "%if". operatore tenar (%{expr:1==0?"yes":"no"}) e offre una funzione di confronto delle versioni incorporata ('%[v"3:1.2-1″ > v"2.0″]').
  • È stato implementato il supporto per la classificazione dei file in base ai tipi MIME del loro contenuto.
  • Aggiunta la possibilità di generare dipendenze utilizzando macro parametriche.
  • È stata proposta una nuova versione dell'API di analisi e confronto per C e Python.
  • È assicurata la parallelizzazione dell'esecuzione dei componenti brp-strip e della suite di test. È stata effettuata l'ottimizzazione della parallelizzazione del processo di generazione dei pacchetti.
  • All'utilità rpmdb aggiunto opzione “—salvagedb” per ripristinare un database danneggiato (funziona solo con il backend NDB).
  • Aggiunte nuove macro %arm32, %arm64 e %riscv per il rilevamento dell'architettura. Aggiunta anche una macro incorporata %{macrobody:...} per ottenere il contenuto delle macro.
  • È vietato utilizzare nelle espressioni parole non separate da virgolette, ad es. invece di 'a == b' ora devi scrivere '"a" == "b"'.
  • Il parser di espressioni implementa la sintassi “%[...]” per l'esecuzione di un'espressione con espansione di macro (differisce da “%{expr:...}” in quanto le macro vengono eseguite per prime).
  • Aggiunto il supporto per l'espansione breve degli operatori logici e thenar nelle espressioni ("%[0 && 1 / 0]" viene trattato come 0 anziché causare un errore dovuto al tentativo di divisione per zero).
  • Aggiunto il supporto per l'utilizzo dell'operatore logico NOT in contesti arbitrari (!"%?foo").
  • Comportamento degli operatori "||". e "&&" viene allineato con Perl/Python/Ruby, ovvero Invece di restituire un valore booleano, ora restituisce l'ultimo valore calcolato (ad esempio, "%[2 || 3]" restituirà 2).
  • Aggiunta la possibilità di verificare formati alternativi di firme digitali e hash.
  • Aggiunto il supporto per le meta-dipendenze (Requires(meta): somepkg), che non influiscono sull'ordine di installazione e rimozione.
  • Aggiunta l'opzione "--rpmv3" a rpmsign per forzare l'uso delle firme digitali nel formato RPM3.
  • Aggiunta l'opzione di installazione "--excludeartifacts" per saltare l'installazione della documentazione, dei file di configurazione di esempio e di altri dati correlati.
  • Supporto deprecato per RPMv3 e i backend crittografici beecrypt e NSS.
  • Aggiunto il supporto per DSA2 (gcrypt) ed EdDSA.

Fonte: opennet.ru

Aggiungi un commento