Η έκδοση του έργου uutils coreutils 0.7.0 (Rust Coreutils) έχει δημοσιευτεί. Αναπτύσσει ένα ανάλογο του πακέτου GNU Coreutils γραμμένο στη γλώσσα Rust. Το coreutils περιλαμβάνει περισσότερα από εκατό βοηθητικά προγράμματα, όπως τα sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln και ls. Ο στόχος του έργου είναι η δημιουργία μιας εναλλακτικής υλοποίησης του Coreutils σε διάφορες πλατφόρμες, ικανής να εκτελείται σε πλατφόρμες Windows, Redox και Fuchsia.
Το Rust Coreutils είναι ενεργοποιημένο από προεπιλογή στο Ubuntu 25.10 και χρησιμοποιείται στις διανομές AerynOS (Serpent OS) και Apertis (που αναπτύχθηκε από την Collabora). Σε αντίθεση με το GNU Coreutils, η υλοποίηση του Rust διανέμεται με την επιτρεπόμενη άδεια MIT, αντί για την GPL με copyleft. Η ίδια ομάδα προγραμματιστών αναπτύσσει επίσης ισοδύναμα που βασίζονται στο Rust των σουιτών utility ...
Στη νέα έκδοση του Rust Coreutils:
- Το ποσοστό συμβατότητας με τη σουίτα δοκιμών GNU Coreutils ήταν 94.59% (μειωμένο από 96.28%). 629 δοκιμές ολοκληρώθηκαν με επιτυχία, δηλαδή 7 περισσότερες από ό,τι στην προηγούμενη έκδοση (622). 23 δοκιμές απέτυχαν (μειωμένες από 16) και 13 δοκιμές παραλείφθηκαν (μειωμένες από 7). Η μείωση της συμβατότητας οφείλεται στην ενημέρωση της σουίτας δοκιμών στην έκδοση GNU Coreutils 9.10, η οποία πρόσθεσε 19 νέες δοκιμές. Όσον αφορά τις συνολικές δοκιμές, το Rust Coreutils περνάει 7 περισσότερες δοκιμές από ό,τι στην προηγούμενη έκδοση.
- Οι σημαντικότερες βελτιώσεις συμβατότητας σημειώθηκαν για τα βοηθητικά προγράμματα date, fmt, kill, ptx, numfmt και cksum. Λιγότερο σημαντικές βελτιώσεις συμβατότητας σημειώθηκαν για τα βοηθητικά προγράμματα cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor και wc.
- Έχει παρασχεθεί υποστήριξη για τη βιβλιοθήκη num-prime Rust, η οποία χρησιμοποιείται για δοκιμές στο βοηθητικό πρόγραμμα factor.
- Ενεργοποιούνται ταχύτερες υλοποιήσεις του rustc-hash σε ls, du, tsort, shuf, mv και foldhash σε sort.
- Βελτιστοποιημένος χειρισμός χαρακτήρων ASCII στα βοηθητικά προγράμματα unexpand και expand, με αποτέλεσμα επιτάχυνση 14% κατά τη χρήση ανάγνωσης σε buffer.
- Οι λειτουργίες κατανομής μνήμης στα βοηθητικά προγράμματα shuf, split, sort και du έχουν βελτιστοποιηθεί, επιταχύνοντας το du κατά 3-6% και το shuf κατά 4%.
- Η μετατροπή αριθμών σε συμβολοσειρές στο βοηθητικό πρόγραμμα nl έχει επιταχυνθεί.
- Το μέγεθος των εκτελέσιμων αρχείων έχει μειωθεί και η εκκίνηση των βοηθητικών προγραμμάτων true και false έχει επιταχυνθεί.
- Περισσότερα από 20 βοηθητικά προγράμματα, συμπεριλαμβανομένων των echo, date, sort, expr, hostname, id, comm, pr και dircolors, έχουν διορθωθεί ώστε να παρουσιάζουν σφάλματα όταν δεν είναι δυνατή η εγγραφή στο stderr (ανακατευθύνονται στο /dev/full).
- Στα umask, mkdirat, mknod και άλλα βοηθητικά προγράμματα, οι μη ασφαλείς κλήσεις libc έχουν αντικατασταθεί με ασφαλείς συνδέσεις από το πακέτο nix crate.
- Η επιλογή "--preserve-root" στο βοηθητικό πρόγραμμα "rm" λειτουργεί πλέον σωστά κατά τον καθορισμό συμβολικών συνδέσμων.
- Βελτιωμένη υποστήριξη για πλατφόρμες NetBSD, Windows και NixOS. Βελτιωμένη δομή για την αρχιτεκτονική PowerPC.
- Διευρυμένες δυνατότητες, διορθωμένα προβλήματα και προσθήκη επιλογών που έλειπαν για τα ακόλουθα βοηθητικά προγράμματα: cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.
Πηγή: opennet.ru
