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

Add default mock configuration for Azure Linux 3.0 #11031

Draft
wants to merge 1 commit into
base: 3.0-dev
Choose a base branch
from

Conversation

reubeno
Copy link
Member

@reubeno reubeno commented Nov 12, 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

Adds default mock configuration for Azure Linux 3.0. With the configuration present, mock <path_to_srpm> should "just work" and populate within its chroot environment a set of AZL3.0 packages that align with the ones used by the Azure Linux toolkit.

Change Log
  • Adds mock configuration profile for x86_64 and aarch64 to mock-core-configs
  • Adds azurelinux-tools-package-build meta-package, whose dependencies are intended to align with the packages listed in the Azure Linux toolkit's pkggen manifest.
  • Adds a helper script (not invoked automatically) to compare this meta-package with the mentioned manifest, to track any divergence over time.
Does this affect the toolchain?

No.

Test Methodology

Local build.

@reubeno
Copy link
Member Author

reubeno commented Nov 12, 2024

@dmcilvaney @PawelWMS I've mentioned this in passing in the past, but would like to start getting serious about feedback on it. I've now got a minimal listed set of Requires values whose recursive dependencies bring in everything in the pkggen manifest (and more). Specifically, it ends up pulling in ~130 additional perl packages + these:

SymCrypt
SymCrypt-OpenSSL
azurelinux-release
azurelinux-repos-ms-non-oss
azurelinux-repos-ms-oss
build-essential
compat-lua
compat-lua-libs
core-packages-container
docbook-dtds
libgpg-error-devel
libpcre2-16-0
libpcre2-32-0
libpcre2-8-0
libpcre2-posix2
libselinux-devel
libsepol-devel
ocaml
ocaml-rpm-macros
ocaml-runtime
pam
pcre2
pcre2-devel
pcre2-tools
python3-lxml
python3-pyparsing
python3-six
sgml-common
xml-common

I think this means the manifest doesn't include the full transitive closure of runtime requirements?

Also, if there's a more maintainable approach for auto-generating the list I'm all ears!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant