Skip to content

feat(add package): add rust-ripgrep to the package list for azl4#16165

Open
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/rust-ripgrep
Open

feat(add package): add rust-ripgrep to the package list for azl4#16165
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/rust-ripgrep

Conversation

@binujp
Copy link
Contributor

@binujp binujp commented Mar 11, 2026

This is PR is meant to both add ripgrep, a useful and important dev-tool, while working out requirements and processes to add a new package to azl4.

Why: The technical argument for ripgrep is captured by the ripgrep author in this blog post https://burntsushi.net/ripgrep/. For a dev workflow it is an essential tool and is used under the covers by various IDEs including vscode.

Dependencies: It has a static build dependency on cargo-rpm-macros >= 24 which is already available in the azl4 closure. There are a set of dynamic build dependencies from %cargo_generate_buildrequires:
rust-bstr
rust-crossbeam-deque
rust-crossbeam-epoch
rust-crossbeam-utils
rust-encoding_rs
rust-encoding_rs_io
rust-globset
rust-grep
rust-grep-cli
rust-grep-matcher
rust-grep-pcre2
rust-grep-printer
rust-grep-regex
rust-grep-searcher
rust-ignore
rust-lexopt
rust-memmap2
rust-pcre2
rust-pcre2-sys
rust-same-file
rust-walkdir

Testing: Built the package locally on x86 and arm64. Ran the binary on both platforms.

Rationale: Ripgrep is a must-have in a dev environment and workflow. Grep and other legacy tools cannot substitute its flexibility and performance. The new packages being brought in are rust-crates. Given the increasing surface area of "rusty" tools, we will need all the popular crates sooner or later. Path of least resistance is not fighting the fedora package system. These are all build dependencies and does not get exposed to the user. Maintenance overhead is minimal and given the nature of consumption, mostly automated.

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

What does the PR accomplish, why was it needed?

Change Log
  • Change
  • Change
  • Change
Does this affect the toolchain?

YES/NO

Associated issues
  • #xxxx
Links to CVEs
Test Methodology
  • Pipeline build id: xxxx

This is PR is meant to both add ripgrep, which is a useful and required tool,
while working out requirements and process to add a new package to azl4.

Why: The technical argument for ripgrep is captured by the ripgrep author in this
blog post https://burntsushi.net/ripgrep/. For a dev workdlow it is an essential
tool and is used under the covers by other IDEs including vscode.

Dependecies: It has a static build dependency on cargo-rpm-macros >= 24 which is
already available in the azl4 closure. There are a set of dynamic build
dependencies from %cargo_generate_buildrequires:
rust-bstr
rust-crossbeam-deque
rust-crossbeam-epoch
rust-crossbeam-utils
rust-encoding_rs
rust-encoding_rs_io
rust-globset
rust-grep
rust-grep-cli
rust-grep-matcher
rust-grep-pcre2
rust-grep-printer
rust-grep-regex
rust-grep-searcher
rust-ignore
rust-lexopt
rust-memmap2
rust-pcre2
rust-pcre2-sys
rust-same-file
rust-walkdir

Testing: Built the package locally on x86 and arm64. Ran the binary on both
platforms.
Copilot AI review requested due to automatic review settings March 11, 2026 13:49
@binujp binujp requested a review from christopherco as a code owner March 11, 2026 13:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new component stanza to the full component inventory list used by base/comps/components.toml includes.

Changes:

  • Add [components.rust-ripgrep] entry to components-full.toml.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines 2960 to 2963
[components.rgb]
[components.rhash]
[components.rust-ripgrep]
[components.rlottie]
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[components.rust-ripgrep] is out of sort order in this file. The surrounding entries are alphabetized (rhash, rlottie, …), and there is already a large rust-* block later in the file (e.g., rust-ring, rust-ripemd, rust-rkyv). Please move this entry into the correct alphabetical position within the existing rust-* section (likely after rust-ripemd).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants