Dopo un anno di sviluppo, è stato rilasciato il gestore di pacchetti RPM 4.17.0. Il progetto RPM4 è sviluppato da Red Hat e viene utilizzato in distribuzioni come RHEL (inclusi i progetti derivati CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e molte altre. In precedenza, un team indipendente di sviluppatori aveva sviluppato il progetto RPM5, che non è direttamente collegato a RPM4 ed è attualmente abbandonato (non aggiornato dal 2010). Il codice del progetto è distribuito sotto le licenze GPLv2 e LGPLv2.
I miglioramenti più significativi in RPM 4.17:
- Migliorata la gestione degli errori durante l'installazione.
- Migliorata l'interfaccia per la creazione di macro in linguaggio Lua.
- Aggiunta la macro incorporata %{exist:…} per controllare l'esistenza di un file.
- Ampliate le capacità dell'API per la gestione delle transazioni.
- Unificata la sintassi delle macro incorporate e personalizzate, così come il formato della loro chiamata (%foo arg, %{foo arg} e %{foo:arg} sono ora equivalenti).
- Nel buildroot è stata applicata di default una regola per rimuovere i file '.la' ed è stata aggiunta una regola per pulire il bit eseguibile per i file delle librerie condivise.
- Aggiunto il plugin dbus-announce per informare delle transazioni RPM tramite D-Bus.
- Aggiunto il plugin fapolicyd per definire le politiche di accesso ai file.
- Aggiunto il plugin fs-verity per la verifica dell'autenticità dei singoli file tramite il meccanismo incorporato nel kernel fs-verity.
- Le pagine man sono state convertite nel formato Markdown.
- Presentata una bozza del manuale per la gestione dei pacchetti e la creazione di pacchetti.
- Rimosso il backend DBD, destinato a memorizzare dati in Berkeley DB (per la compatibilità con i vecchi sistemi è stato mantenuto il backend BDB_RO, che funziona in modalità di sola lettura). Come database predefinito è stato impiegato sqlite.
- Aggiunta la supporto per le firme digitali EdDSA.
- Gli strumenti per l'estrazione del Debuginfo sono stati isolati in un progetto separato.
- I gestori e i generatori di pacchetti in linguaggio Python sono stati isolati in un progetto separato.
- Puliti gli script non più mantenuti.
- Rimossi i backend crittografici beecrypt e NSS.
Fonte: opennet.ru
