RPM 6.1.0 Rilasciato novità, correzioni e impatto per chi usa Linux

RPM 6.1.0 è da poco disponibile come un aggiornamento stabile che porta con se correzioni di bug e regressioni presenti in 6.0.1 e versioni precedenti, e con pagina di rilascio ancora in aggiornamento continuo. Tra le novità principali compaiono un meccanismo di locking del keystore migliorato, il ripristino delle ricerche utenti e gruppi basate su NSS e una nuova sintassi per controllare il comportamento delle macro. Il rilascio introduce anche un nuovo modello di release ispirato al kernel Linux, segnale di una gestione più regolare e strutturata del ciclo di sviluppo.

Dal punto di vista pratico, questa versione punta a ridurre attriti storici nei flussi di installazione, build e verifica, senza stravolgere il modo in cui RPM viene usato ogni giorno. Il focus è chiaramente su affidabilità, chiarezza degli errori e miglior compatibilità con ambienti moderni.

Cosa cambia per chi usa RPM

Nelle transazioni, il keystore usa ora un lock separato invece del transaction lock, correggendo una regressione che bloccava tutte le query rpmdb durante le transazioni. Le ricerche utenti e gruppi tornano a passare da NSS per impostazione predefinita, con la possibilità di disattivarle manualmente tramite macro dedicate, mentre nelle operazioni --root restano comunque disabilitate. È stato anche migliorato il modo in cui i file descriptor vengono chiusi su Linux 5.11+ con glibc 2.34+, con un guadagno di installazione che in certi casi può arrivare a circa il 26%.

Nel flusso di build, RPM esporta ora l’ambiente di script nel file rpmbuild.env, utile per chi deve replicare o integrare il contesto di build. Inoltre, errori prima poco chiari sono stati resi più leggibili: ad esempio, il packaging di binari non coerenti con l’architettura mostra ora nome file e tipo effettivo, mentre patch o sorgenti mancanti generano di nuovo un errore di build con numero di riga. Anche rpmuncompress e rpm-setup-autosign sono stati resi più comodi da usare come strumenti autonomi, perché spostati nel PATH standard.

Macro, firme e strumenti

La parte macro è una delle più interessanti per chi scrive spec file. Ora è possibile modificare il comportamento delle macro con una sintassi a modificatori alla definizione, con supporto attuale per espansione literal e one-shot. Anche %define ottiene le opzioni -e e -g, che permettono di espandere subito il corpo della macro e di inserirla nel contesto globale. In pratica, questo rende la gestione delle macro più espressiva e più vicina ai casi d’uso reali di chi mantiene pacchetti complessi.

Sul fronte firme e verifica, rpmsign può firmare file con token PKCS11, rpmkeys evita un ritorno 0 in caso di fallimento e l’output di verifica è stato ripulito da messaggi eccessivi o fuorvianti. Anche rpm-plugin-syslog è stato sistemato per integrare meglio il journal di systemd, con nomi operazione più affidabili e messaggi duplicati rimossi. Questo rende più semplice controllare la cronologia delle transazioni con strumenti di log standard del sistema.

Documentazione e sviluppo

RPM 6.1.0 aggiunge anche nuove pagine man, tra cui elfdeps, rpm-dependency-generator, rpm-design, rpm-scriptlets e rpm-sysusers. La documentazione di rpmbuild ora include una sezione dedicata al processo di build, mentre rpmkeys copre anche la politica generale di verifica. Per chi sviluppa in C, il progetto segnala la correzione di tutti gli errori e warning di Clang, quindi una build pulita con quel toolchain.

In API e binding, arrivano rpmKeyringVerifySig3(), il nuovo binding Python rpm.ds.Ti(), diversi fix per rpm.ds e una gestione migliorata di rpmtsSetScriptFd() per gli scriptlet Lua. Nel complesso, questo rilascio rafforza sia l’esperienza degli utenti sia quella di chi sviluppa o impacchetta software sopra RPM.

Lascia un commento