Updating rust-coreutils to version 0.9.0, using /usr/lib/uutils/ and adding shell profiles - #18231
Updating rust-coreutils to version 0.9.0, using /usr/lib/uutils/ and adding shell profiles#18231fede2cr wants to merge 1 commit into
Conversation
…adding shell profiles
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Hello, and thank you for opening this pull request! 👋🏼 We appreciate the contribution. We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Commits in this repo will typically be prefixed with Details: |
There was a problem hiding this comment.
Pull request overview
Updates rust-coreutils to 0.9.0 and adds PATH-based coexistence with GNU coreutils.
Changes:
- Adds vendored-build and version-update overlays.
- Installs private uutils command links and shell profiles.
- Moves rust-coreutils to a dedicated component definition.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/rust-coreutils/rust-coreutils.comp.toml |
Defines source, build, packaging, and PATH overlays. |
base/comps/rust-coreutils/uutils-coreutils.sh |
Configures PATH for Bourne-compatible shells. |
base/comps/rust-coreutils/uutils-coreutils.csh |
Configures PATH for csh/tcsh. |
base/comps/rust-coreutils/uutils-coreutils.fish |
Configures PATH for fish. |
base/comps/components.toml |
Removes the inline rust-coreutils entry and adds unrelated entries. |
Comments suppressed due to low confidence (2)
base/comps/rust-coreutils/rust-coreutils.comp.toml:52
vendor.tar.xzis not present underbase/comps/rust-coreutils/, and there is nosource-filesentry that can fetch it. Becausefile-addresolvessourcerelative to this component file, rendering stops before the package can build. Add the vendored archive through the repository's hashedsource-files/lookaside mechanism (or commit the referenced input).
description = "Add the cargo-vendored dependency tarball for offline build"
type = "file-add"
file = "vendor.tar.xz"
source = "vendor.tar.xz"
base/comps/rust-coreutils/rust-coreutils.comp.toml:144
coreutils-0.9.0.tar.gzis also absent from the component directory, and the promisedsource-filesblock does not exist anywhere below line 115. Thisfile-addtherefore cannot resolve its source, so render/build cannot obtain the 0.9.0 code. Add a hashed download entry for the upstream release (or otherwise provide the referenced file).
[[components.rust-coreutils.overlays]]
description = "Add the 0.9.0 source tarball from local component sources for build validation"
type = "file-add"
file = "coreutils-0.9.0.tar.gz"
source = "coreutils-0.9.0.tar.gz"
| # Pin to the latest Fedora dist-git commit, which packages upstream 0.7.0. | ||
| # The overlays below carry us forward to 0.9.0, which Fedora has not yet | ||
| # packaged but is the version Azure Linux ships. | ||
| spec = { type = "upstream", upstream-commit = "b86e8fd647f6f28854879e33db45721a9d566919" } |
| # Bump from Fedora's 0.7.0 to upstream uutils/coreutils 0.9.0. | ||
| [[components.rust-coreutils.overlays]] | ||
| description = "Bump uutils-coreutils from Fedora's 0.7.0 to upstream 0.9.0" | ||
| type = "spec-update-tag" | ||
| tag = "Version" | ||
| value = "0.9.0" |
| "# README.package.md is Fedora-specific; create an empty placeholder.", | ||
| "touch %{buildroot}%{crate_instdir}/README.package.md", | ||
| "# Placeholder for the %ghost Cargo.toml referenced by +<feature>-devel subpackages.", | ||
| "touch %{buildroot}%{crate_instdir}/Cargo.toml", |
| if test -d /usr/lib/uutils/bin | ||
| if not contains /usr/lib/uutils/bin $PATH | ||
| set -gx PATH /usr/lib/uutils/bin $PATH | ||
| end | ||
| end |
| [components.ghostscript] | ||
| [components.gi-docgen] | ||
| [components.git] | ||
| [components.git-lfs] |
Updating uutils-coreutils to version 0.9.0 from upstream, with a couple of usability differences from Fedora. The dir /usr/lib/uutils has been added so that the coreutils version can be "switched" from GNU to uutils by just changing the PATH, and also profiles have been added for a couple of shells, so that the default can be easily changed.
Version 0.9.0 has many speed improvements and compatibility closer to GNU's, but has also been security audited.
This are still optional packages, so this will not make any changes to the distro unless the packages get installed, and it's easy to move to or away from GNU or uutils' versions of coreutils, or just to test individual commands.