GSoC 2024: Improve support of the Rust findutils in Debian - 🐱 ε―’ε†°ζ˜―ε–΅ε–΅
ε―’ε†°ζ˜―ε–΅ε–΅
欒迎ζ₯εˆ°ζˆ‘ηš„ε°δΈ–η•Œ

GSoC 2024: Improve support of the Rust findutils in Debian

Hi, I am hanbings. and provided most of the code submissions during GSoC in the table below.

Description

uutils/findutils: A safer and more performant implementation of the GNU suite’s xargs, find, locate and updatedb tools in rust.

Currently, findutils implements many common commands in Linux and provides a better user experience in addition to compatibility. However, the current pass number in the GNU test is still relatively low, and there are many features that have not yet been implemented. By implementing them and writing test code, compatibility with the original GNU suite will be improved, and using the Rust language will result in high maintainability and high performance.

The main work in this GSoC proposal is as follows:

  • Investigate pre-2020 issues to determine if they have been fixed, implemented, or otherwise. (1 weeks)
  • Identify directions for improving compatibility based on GNU testing of findutils. (9 weeks)
  • Improve test code coverage of other codes in findutils. (2 weeks)

Achievements

In addition, I have a work document showing the progress of the past two months. Click here

Implementing the find feature.

ImplementIssues LinkPR LinkMerged
-anewer -cnewerβœ… https://github.com/uutils/findutils/issues/370βœ…https://github.com/uutils/findutils/pull/386βœ…
-contextβœ…https://github.com/uutils/findutils/issues/375
-daystartβœ…https://github.com/uutils/findutils/issues/372βœ…https://github.com/uutils/findutils/pull/413βœ…
-files0-fromβœ…https://github.com/uutils/findutils/issues/378
-fls -ls -fprintfβœ…https://github.com/uutils/findutils/issues/382 and https://github.com/uutils/findutils/issues/383βœ…https://github.com/uutils/findutils/pull/435βœ…
-fprintβœ… https://github.com/uutils/findutils/issues/381βœ…https://github.com/uutils/findutils/pull/421
-fprint0βœ…https://github.com/uutils/findutils/issues/380βœ…https://github.com/uutils/findutils/pull/443
-fstypeβœ…https://github.com/uutils/findutils/issues/374βœ…https://github.com/uutils/findutils/pull/408βœ…
-gid -uidβœ…https://github.com/uutils/findutils/issues/371βœ…https://github.com/uutils/findutils/pull/405βœ…
-ignore_readdir_race -noignore_readdir_raceβœ…https://github.com/uutils/findutils/issues/377🚧https://github.com/uutils/findutils/pull/411
-samefileβœ…https://github.com/uutils/findutils/issues/373βœ…https://github.com/uutils/findutils/pull/389βœ…
-xtypeβœ…https://github.com/uutils/findutils/issues/379βœ…https://github.com/uutils/findutils/pull/436βœ…
-followβœ…https://github.com/uutils/findutils/issues/308βœ…https://github.com/uutils/findutils/pull/420βœ…
-H -L -Pβœ…https://github.com/uutils/findutils/issues/412βœ…https://github.com/uutils/findutils/pull/436βœ…
-noleafβœ…https://github.com/uutils/findutils/issues/376βœ…https://github.com/uutils/findutils/pull/414βœ…

Other

find: Fix -newerXY test code for Windows platform

find: Fix convert_arg_to_comparable_value() function parsing unexpected characters.

Provide GNU test comparison comments for PRs in Github Actions.

TODO

To be honest, the goal of this GSoC is not completely complete. We still have a lot of integration testing (mainly reflected in test coverage) work to be completed. In the near future, I will continue to complete this work.

I would like to express my heartfelt gratitude to my mentors for their invaluable guidance and support. : )

🐱 hanbings using πŸš€ Astro