Remove obsolete module and PDC-related scripts post-Fedora 39/40 #12924

Merged
jnsamyak merged 2 commits from releng_improv_pt1 into main 2026-06-08 03:10:22 +00:00
Owner

This commit removes all module-specific and PDC (Product Definition Center)
related scripts and tooling that are no longer needed since:

  • Fedora retired module support after Fedora 39
  • PDC was retired after Fedora 40

MODULE-RELATED FILES REMOVED:

  • scripts/pdc/adjust-eol-modules.py: Script for adjusting End-of-Life dates
    for modules and their branches. Used PDC client to patch module EOL dates.
  • scripts/branching/modulepkg.py: Utility to track modules containing specific
    packages. Interacted with modulemd, PDC, and module source repositories.
  • scripts/stage-modular-release.sh: Script for staging modular releases to
    /pub/fedora/linux/modular/releases/. Handled checksum signing and compose
    copying for modular releases.
  • scripts/mbs/koji-module-info.py: Tool to find module information associated
    with Koji builds. Queried Module Build Service (MBS) APIs.
  • scripts/mbs/: Entire directory removed as it only contained module scripts.

PDC-RELATED FILES REMOVED:

  • scripts/pdc/: Entire directory removed (11 files):

    • adjust-eol-all.py: Bulk EOL adjustment for multiple packages
    • adjust-eol.py: Individual package EOL adjustment
    • create-branch.py: Manual branch creation in PDC
    • create-new-release-branches.py: Automated release branch creation
    • create-product-release.py: Product version and release creation
    • create-product.py: New product creation in PDC
    • get-retired-packages.py: Query retired packages from PDC
    • insert-sla.py: SLA insertion for components
    • remove_prefixed_entries.py: Cleanup utility for PDC entries
    • sync-branches-from-pkgdb.py: Legacy pkgdb to PDC synchronization
    • utilities.py: Shared PDC utility functions
  • scripts/check-retired-branches-pdc.py: Script to verify consistency between
    distgit retired packages and PDC active status

  • scripts/get-critpath: Tool to retrieve critical path packages from PDC

  • scripts/check-unretirement.py: Package unretirement helper that queries
    PDC SLAs and contributor information

scripts/block_retired.py:

  • Remove get_retired_packages() function that queried PDC for retired packages
  • Remove PDC-related imports and constants (PRODUCTION_PDC, STAGING_PDC)
  • Update main logic to work without PDC dependency for retirement status
  • Remove --staging parameter references to PDC

scripts/critpath.py:

  • Remove reference to "uploading to PDC" in --source-rpm help text
  • Update help text to reflect current workflow

THINGS THAT I THINK WE NEED TO LOOK INTO:

  • Critical path package information should now be sourced from alternative
    methods (Greenwave policies, direct Koji queries, or static lists)

BUT FINALLY:

  • Significantly reduces maintenance burden by removing 17+ obsolete scripts
  • Eliminates dependencies on retired services (PDC, MBS)

This cleanup ensures the releng tooling reflects the current state of Fedora
infrastructure without retired module and PDC support.

This commit removes all module-specific and PDC (Product Definition Center) related scripts and tooling that are no longer needed since: - Fedora retired module support after Fedora 39 - PDC was retired after Fedora 40 MODULE-RELATED FILES REMOVED: - scripts/pdc/adjust-eol-modules.py: Script for adjusting End-of-Life dates for modules and their branches. Used PDC client to patch module EOL dates. - scripts/branching/modulepkg.py: Utility to track modules containing specific packages. Interacted with modulemd, PDC, and module source repositories. - scripts/stage-modular-release.sh: Script for staging modular releases to /pub/fedora/linux/modular/releases/. Handled checksum signing and compose copying for modular releases. - scripts/mbs/koji-module-info.py: Tool to find module information associated with Koji builds. Queried Module Build Service (MBS) APIs. - scripts/mbs/: Entire directory removed as it only contained module scripts. PDC-RELATED FILES REMOVED: - scripts/pdc/: Entire directory removed (11 files): * adjust-eol-all.py: Bulk EOL adjustment for multiple packages * adjust-eol.py: Individual package EOL adjustment * create-branch.py: Manual branch creation in PDC * create-new-release-branches.py: Automated release branch creation * create-product-release.py: Product version and release creation * create-product.py: New product creation in PDC * get-retired-packages.py: Query retired packages from PDC * insert-sla.py: SLA insertion for components * remove_prefixed_entries.py: Cleanup utility for PDC entries * sync-branches-from-pkgdb.py: Legacy pkgdb to PDC synchronization * utilities.py: Shared PDC utility functions - scripts/check-retired-branches-pdc.py: Script to verify consistency between distgit retired packages and PDC active status - scripts/get-critpath: Tool to retrieve critical path packages from PDC - scripts/check-unretirement.py: Package unretirement helper that queries PDC SLAs and contributor information scripts/block_retired.py: - Remove get_retired_packages() function that queried PDC for retired packages - Remove PDC-related imports and constants (PRODUCTION_PDC, STAGING_PDC) - Update main logic to work without PDC dependency for retirement status - Remove --staging parameter references to PDC scripts/critpath.py: - Remove reference to "uploading to PDC" in --source-rpm help text - Update help text to reflect current workflow THINGS THAT I THINK WE NEED TO LOOK INTO: - Critical path package information should now be sourced from alternative methods (Greenwave policies, direct Koji queries, or static lists) BUT FINALLY: - Significantly reduces maintenance burden by removing 17+ obsolete scripts - Eliminates dependencies on retired services (PDC, MBS) This cleanup ensures the releng tooling reflects the current state of Fedora infrastructure without retired module and PDC support.
Author
Owner

I want to do these before we migrate to Forgejo, and we just take the usable parts. I'll look into having a structured README also, but first I want to do some restructuring, etc.

I want to do these before we migrate to Forgejo, and we just take the usable parts. I'll look into having a structured README also, but first I want to do some restructuring, etc.
Owner

This looks fine to me...

A few questions...

scripts/critpath.py:

Remove reference to "uploading to PDC" in --source-rpm help text
Update help text to reflect current workflow

I don't see these changes?

Critical path package information should now be sourced from alternativemethods (Greenwave policies, direct Koji queries, or static lists)

I don't see how that could work. We get the info from comps groups. I don't think we want to maintain a seperate static list, and none of the other things have that info...

This looks fine to me... A few questions... > scripts/critpath.py: > > Remove reference to "uploading to PDC" in --source-rpm help text > Update help text to reflect current workflow I don't see these changes? > Critical path package information should now be sourced from alternativemethods (Greenwave policies, direct Koji queries, or static lists) I don't see how that could work. We get the info from comps groups. I don't think we want to maintain a seperate static list, and none of the other things have that info...
Author
Owner

Ah, I think I haven't pulled the latest changes it is alright i guess :D

Ah, I think I haven't pulled the latest changes it is alright i guess :D
Author
Owner

Pull-Request has been merged by jnsamyak

Pull-Request has been merged by jnsamyak
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
releng/tickets!12924
No description provided.