Re: Looking for a volunteer to automate the orphaned packages process

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2023-10-19 at 11:06 +0200, Miro Hrončok wrote:
> Hello folks,
> 
> you might know I run a script that generates
> 
> https://churchyard.fedorapeople.org/orphans.txt
> https://churchyard.fedorapeople.org/orphans.json
> 
> The script is located at
> https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py
> 
> I try to monitor the output and whenever it is stuck, I restart it.
> 
> Every 2 weeks I try to save a copy of the generated file and send it to the 
> devel list, devel announce list and the affected maintainers.
> 
> Every branching, the script needs (trivial) changes.
> 
> When I see packages orphaned for 6+ weeks, I retire them.
> 
> 
> I took this task a coupe years back because I was not satisfied with the status 
> quo at that time (packages orphaned for year+ lingering in the distro).
> 
> The task is semi-automated but not fully. After almost 5 years, I think it's 
> time to pass this to somebody else. Preferably to somebody who would enjoy 
> automating it entirely.
> 
> I can provide all the details about the operation if you want to become the 
> reaper's apprentice.
> 
> Please do let me know. I believe this process is essential for the health of 
> Fedora but I'd like to be relieved of this task.

I'm not sure I have time to take this, but glancing over it, I have a
suggestion on how to further automate the release stuff.

You can use Bodhi release date to determine the extant EPEL releases
and the current Branched release. If you query
https://bodhi.fedoraproject.org/releases/ with content-type JSON, you
get a bunch of data on releases (paginated, so either handle the pages
or use https://bodhi.fedoraproject.org/releases/?rows_per_page=500
instead).

To get all current EPEL releases you'd do something like this:

    epels = {int(rel['version']) for rel in releases if
             rel['state'] == 'current' and rel['id_prefix'] == 'FEDORA-EPEL'}

To find current Branched, you can do something like this:

    devrels = {int(rel['version']) for rel in releases if
               rel['state'] == 'pending' and rel['id_prefix'] == 'FEDORA'}
    if len(devrels) > 1:
        branched = min(devrels)
    else:
        branched = None

that logic should be safe as long as we don't change the release
process. There is always one "pending" Fedora release - Rawhide. If
there's more than one, there will be two, and the other one will be
Branched.
-- 
Adam Williamson (he/him/his)
Fedora QA
Fedora Chat: @adamwill:fedora.im | Mastodon: @adamw@xxxxxxxxxxxxx
https://www.happyassassin.net



_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux