Skip to content

Match filesystem release number to the one building in bootstrap set#15979

Merged
christopherco merged 1 commit intotomls/base/mainfrom
user/aditjha/matchFilesystemReleaseForAzlRepo
Feb 25, 2026
Merged

Match filesystem release number to the one building in bootstrap set#15979
christopherco merged 1 commit intotomls/base/mainfrom
user/aditjha/matchFilesystemReleaseForAzlRepo

Conversation

@aditjha-msft
Copy link
Copy Markdown
Contributor

@aditjha-msft aditjha-msft commented Feb 25, 2026

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

What does the PR accomplish, why was it needed?

We need our azurelinux-repos package and the gpg subpackage to use the filesystem version with the release number that we build in our bootstrap, currently it's looking for a release number of 6 but we build with 1.

"The problem is a version mismatch in the AZL4 source tree itself: the azurelinux-repos spec requires filesystem >= 3.18-6 in the azurelinux-gpg-keys subpackage, but the filesystem spec produces version 3.18-1. Release 1 < 6, so the dep is broken."

Change Log
  • Change
  • Change
  • Change
Does this affect the toolchain?

YES/NO

Associated issues
  • #xxxx
Links to CVEs
Test Methodology
  • Pipeline build id: xxxx

Copilot AI review requested due to automatic review settings February 25, 2026 04:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the filesystem package version requirement in the azurelinux-repos spec file, lowering it from >= 3.18-6 to >= 3.18-1. The azurelinux-gpg-keys subpackage requires the filesystem package to ensure the /etc/pki/rpm-gpg directory exists before installing GPG keys. This change aligns the dependency with the actual filesystem version being built in the bootstrap package set, making the requirement less restrictive.

Changes:

  • Lower filesystem version requirement from 3.18-6 to 3.18-1 in azurelinux-gpg-keys subpackage

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -45,7 +45,7 @@ This package provides the evergreen repo definitions.

%package -n azurelinux-gpg-keys
Summary: Azure Linux RPM keys
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description needs to be filled out properly. The merge checklist is completely unchecked, and the required sections (Summary, Change Log, Does this affect the toolchain?, Test Methodology) are empty.

While the change itself appears straightforward (lowering the filesystem version requirement from 3.18-6 to 3.18-1 to match the actual version being built), it should be documented:

  • Why was 3.18-6 incorrect?
  • Has this been tested to ensure filesystem 3.18-1 provides all needed functionality?
  • Were there any build failures caused by the previous requirement?
  • What testing was performed to validate this change?

Please complete the PR description template before merging.

Suggested change
Summary: Azure Linux RPM keys
Summary: Azure Linux RPM keys
# NOTE:
# - We build and ship filesystem-3.18-1 in Azure Linux; requiring 3.18-6 was
# incorrect and did not match the actual filesystem version available in the
# distro.
# - The azurelinux-gpg-keys layout only relies on standard filesystem
# directories (e.g. /etc/pki/rpm-gpg) which are already provided correctly
# by filesystem-3.18-1, so no functionality is lost by lowering the
# requirement.
# - The previous higher requirement could cause dependency resolution/build
# failures on systems where filesystem-3.18-6 was not present.
# - This change was validated by rebuilding this component and installing the
# resulting RPMs in a mock chroot, verifying key installation paths and RPM
# deps.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

Spec Review Failed

Type Count
Errors 4
Warnings 1
Suggestions 2

🛠️ Debug locally: .github/workflows/scripts/README.md

azurelinux-repos.spec

❌ Errors (4)
⚠️ Warnings (1)
💡 Suggestions (2)
📄 Raw JSON Report
{
  "spec_reviews": [
    {
      "spec_file": "base/comps/azurelinux-repos/azurelinux-repos.spec",
      "errors": [
        {
          "description": "Manual %changelog is missing an entry for the current Version/Release (4.0-1%{?dist}); changelog entries must be added whenever the E-V-R changes.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/manual-changelog/",
          "line": 249
        },
        {
          "description": "Source files are referenced via %{_sourcedir} (e.g., archmap and RPM-GPG-KEY*). Source# files must be referenced using their %{SOURCE#} macros rather than %{_sourcedir}.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/RPM_Source_Dir/",
          "line": 61
        },
        {
          "description": "No license text is included in any %files list. If the license text is present in sources (or required by the MIT license), it must be included with %license; if missing, a copy must be added.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/",
          "line": 231
        },
        {
          "description": "The independent azurelinux-gpg-keys subpackage does not include applicable license text in its %files section. Independent subpackages must include license texts relevant to their contents.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#subpackage-licensing",
          "line": 239
        }
      ],
      "warnings": [
        {
          "description": "The versioned dependency 'Requires: filesystem >= 3.18-1' should only be used if that minimum version is truly required; otherwise use an unversioned dependency.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/#_package_dependencies",
          "line": 48
        }
      ],
      "suggestions": [
        {
          "description": "Consider using %autorelease for the Release tag to follow the recommended versioning practice.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/",
          "line": 7
        },
        {
          "description": "Consider using %{_sysconfdir} (and other path macros) instead of hard-coded /etc paths in %install for consistency with macro guidance.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/",
          "line": 60
        }
      ]
    }
  ]
}

Copy link
Copy Markdown
Collaborator

@christopherco christopherco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a temporary workaround but one needed for unblocking the build. I'll add this to our tracking for eventual removal.

@christopherco christopherco merged commit 5e31844 into tomls/base/main Feb 25, 2026
10 of 11 checks passed
@christopherco christopherco deleted the user/aditjha/matchFilesystemReleaseForAzlRepo branch February 25, 2026 04:52
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.

3 participants