Dopo un anno di sviluppo è stato rilasciato il gestore pacchetti RPM 4.17.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. In precedenza, un team di sviluppo indipendente aveva sviluppato il progetto RPM5, che non è direttamente correlato a RPM4 ed è attualmente abbandonato (non aggiornato dal 2010). Il codice del progetto è distribuito con le licenze GPLv2 e LGPLv2.
I miglioramenti più notevoli in RPM 4.17 sono:
- Gestione migliorata degli errori durante l'installazione.
- Interfaccia migliorata per la creazione di macro in Lua.
- Aggiunta la macro incorporata %{exist:...} per verificare se esiste un file.
- Le funzionalità API per l'elaborazione delle transazioni sono state ampliate.
- La sintassi delle macro predefinite e utente è stata unificata, così come il formato per chiamarle (%foo arg, %{foo arg} e %{foo:arg} sono ora equivalenti).
- buildroot ha una regola predefinita per rimuovere i file ".la" e ha aggiunto una regola per cancellare il bit eseguibile per i file di libreria condivisa.
- Aggiunto plugin dbus-announce per segnalare transazioni RPM tramite D-Bus.
- Aggiunto plugin fapolicyd per definire le politiche di accesso ai file.
- Aggiunto plugin fs-verity per verificare l'autenticità dei singoli file utilizzando il meccanismo fs-verity integrato nel kernel.
- Le pagine man sono state convertite nel formato Markdown.
- Fornisce una guida iniziale alla gestione dei pacchetti e alla creazione di pacchetti.
- Il backend DBD, destinato alla memorizzazione dei dati nel Berkeley DB, è stato rimosso (per compatibilità con i sistemi più vecchi è stato lasciato il backend BDB_RO, che funziona in modalità di sola lettura). Il database predefinito è sqlite.
- Aggiunto il supporto per le firme digitali EdDSA.
- Le utilità per l'estrazione di Debuginfo sono separate in un progetto separato.
- I processori ausiliari e i generatori di pacchetti in Python sono separati in un progetto separato.
- Gli script rimasti non mantenuti sono stati ripuliti.
- I backend crittografici beecrypt e NSS sono stati rimossi.
Fonte: opennet.ru