publication du paquet avec la mise en Ćuvre d'un ensemble d'utilitaires UNIX standard, regroupĂ©s sous la forme d'un seul fichier exĂ©cutable et optimisĂ©s pour une consommation minimale des ressources systĂšme, le tout pour une taille de package infĂ©rieure Ă 1 Mo. La premiĂšre version de la nouvelle branche 1.31 est dĂ©signĂ©e comme instable, la stabilisation complĂšte sera assurĂ©e dans la version 1.31.1, qui est attendue dans environ un mois. Le code du projet est distribuĂ© sous licence GPLv2.
Le caractÚre modulaire de BusyBox permet de créer un seul fichier exécutable unifié, contenant un ensemble arbitraire d'utilitaires implémentés dans le package (chaque utilitaire est disponible sous forme de lien symbolique vers ce fichier). La taille, la composition et la fonctionnalité de la collection d'utilitaires peuvent varier en fonction des besoins et des capacités de la plateforme embarquée pour laquelle la compilation est effectuée. Le package est autonome ; lors de la compilation statique avec uclibc, il suffit de créer quelques fichiers de périphériques dans le répertoire /dev et de préparer des fichiers de configuration pour générer un systÚme fonctionnel sur le noyau Linux. Par rapport à la version précédente 1.30, la consommation de mémoire vive de la compilation standard de BusyBox 1.31 a diminué de 86 octets (de 1008478 à 1008392 octets).
BusyBox est un outil clĂ© dans la lutte contre les violations de la GPL dans les firmwares. Les organisations Software Freedom Conservancy (SFC) et Software Freedom Law Center (SFLC) agissent au nom des dĂ©veloppeurs de BusyBox tant par le biais , que par le biais extra-judiciaires, ont de nombreuses fois su avoir un impact sur les entreprises ne fournissant pas l'accĂšs au code source des programmes GPL. En mĂȘme temps, l'auteur de BusyBox s'oppose fermement Dans la version BusyBox 1.32, les changements suivants sont notĂ©s :
Les modifications apportées dans BusyBox 1.31 sont les suivantes :
- Ajout de nouvelles commandes : ts (implémentation du client et du serveur pour le protocole TSP (Time-Stamp Protocol)) et i2ctransfer (création et envoi de messages I2C);
- Ajout du support des options DHCP (informations sur le fuseau horaire) et 101 (nom du fuseau horaire dans la base de données TZ) pour IPv6;
- Ajout de la prise en charge des liaisons statiques des noms d'hĂŽtes aux clients dans udhcpd;
- Les shells ash et hush prennent en charge les littéraux numériques « BASE#nnnn ». L'implémentation de la commande ulimit a été mise en conformité avec bash, y compris l'ajout des options « -i RLIMIT_SIGPENDING » et « -q RLIMIT_MSGQUEUE ». Ajout du support de « wait -n ». Des variables compatibles avec bash ont été ajoutées, telles que EPOCH;
- Dans le shell hush, la variable « $- » a été implémentée, dans laquelle sont énumérées les options activées par défaut du shell;
- Dans bc, le code a été transféré depuis upstream pour le passage de valeurs par référence, ajout du support des fonctions void et possibilité de travailler avec des valeurs ibase jusqu'à 36;
- Dans brctl, toutes les commandes ont été transférées pour fonctionner avec le pseudo-systÚme de fichiers /sys;
- Le code des utilitaires fsync et sync a été unifié;
- ImplĂ©mentation amĂ©liorĂ©e de httpd. Traitement amĂ©liorĂ© des en-tĂȘtes HTTP et fonctionnement en mode proxy. SVG et JavaScript ont Ă©tĂ© ajoutĂ©s Ă la liste des types MIME ;
- Dans losetup, une option « -c » (vérification forcée de la taille du fichier associé à l'appareil en boucle) a été ajoutée, ainsi qu'une option pour scanner les partitions. Le support de l'utilisation de /dev/loop-control a été assuré dans mount et losetup ;
- Dans ntpd, la valeur SLEW_THRESHOLD a été augmentée de 0.125 à 0.5 ;
- Dans sysctl, la prise en charge de l'attribution de valeurs vides a été ajoutée ;
- Dans watch, la prise en charge des valeurs fractionnaires dans l'option « -n SEC » a été ajoutée ;
- Ajout de la possibilité de lancer mdev en tant que processus en arriÚre-plan ;
- Dans l'utilitaire wget, un drapeau « -o » a été implémenté pour spécifier le fichier de journalisation. Des notifications sur le début et la fin des téléchargements ont été ajoutées ;
- Dans telnetd, le support de la commande AYT IAC a été ajouté ;
- Dans vi, la commande âdGâ (suppression du contenu de la ligne actuelle Ă la fin du fichier) a Ă©tĂ© ajoutĂ©e ;
- Dans la commande dd, une option âoflag=appendâ a Ă©tĂ© ajoutĂ©e ;
- Dans l'utilitaire top, un drapeau â-Hâ a Ă©tĂ© ajoutĂ© pour activer le mode de balayage des threads individuels.
De plus, il y a deux semaines la sortie , un analogue de BusyBox, dĂ©veloppĂ© par un ancien mainteneur de BusyBox et sous licence BSD. La principale vocation de Toybox est de fournir aux fabricants la possibilitĂ© d'utiliser un ensemble minimaliste d'outils standard sans divulguer les codes source des composants modifiĂ©s. En termes de fonctionnalitĂ©s, Toybox reste pour l'instant de BusyBox, mais 188 commandes de base sur les 220 prĂ©vues ont dĂ©jĂ Ă©tĂ© mises en Ćuvre.
Parmi les nouveautés de Toybox 0.8.1, on peut noter :
- Un niveau de fonctionnalité a été atteint, suffisant pour compiler Android dans un environnement basé sur les utilitaires Toybox.
- De nouvelles commandes mcookie et devmem ont été ajoutées, et les commandes tar, gunzip et zcat réécrites ont été transférées à la branche de test.
- Une nouvelle implémentation de vi a été proposée pour les tests.
- Dans la commande find, la prise en charge des options « -wholename/-iwholename » a été ajoutée,
« -printf » et « -context » ; - Dans grep, l'option « âexclude-dir » a Ă©tĂ© ajoutĂ©e ;
- Dans echo, le support de l'option « -E » a été ajouté.
- Dans mount, la prise en charge de « UUID » a été ajoutée.
- Dans la commande date, la prise en compte du fuseau horaire défini dans la variable d'environnement TZ a été ajoutée.
- Dans sed, le support des plages relatives (+N) a été ajouté.
- Amélioration de la lisibilité des sorties ps, top et iotop.
Source : opennet.ru
