Skip to content

Remove fedora pkgs, add fedora 'compat' package#16020

Closed
ddstreet wants to merge 8 commits intomicrosoft:tomls/base/mainfrom
ddstreet:remove-fedora-pkgs
Closed

Remove fedora pkgs, add fedora 'compat' package#16020
ddstreet wants to merge 8 commits intomicrosoft:tomls/base/mainfrom
ddstreet:remove-fedora-pkgs

Conversation

@ddstreet
Copy link
Copy Markdown
Contributor

(Draft/RFC)

This sets up a compat components that tries to create some fedora->azl logic to handle any bootstrap-time dependencies or file/dir naming issues. Open for review and discussion but marked as draft.

Add this package to put all fedora-compatibility workarounds required
until we complete bootstrap.
Add subpackages with Provides: and Requires: to connect fedora and
azurelinux release package and subpackages
Add subpackage with Provides: and Requires: to connect fedora and
azurelinux repos package and gpg-keys subpackage
Add package with Provides: and Requires: to connect redhat and
azurelinux rpm-config package
The binary files from pkgconf-pkg-config are named with the
%_target_platform macro which comes from the redhat-rpm-config package
(and includes redhat in the expansion), so we need to create symlinks
until bootstrap is complete.
Our azurelinux-release package resets the system_version dependency to
our azurelinux release version, which is 4. So this package needs its
minimum version similarly reduced.
This is replaced by the azurelinux-release package, and the bootstrap
transition is handled by the azurelinux-fedora-compat package, so we
no longer want to build this.
This is replaced by the azurelinux-repos package, and the bootstrap
transition is handled by the azurelinux-fedora-compat package, so we
no longer want to build this.
@github-actions
Copy link
Copy Markdown

Spec Review Failed

Type Count
Errors 5
Warnings 2
Suggestions 1

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

azurelinux-fedora-compat.spec

❌ Errors (2)
⚠️ Warnings (1)

azurelinux-release.spec

❌ Errors (3)
  • identity-basic is independent (no Requires on base/common) but its %files lacks %license; independent subpackages must include applicable license texts.
  • identity-wsl Requires(meta) references azurelinux-release-container; it should reference azurelinux-release-wsl (copy/paste error relative to other variants).
  • eol_date is set to placeholder 1900-01-01 and is emitted as SUPPORT_END in /etc/os-release; it should be set to a real end-of-life date.
⚠️ Warnings (1)
💡 Suggestions (1)
📄 Raw JSON Report
{
  "spec_reviews": [
    {
      "spec_file": "base/comps/azurelinux-fedora-compat/azurelinux-fedora-compat.spec",
      "errors": [
        {
          "description": "Subpackages release, release-variant, release-common, release-identity, repos, and gpg-keys are declared but have no corresponding %files sections, so RPM has no file list for those subpackages. Add %files sections (even if empty/meta) for each.",
          "citation": "https://rpm-packaging-guide.github.io/",
          "line": 15
        },
        {
          "description": "Package declares License: MIT but no license text is shipped or marked with %license in any %files section; when license text is not present in sources, packagers must include a copy and mark it with %license.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text",
          "line": 69
        }
      ],
      "warnings": [
        {
          "description": "Hardcoded /usr paths in %install and %files instead of RPM path macros (e.g., /usr/lib/rpm, /usr/bin). Guidelines strongly encourage macros and require consistent use for a given path.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros",
          "line": 62
        }
      ],
      "suggestions": []
    },
    {
      "spec_file": "base/comps/azurelinux-release/azurelinux-release.spec",
      "errors": [
        {
          "description": "identity-basic is independent (no Requires on base/common) but its %files lacks %license; independent subpackages must include applicable license texts.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#subpackage-licensing",
          "line": 424
        },
        {
          "description": "identity-wsl Requires(meta) references azurelinux-release-container; it should reference azurelinux-release-wsl (copy/paste error relative to other variants).",
          "citation": "N/A",
          "line": 210
        },
        {
          "description": "eol_date is set to placeholder 1900-01-01 and is emitted as SUPPORT_END in /etc/os-release; it should be set to a real end-of-life date.",
          "citation": "N/A",
          "line": 9
        }
      ],
      "warnings": [
        {
          "description": "Macro definitions use %define; guidelines prefer %global except rare cases requiring local scope.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/#_global_preferred_over_define",
          "line": 1
        }
      ],
      "suggestions": [
        {
          "description": "Descriptions use 'a Azure Linux'; adjust to 'an Azure Linux' for American English grammar.",
          "citation": "https://docs.fedoraproject.org/en-US/packaging-guidelines/#_summary_and_description",
          "line": 102
        }
      ]
    }
  ]
}

@ddstreet
Copy link
Copy Markdown
Contributor Author

this is probably no longer necessary after #16025, unless we do run into any build breakage due to packages still referencing/requiring anything fedora/redhat, and that isn't covered by existing bootstrapping workarounds

@ddstreetmicrosoft
Copy link
Copy Markdown
Contributor

closing this, as i don't think we will need the compat pkg anymore.

@ddstreet ddstreet deleted the remove-fedora-pkgs branch March 24, 2026 15:32
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.

2 participants