The uutils/coreutils
project, a Rust-based cross-platform reimplementation of GNU core utilities, aims to provide seamless utility compatibility across Linux, Mac, and Windows platforms. Despite its ambitious goals and significant community interest, recent development activity has been largely stagnant, focusing primarily on dependency updates rather than substantial feature advancements or bug fixes.
Recent issues and pull requests indicate a focus on maintaining compatibility with GNU utilities, with several issues highlighting discrepancies in behavior or output. Notable issues include #6655 regarding checksum verification failures on Windows 11 and #6644 concerning the parsing of date strings unsupported by the GNU date
utility. These issues underscore ongoing challenges in achieving full compatibility across different platforms.
Daniel Hofstetter (cakebaker)
Renovate[bot]
Sreehari Prasad (matrixhead)
ls
utility for case-sensitive matching.Sylvestre Ledru (sylvestre)
Ben Wiederhake (BenWiederhake)
Krysztal Huang (Krysztal112233)
uucore
.Laurent Cheylus (lcheylus)
Pyokyeong Son (pyoky)
ls
utility.Mengsheng Wu (CausingBrick)
date
utility.Jadi (jadijadi)
users
utility.Dependency Management Focus: A large portion of recent activity revolves around updating dependencies, indicating a maintenance phase rather than active feature development.
Compatibility Challenges: Persistent issues with GNU compatibility, particularly on Windows and macOS, highlight ongoing hurdles in achieving the project's core objectives.
Platform-Specific Issues: Contributions addressing platform-specific behaviors suggest a tailored approach to resolving compatibility problems across different operating systems.
Stagnant Feature Development: Despite active maintenance, there is a noticeable lack of new features or significant advancements, suggesting a period of stabilization rather than innovation.
Community Engagement: The project continues to benefit from community contributions, although these are predominantly focused on maintenance rather than expanding functionality.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Krysztal Huang | 1 | 4/3/1 | 6 | 5 | 470 | |
renovate[bot] | 11 | 19/14/1 | 23 | 3 | 392 | |
Daniel Hofstetter | 1 | 9/7/1 | 9 | 15 | 169 | |
sreehari prasad | 1 | 3/2/2 | 1 | 3 | 119 | |
Sylvestre Ledru | 1 | 3/3/1 | 3 | 5 | 23 | |
Ben Wiederhake | 1 | 2/2/0 | 1 | 3 | 6 | |
Yang Hau (howjmay) | 0 | 0/1/0 | 0 | 0 | 0 | |
Dorian Péron (RenjiSann) | 0 | 2/0/0 | 0 | 0 | 0 | |
Chen Chen (nerdroychan) | 0 | 1/0/0 | 0 | 0 | 0 | |
Jalil David Salamé Messina (jalil-salame) | 0 | 1/0/0 | 0 | 0 | 0 | |
n4n5 (Its-Just-Nans) | 0 | 0/0/1 | 0 | 0 | 0 | |
Sarthak Singh (SarthakSingh31) | 0 | 1/0/0 | 0 | 0 | 0 | |
Julian (just-an-engineer) | 0 | 2/0/0 | 0 | 0 | 0 | |
Anirban Halder (AnirbanHalder654322) | 0 | 2/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 5 | 3 | 4 | 2 | 1 |
30 Days | 17 | 8 | 8 | 5 | 1 |
90 Days | 67 | 46 | 63 | 15 | 1 |
1 Year | 333 | 200 | 662 | 72 | 1 |
All Time | 1561 | 1254 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
The recent GitHub issue activity for the uutils/coreutils
project shows a mix of bug reports, feature requests, and discussions about compatibility with GNU core utilities. A significant theme is ensuring compatibility with GNU utilities, as many issues highlight discrepancies in behavior or output between uutils
and GNU tools. There are also several issues related to platform-specific behavior, particularly on Windows and macOS.
Notable anomalies include issues where uutils
behaves differently from GNU utilities in handling special cases, such as signal handling in kill
, formatting in printf
, and file operations in cp
and mv
. Some issues highlight missing features or incorrect error messages that differ from GNU's expected behavior. Additionally, there are ongoing efforts to improve test coverage and fix intermittent test failures across different platforms.
#6655: FAILED checksums using sha256sum in windows 11
sha256sum
.#6653: cksum: Unsupported multiple hash encodings in the same file
#6655: FAILED checksums using sha256sum in windows 11
#6653: cksum: Unsupported multiple hash encodings in the same file
#6644: date --date does not support strings like "Jul 18 06:14:49 2024 GMT"
date
.#6640: build/cargo: touching unrelated file triggers unnecessary re-link
#6639: ls: printing of 8-bit filenames is incorrect in most cases in LC_ALL=C
These issues reflect ongoing challenges in achieving full compatibility with GNU core utilities and ensuring consistent behavior across different platforms. The project continues to address these challenges through community contributions and active maintenance.
The uutils/coreutils
project is a cross-platform reimplementation of the GNU core utilities in Rust, aiming to provide compatibility across Linux, Mac, and Windows. The project is actively developed with a focus on passing GNU test suite tests and encourages community contributions.
fuzz/Cargo.lock
to the repository, questioning why it wasn't previously included.libc
to version 0.2.158, with some artifact update issues noted by Renovate.nix
to 0.29 and ctrlc
to 3.4.5, adapting code for API changes.tempfile
to version 3.12.0, with artifact update problems noted.ctrlc
to version 3.4.5.chmod
, aligning it with expected behavior.part-hardlink
for mv
, changing behaviors related to inter-device moves and backup creation.seq
, addressing regression tests but encountering issues with library dependencies on NixOS.notify
to version 6.1.1.filetime
to version 0.2.24.rm
, simplifying parent/cur dir deletion avoidance.dd
for better alignment with GNU behavior.rm
, adding regex detection for directory patterns.The recent pull requests highlight several key themes and ongoing efforts within the uutils/coreutils
project:
Compatibility and Bug Fixes: Many PRs focus on aligning behavior with GNU utilities, such as fixing incorrect tests (#6638), updating error messages (#6622), and addressing specific test cases (#6632). This reflects the project's commitment to compatibility as a primary goal.
Dependency Management: Several PRs involve updating dependencies (e.g., #6651, #6648, #6647), indicating an active effort to keep the project up-to-date with external libraries and tools.
Refactoring and Code Quality: The refactoring efforts in PR #6654 demonstrate a focus on improving code structure and error handling, which is crucial for maintaining a large codebase like this one.
Testing and CI/CD Improvements: The inclusion of more comprehensive tests (#6630) and addressing CI/CD issues (e.g., artifact update problems in #6651) show an emphasis on ensuring reliability and robustness through automated testing.
Platform-Specific Considerations: Some PRs address platform-specific issues or enhancements, such as handling non-UTF-8 filenames (#6575) or dealing with Windows-specific behaviors (#6588).
Overall, the project exhibits a strong focus on maintaining compatibility with GNU utilities while leveraging Rust's features for safety and performance improvements across multiple platforms. The active contribution from the community is evident in the diverse range of pull requests addressing various aspects of the project, from bug fixes to feature enhancements and dependency updates.
Daniel Hofstetter (cakebaker)
blake3
, serde
, windows-sys
, and others.Renovate[bot]
clap
, libc
, tempfile
, and others.Sreehari Prasad (matrixhead)
ls
utility, specifically addressing case-sensitive matching issues.Sylvestre Ledru (sylvestre)
Ben Wiederhake (BenWiederhake)
cksum
.Krysztal Huang (Krysztal112233)
uucore
library.getsid
and improved existing ones.Laurent Cheylus (lcheylus)
Pyokyeong Son (pyoky)
ls
utility, particularly with options affecting output formatting.Mengsheng Wu (CausingBrick)
date
utility.Jadi (jadijadi)
users
utility using the utmp-classic
library.Dependency Management: A significant portion of recent activity involves updating dependencies across various Rust crates, ensuring that the project remains up-to-date with the latest versions and security patches.
Cross-Platform Compatibility: Efforts are being made to enhance compatibility across different operating systems, particularly OpenBSD, as seen in contributions by Laurent Cheylus.
Code Quality and Optimization: There is a focus on optimizing code according to Clippy guidelines and improving error handling, as evidenced by contributions from Ben Wiederhake and others.
Collaboration: The team exhibits strong collaboration, with multiple members working together on pull requests and merging contributions from both bots and human contributors.
Testing and Bug Fixes: Continuous improvements are being made to testing frameworks and fixing bugs, particularly those affecting specific platforms or use cases.
Overall, the development team is actively maintaining the project with a focus on dependency management, cross-platform compatibility, code optimization, and robust testing practices.