Aktualisierung der GNU Coreutils, die in Rust neu geschrieben wurde

Die Version 0.0.12 der uutils coreutils wurde veröffentlicht, die eine Alternative zu den GNU Coreutils darstellt und in Rust neu geschrieben wurde. Die coreutils bestehen aus über hundert Dienstprogrammen, darunter sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Gleichzeitig wurde das Paket uutils findutils 0.3.0 veröffentlicht, das in Rust geschriebene Implementierungen der GNU Findutils (find, locate, updatedb und xargs) enthält.

Als Grund für die Entwicklung dieses Projekts und die Verwendung der Programmiersprache Rust wird der Wunsch genannt, eine plattformübergreifende alternative Implementierung von Coreutils und Findutils zu schaffen, die auch auf Windows, Redox und Fuchsia funktioniert. Ein weiteres wichtiges Merkmal von uutils ist die Verbreitung unter der permissiven MIT-Lizenz, anstelle der copyleft GPL-Lizenz.

Aktuell ist die vollständige Umsetzung von 88 Utilities auf Parität mit GNU Coreutils erreicht. Einige kleinere Unvollkommenheiten sind bei 18 Utilities zu verzeichnen, darunter cp, dd, date, df, install, ls, more, sort, split, tail und test. Lediglich die Utility stty bleibt noch unimplementiert. Bei der Testreihe des GNU Coreutils-Projekts werden erfolgreich 214 Tests bestanden, während 313 Tests der Rust-Implementierung bislang nicht bestehen. Die Entwicklungsgeschwindigkeit des Projekts hat jedoch merklich zugenommen – pro Monat kommen 400-470 Patches von 20-50 Entwicklern hinzu, im Vergleich zu 30-60 Patches von 3-8 Entwicklern vor einem Jahr.

Aktualisierung der GNU Coreutils, die in Rust neu geschrieben wurde

Zu den jüngsten Errungenschaften gehört die Leistungsoptimierung – gegenwärtig übertreffen viele Utilities, wie head und cut, in ihrer Performance deutlich die Varianten von GNU Coreutils. Der Testabdeckungsbereich wurde von 55 % auf 75 % des gesamten Codes erweitert (ein angestrebtes Ziel ist 80 %). Der Code wurde refaktoriert, um die Wartung zu erleichtern, beispielsweise durch eine einheitliche Fehlerbehandlung in verschiedenen Programmen; in chgrp und chown wurde der Code zur Verwaltung von Zugriffsrechten zusammengeführt. Zahlreiche Änderungen wurden hinzugefügt, um die Kompatibilität mit GNU Coreutils zu verbessern.

In den zukünftigen Plänen wird die Implementierung des stty-Tools hervorgehoben, zudem das fortgesetzte Arbeiten an der Verbesserung der Kompatibilität mit GNU Coreutils, das Hinzufügen von Optimierungen zur Verkleinerung der ausführbaren Dateien sowie Experimente mit der Nutzung von uutils anstelle von GNU Coreutils und GNU Findutils in Debian und Ubuntu (einer der Hauptentwickler von uutils hat zuvor an einem Projekt gearbeitet, das den Bau von Debian GNU/Linux mit dem Clang-Compiler ermöglicht hat). Zusätzlich wird die Vorbereitung des uutils-coreutils-Pakets für macOS, Experimente mit dem Austausch von GNU Coreutils durch uutils coreutils in NixOS, die Absicht, uutils coreutils standardmäßig im Apertis-Distribution zu verwenden, sowie die Anpassung des uutils-Sets für Redox OS erwähnt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster