Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libsolv: enable zstd support to match createrepo_c #10345

Merged
merged 2 commits into from
Oct 4, 2024

Conversation

reubeno
Copy link
Member

@reubeno reubeno commented Sep 4, 2024

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

In 3.0, createrepo_c's default behavior is to create repodata files compressed using zstd; prior to this change, libsolv didn't support zstd, though, so tdnf/dnf/et al. couldn't actually handle those repos. As a workaround, the toolkit and manual invocations of createrepo_c for 3.0 have needed to use the --compatibility flag. Standard OSS tooling doesn't know to do this (nor should it have to), though; the right thing to do is to add support for zstd to libsolv, as other distros have done.

Change Log

Enable zstd support in libsolv at compile time.

Does this affect the toolchain?

Yes.

Test Methodology

Local build + pipeline build through and including toolchain (phase 1).

SPECS/libsolv/libsolv.spec Outdated Show resolved Hide resolved
SPECS/libsolv/libsolv.spec Outdated Show resolved Hide resolved
@reubeno reubeno marked this pull request as ready for review September 27, 2024 19:12
@reubeno reubeno requested review from a team as code owners September 27, 2024 19:12
@reubeno
Copy link
Member Author

reubeno commented Sep 27, 2024

@PawelWMS -- I forgot to explicitly mention, but I just wanted to confirm that the phase 1 Dev-BuildToolchain pipeline succeeds with the latest changes: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=648440&view=results (with Force re-building raw toolchain not selected).

@reubeno reubeno merged commit ec91650 into microsoft:3.0-dev Oct 4, 2024
12 checks passed
@reubeno reubeno deleted the libsolv-zstd-support branch October 4, 2024 18:03
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.

4 participants