ε―’ε†°ζ˜―ε–΅ε–΅
欒迎ζ₯εˆ°ζˆ‘ηš„ε°δΈ–η•Œ

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.

Implement Issues Link PR Link Merged
-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. : )