azurelinux icon indicating copy to clipboard operation
azurelinux copied to clipboard

Add REPO_SNAPSHOT_TIME to the toolkit for package and image build.

Open sameluch opened this issue 1 year ago • 0 comments

Merge Checklist

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

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

Summary

What does the PR accomplish, why was it needed? Enable the new --snapshottime feature of tdnf for presence when building an image or packages when pulling packages from pmc or packages pulled from the toolkit. Locally built packages are still taken over the snapshot of pmc or toolchain.

Additionally, a snapshottime=<REPO_SNAPSHOT_TIME> is inserted into /etc/tdnf/tdnf.conf within the vhdx or installed image from the iso to have the snapshot maintained even after the initial build of the image.

Change Log
  • Add REPO_SNAPSHOT_TIME to the toolkit when building images and packages
Does this affect the toolchain?

YES

Test Methodology
  • Local Testing
  • sudo make image CONFIG_FILE=./imageconfigs/core-efi.json TOOLCHAIN_ARCHIVE=../build/toolchain/toolchain_built_rpms_all.tar.gz REBUILD_TOOLS=y -j100 SRPM_PACK_LIST="tree" REPO_SNAPSHOT_TIME="1724112000"
  • sudo make image CONFIG_FILE=./imageconfigs/core-efi.json TOOLCHAIN_ARCHIVE=../build/toolchain/toolchain_built_rpms_all.tar.gz REBUILD_TOOLS=y -j100 SRPM_PACK_LIST="tree"
  • https://dev.azure.com/mariner-org/mariner/_build/results?buildId=644297&view=results
  • sudo make iso CONFIG_FILE=./imageconfigs/full.json TOOLCHAIN_ARCHIVE=../build/toolchain/toolchain_built_rpms_all.tar.gz REBUILD_TOOLS=y -j100 SRPM_PACK_LIST="tree" REPO_SNAPSHOT_TIME="1724112000"

sameluch avatar Sep 05 '24 23:09 sameluch