Il progetto GNU ha pubblicato la versione 4.10.0 del pacchetto findutils, che include implementazioni di strumenti per l'organizzazione della ricerca di file nel sistema, come find, updatedb e locate. All'interno di findutils si trova anche l'utilità xargs, progettata per costruire comandi eseguiti con dati provenienti dallo standard input, normalmente generati dall'utilità find.
Nella nuova versione:
- È stata ripristinata la supporto per la libreria C Musl, distribuita con licenza MIT. Questa modifica consente di utilizzare GNU findutils nelle distribuzioni Linux che impiegano Musl al posto di Glibc, come Void Linux, Alpine Linux, postmarketOS, OpenWrt e Static Linux.
- È stato risolto il "problema del 2038", che causava malfunzionamenti su sistemi con un tipo di time_t a 32 bit durante l'elaborazione con gli strumenti findutils di file datati dopo il 19 gennaio 2038. Il malfunzionamento è dovuto al fatto che il tipo di time_t a 32 bit non può trattare il tempo successivo al 19 gennaio 2038 a causa del superamento del contatore di secondi a 32 bit, che conta a partire dal 1 gennaio 1970. Per la compilazione su sistemi che non supportano il tempo dopo il 2038, è prevista l'opzione "--disable-year2038".
- Nella costruzione dell'utilità find, viene utilizzato per impostazione predefinita il primo livello di ottimizzazione anziché il secondo, per escludere la modifica dell'ordine di esecuzione delle operazioni e garantire un comportamento ripetibile.
Inoltre, qualche giorno fa è stato rilasciato il pacchetto uutils findutils 0.6.0, con un'implementazione alternativa degli strumenti del set GNU Findutils, scritta in Rust. Il livello di compatibilità con GNU findutils è valutato al 65,97% nei test del BFS Test Suite e al 63,38% nei test del GNU Test Suite (con 190 test completati con successo nel set BFS e 445 test nel set GNU, mentre 97 e 256 test falliscono ancora).
Tra i miglioramenti in uutils findutils 0.6.0, è stata aggiunta all'utilità find la supporto per le opzioni «-uid», «-gid», «-samefile», «-fstype», «-[no]user», «-[no]group», «-newerXY», «-anewer» e «-cnewer», la possibilità di specificare intervalli nelle opzioni «-amin», «-cmin» e «-mmin», e la memorizzazione nella cache delle informazioni sui file confrontati quando si usano opzioni come «-samefile» e «-newerXY». Nell'utilità xargs è stata implementata l'opzione «—max-lines».
Fonte: opennet.ru
