findutils: Finish Support
Description of the project: Complete the Rust implementation of GNU Findutils, ensuring full compatibility with all options and passing GNU tests. This project focuses on refining and finalizing the Rust-based reimplementation of key utilities from the Findutils package, which are essential for file searching and manipulation in Unix-like systems. The goal is to achieve full feature parity with the GNU versions while maintaining performance and correctness.
To improve your chances of being selected, please contribute a few changes to the project to demonstrate your commitment and understanding.
Confirmed Mentor: Sylvestre Ledru
How to contact the mentor: sylvestre@debian.org
Confirmed co-mentors: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Difficulty level: Large
Project size: 350 hours
Deliverables of the project:
- A fully functional Rust implementation of the Findutils suite, including:
- /usr/bin/find - search for files in a directory hierarchy
- /usr/bin/locate - find files by name in a prebuilt index
- /usr/bin/updatedb - update the locate database
- /usr/bin/xargs - build and execute command lines from input
- Full compatibility with GNU Findutils
- Passing all relevant GNU tests
- A fully functional Rust implementation of the Findutils suite, including:
Desirable skills:
- Rust expertise
- Knowledge of file systems and directory traversal
- Understanding of command-line utilities and Unix system interactions
What the intern will learn:
- How file search utilities work
- Efficient directory traversal and filtering techniques
- Optimization strategies for large-scale file searches
Application tasks:
Implement or improve one of the Findutils utilities from the uutils/findutils project: https://github.com/uutils/findutils
