È stato rilasciato il pacchetto BusyBox 1.34, che implementa un insieme di utilità standard UNIX, presentate come un unico file eseguibile e ottimizzate per ridurre al minimo il consumo di risorse di sistema, con una dimensione complessiva inferiore a 1 MB. La prima versione della nuova serie 1.34 è classificata come instabile; la stabilizzazione completa sarà garantita nella versione 1.34.1, attesa tra circa un mese. Il codice del progetto è distribuito con licenza GPLv2.
La natura modulare di BusyBox consente di creare un unico file eseguibile unificato che contiene un insieme arbitrario di utilità implementate nel pacchetto (ogni utilità è accessibile come un collegamento simbolico a questo file). La dimensione, la composizione e la funzionalità della collezione di utilità possono variare in base alle esigenze e alle capacità della piattaforma embedded per cui si sta effettuando la build. Il pacchetto è autonomo; con una build statica con uclibc, per creare un sistema funzionante sopra il kernel Linux è necessario solo generare alcuni file di dispositivo nella directory /dev e preparare i file di configurazione. Rispetto alla versione precedente 1.33, il consumo di memoria RAM della build standard di BusyBox 1.34 è aumentato di 9620 byte (da 1032724 a 1042344 byte).
BusyBox è uno strumento fondamentale nella lotta contro la violazione della GPL nei firmware. Le organizzazioni Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC), a nome degli sviluppatori di BusyBox, hanno ripetutamente esercitato con successo pressioni su aziende che non forniscono accesso al codice sorgente dei programmi GPL, sia attraverso cause legali che tramite accordi extragiudiziali. Nel contempo, l'autore di BusyBox si oppone fermamente a tale protezione, ritenendo che danneggi il suo business.
Nella versione 1.34 di BusyBox sono state apportate le seguenti modifiche:
- Aggiunta una nuova utilità ascii con una tabella interattiva dei nomi dei caratteri ASCII.
- Aggiunta una nuova utilità crc32 per il calcolo dei checksum.
- Nel server http integrato è stata implementata la supporto per i metodi DELETE, PUT e OPTIONS.
- In udhcpc è stata fornita la possibilità di cambiare il nome dell'interfaccia di rete predefinita.
- Nell'implementazione dei protocolli TLS è stata aggiunta la supporto per le curve ellittiche secp256r1 (P256)
- È proseguito lo sviluppo delle shell ash e hush. In hush, il trattamento del comando ^D è stato reso conforme al comportamento di ash e bash, è stata implementata la costruzione specifica di bash $’str’, e sono state ottimizzate le operazioni di sostituzione ${var/pattern/repl}.
- È stata apportata una grande quantità di correzioni e miglioramenti nell'implementazione dell'utilità awk.
- Nelle utilità base32 e base64 è stata aggiunta l'opzione «-i» per ignorare i caratteri non validi.
- Nelle utilità bc e dc il trattamento delle variabili d'ambiente BC_LINE_LENGTH e DC_LINE_LENGTH è stato avvicinato alle utilità GNU.
- Nell'utilità blockdev sono state aggiunte le opzioni —getra e —setra.
- Nelle utilità chattr e lsattr è stata aggiunta l'opzione «-p». In lsattr è stato ampliato il numero di flag del filesystem ext2 supportati.
- Nell'utilità cp sono state aggiunte le opzioni «-n» (disabilita la sovrascrittura) e «-t DIR» (impostazione della directory di destinazione).
- In cpio è stata ripristinata la funzionalità della costruzione «cpio -d -p A/B/C».
- Nell'utilità df è stata aggiunta l'opzione «-t TYPE» (limita l'output a un determinato tipo di filesystem).
- Nell'utilità du è stata aggiunta l'opzione -b (equivalente a ‘—apparent-size —block-size=1’).
- Nell'utilità env è stata aggiunta l'opzione «-0» (terminazione di ogni riga con un carattere nullo).
- Nell'utilità free è stata aggiunta l'opzione «-h» (output in formato leggibile).
- Nell'utilità ionice è stata aggiunta l'opzione «-t» (ignorare i fallimenti).
- Nell'utilità login è stata implementata la supporto per la variabile d'ambiente LOGIN_TIMEOUT.
- Nell'utilità mv sono state aggiunte le opzioni «-t» (definizione della directory di destinazione per lo spostamento) e «-T» (trattamento del secondo argomento come file).
- Nell'utilità shred è stata aggiunta l'opzione «-s SIZE» (numero di byte da cancellare).
- Nell'utilità taskset è stata aggiunta l'opzione «-a» (applicazione della binding CPU a tutti i thread del processo).
- Nelle utilità timeout, top, watch e ping è stata implementata la supporto per valori non interi (NN.N).
- Nell'utilità uniq è stata aggiunta l'opzione «-z» (utilizzo del carattere con codice zero come delimitatore).
- Nell'utilità unzip è stata aggiunta l'opzione «-t» (verifica dell'archivio).
- Nell'editor vi è consentito l'uso di espressioni regolari nel comando ‘:s’. Aggiunto il parametro expandtab. Migliorate le implementazioni per il movimento tra paragrafi, selezione di intervalli e annullamento delle modifiche.
- Nell'utilità xxd sono state implementate le opzioni -i (output in stile C) e «-o DISPLAYOFFSET».
- Nell'utilità wget è stata consentita l'elaborazione dei codici HTTP 307/308 per il reindirizzamento. Aggiunta l'opzione FEATURE_WGET_FTP per attivare/disattivare il supporto FTP.
- Nell'utility dd è stata aggiunta l'opzione «iflag=count_bytes».
- Nell'utility cut sono state implementate opzioni compatibili con gli strumenti toybox «-O OUTSEP», «-D» e «-F LIST».
Fonte: opennet.ru
