Update fedretire to use PDC and pagure APIs. #6860

Merged
jnsamyak merged 3 commits from update-fedretire into master 2026-06-08 03:12:29 +00:00
Contributor

This repoints fedretire to query PDC and pagure for the retired/orphaned
status of packages.

See also https://fedoraproject.org/wiki/Changes/ArbitraryBranching

Signed-off-by: Ralph Bean rbean@redhat.com

This repoints fedretire to query PDC and pagure for the retired/orphaned status of packages. See also https://fedoraproject.org/wiki/Changes/ArbitraryBranching Signed-off-by: Ralph Bean <rbean@redhat.com>
Author
Contributor

pkgdb has entered read-only mode. Any reviewers here?

pkgdb has entered read-only mode. Any reviewers here?
Author
Contributor

1 new commit added

  • Fix url.
**1 new commit added** * Fix url.
Contributor

The branch is not considered to check if a package is orphaned.

The branch is not considered to check if a package is orphaned.
Contributor

I usually only use this to retire packages when they are orphaned long enough. So I can try it the next time packages are going to be retired. I am not sure if other people use this script as well currently. However it seems that checking whether a package is orphaned is more complex nowadays. I am wondering if it makes sense to bundle the code to get a list of orphaned/retired packages and to check this status for an individual package into a small module since similar code is required for fedretire.py, find_unblocked_orphans.py and block_retired.py.

I usually only use this to retire packages when they are orphaned long enough. So I can try it the next time packages are going to be retired. I am not sure if other people use this script as well currently. However it seems that checking whether a package is orphaned is more complex nowadays. I am wondering if it makes sense to bundle the code to get a list of orphaned/retired packages and to check this status for an individual package into a small module since similar code is required for fedretire.py, find_unblocked_orphans.py and block_retired.py.
Contributor

That is a good point but as I understand it, Pagure over dist-git has no concept of a specific branch being orphaned. It's basically all or nothing, since a project is marked as orphaned only when the "main admin" on the project is the "orphan" user. Specific branches can be retired, and those are marked in PDC.

That is a good point but as I understand it, Pagure over dist-git has no concept of a specific branch being orphaned. It's basically all or nothing, since a project is marked as orphaned only when the "main admin" on the project is the "orphan" user. Specific branches can be retired, and those are marked in PDC.
Contributor

This is bad, what if something is changed in newer branches and the maintainer doesn't want to maintain a package anymore in newer branches or vice versa. How can we handle these kind of situations?

This is bad, what if something is changed in newer branches and the maintainer doesn't want to maintain a package anymore in newer branches or vice versa. How can we handle these kind of situations?
Contributor

Any branches that aren't maintained would be marked as inactive in PDC by having their SLs EOL to the day those branches are orphaned or retired.

Also, those branches would have dead.package files in them.

Any branches that aren't maintained would be marked as inactive in PDC by having their SLs EOL to the day those branches are orphaned or retired. Also, those branches would have dead.package files in them.
Contributor

The worklflow used to be that maintainers can decide to orphan or retire packages. If the package is ok in general but the maintainer does not want to maintain a package anymore or if the maintainer is nonresponsive, the package is orphaned. This only marks the packages as being in search of a new maintainer. If the package is not useful anymore, the maintainer should retire it (only possible in EPEL, Rawhide and Branched (before the final freeze)). Alternatively releng (usually me) retires packages that are orphaned for more than 6 weeks.

The worklflow used to be that maintainers can decide to orphan or retire packages. If the package is ok in general but the maintainer does not want to maintain a package anymore or if the maintainer is nonresponsive, the package is orphaned. This only marks the packages as being in search of a new maintainer. If the package is not useful anymore, the maintainer should retire it (only possible in EPEL, Rawhide and Branched (before the final freeze)). Alternatively releng (usually me) retires packages that are orphaned for more than 6 weeks.
Contributor

@till, thank you for bringing that up. I forgot about the orphan period in my last comment.

@ralph may have a better idea, but here's my suggestion. In the event that a package is orphaned, perhaps we change the "main admin" to orphan in Pagure, and keep the SLs on the current Fedora release branches (e.g. f26) the same. All other branches could be set to EOL in 6 weeks if no one picks it up.

That is more or less the same workflow but with the different tools. Thoughts?

@till, thank you for bringing that up. I forgot about the orphan period in my last comment. @ralph may have a better idea, but here's my suggestion. In the event that a package is orphaned, perhaps we change the "main admin" to orphan in Pagure, and keep the SLs on the current Fedora release branches (e.g. f26) the same. All other branches could be set to EOL in 6 weeks if no one picks it up. That is more or less the same workflow but with the different tools. Thoughts?
Contributor

@mprahl, the thing is, that it seems to me that if the EPEL branches and the Fedora branches are maintained by different people, i.e.there is a bugzilla override for EPEL in https://pagure.io/releng/fedora-scm-requests/tree/master, the EPEL branches should not be considered orphaned when the Fedora maintainer orphans the package. Therefore checking only the main admin would not be enough.

Btw. I guess also something needs to remove bugzilla overrides from the fedora-scm-requests repo when a package is retired to make sure the information is consistent. Not sure where this would belong to.

@mprahl, the thing is, that it seems to me that if the EPEL branches and the Fedora branches are maintained by different people, i.e.there is a bugzilla override for EPEL in https://pagure.io/releng/fedora-scm-requests/tree/master, the EPEL branches should not be considered orphaned when the Fedora maintainer orphans the package. Therefore checking only the main admin would not be enough. Btw. I guess also something needs to remove bugzilla overrides from the fedora-scm-requests repo when a package is retired to make sure the information is consistent. Not sure where this would belong to.
Author
Contributor

Shoot - I missed all the conversation here.

Note, here's a related PR for orphan management -> https://pagure.io/releng/pull-request/6949

Shoot - I missed all the conversation here. Note, here's a related PR for orphan management -> https://pagure.io/releng/pull-request/6949
Owner

I'm going to just merge this since it's better than what we have.

Additional PR's welcome to fix/adjust. Discussion about per branch ownership should probibly be at a higher level than this PR. 🏤

I'm going to just merge this since it's better than what we have. Additional PR's welcome to fix/adjust. Discussion about per branch ownership should probibly be at a higher level than this PR. :european_post_office:
Owner

Pull-Request has been merged by kevin

Pull-Request has been merged by kevin
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
5 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!6860
No description provided.