When the archive path is "-", read archives from stdin for list and
extract, and write archive data to stdout for create.
Route create status output to stderr when writing the archive to
stdout so verbose output does not corrupt the stream. Add CLI tests
for create-to-stdout, list-from-stdin, extract-from-stdin, and the
stderr routing cases.
Updated uucore and uufuzz to 0.9.0 in fuzz/Cargo.toml. Resolved the
resulting dependency conflicts by updating uucore in the root Cargo.lock
to a compatible revision and updating fuzz/Cargo.lock.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Added support for -P and --absolute-names flags to preserve absolute
paths when creating archives, matching GNU tar behavior.
* CLI: Added -P / --absolute-names options to uu_app.
* Operations: Configured tar::Builder to preserve absolute paths
based on the new flag.
* Normalization: Updated normalize_path to skip stripping root
and prefix components when absolute paths are allowed.
* Tests: Added integration tests for path preservation and trimming
during archive creation and extraction.
The GNU tar CI job depends on git.savannah.gnu.org, which can fail
transiently during clone or submodule setup. Retry those network-dependent
setup steps with exponential backoff before failing the job.
Keep cleanup scoped to failed clone attempts, fail early if path_GNU already
points at a non-git directory, and tighten the helper script with pipefail and
shellcheck-clean quoting.