Learn more about these different git repos.
Other Git URLs
Twice (https://pagure.io/releng/issue/12192, https://pagure.io/releng/issue/12028) in the past few six months, the toddler responsible for blocking packages after a dead.package file is pushed to distgit by fedpkg retire has been broken for extended periods of time. This has resulted in packages that should be removed from the repositories remaining there. While some packages have been manually retired by releng after being asked by individual maintainers, there are likely quite a few others that maintainers retired but were unaware that the process was broken and required manual intervention.
fedpkg retire
Releng should iterate through all the rawhide and f41 branches and make sure that they are properly blocked in Koji and removed from the repositories.
rawhide
f41
Before the release of Fedora 41
When is this no longer needed or useful? (YYYY/MM/DD)
If we cannot complete your request, what is the impact?
Unmaintained or broken packages will remain in the stable Fedora 41 repositories.
In other cases for things that act on messages, we have a 'failsafe' that runs once a day or so that makes sure everything is synced correctly in cases where messages were not processed correctly.
I think we should do that here too and I don't think it should be super hard to add.
Basically it would need to pull the retired_in json files from https://src.fedoraproject.org/lookaside/ for active releases, then confirm that all the packages listed are blocked.
I think @humaton had most of this script already made? or did a one off version of it.
@humaton can you run that again to sync things up and then we can look at perhaps adding a daily toddler to do this?
@lenkaseg would you be interested in adding this? Or have any thoughts about the above?
Metadata Update from @phsmoura: - Issue tagged with: medium-gain, medium-trouble, ops
Oh yeah, this should be a simple script. This is what I was running after the toddlers deployment:
$ cat block_retired.bash #!/usr/bin/bash packages=$(curl -X GET https://src.fedoraproject.org/lookaside/retired_in_rawhide.json | jq --raw-output '.rawhide[]') for package in $packages; do blocked=$(koji list-pkgs --tag f41 --package $package --show-blocked --quiet | awk '{print $4}'); if [ "$blocked" = "[BLOCKED]" ]; then echo "$package is already blocked" else echo "Blocking $package on branch f41" koji block-pkg f41 $package fi done
Careful that the snippet assumes rawhide is 41, in case you want to copy it an run it.
Working on it!
Metadata Update from @lenkaseg: - Issue assigned to lenkaseg
Draft of a PR: https://pagure.io/fedora-infra/toddlers/pull-request/261
Ran a (modified) version of that script:
For f41:
koji block-pkg f41 ghc-highlighting-kate koji block-pkg f41 ghc-libxml-sax koji block-pkg f41 ghc-regexpr koji block-pkg f41 gimp-separate+ koji block-pkg f41 golang-github-arran4-ical koji block-pkg f41 golang-github-emersion-mbox koji block-pkg f41 libwpe koji block-pkg f41 ocaml-opam-0install koji block-pkg f41 python-grabbit koji block-pkg f41 wolfssl koji block-pkg f41 wpebackend-fdo
For rawhide:
koji block-pkg f42 astrometry-tycho2 koji block-pkg f42 clonekeen koji block-pkg f42 erlang-protobuffs koji block-pkg f42 ghc-ConfigFile koji block-pkg f42 ghc-connection koji block-pkg f42 ghc-highlighting-kate koji block-pkg f42 ghc-libxml-sax koji block-pkg f42 ghc-MonadCatchIO-mtl koji block-pkg f42 ghc-MonadCatchIO-transformers koji block-pkg f42 ghc-regexpr koji block-pkg f42 gimp3 koji block-pkg f42 gimp-separate+ koji block-pkg f42 golang-github-arran4-ical koji block-pkg f42 golang-github-emersion-mbox koji block-pkg f42 java-diff-utils koji block-pkg f42 kubernetes koji block-pkg f42 libwpe koji block-pkg f42 ocaml-opam-0install koji block-pkg f42 pd-mapper koji block-pkg f42 php-andrewsville-php-token-reflection koji block-pkg f42 php-doctrine-reflection koji block-pkg f42 php-swiftmailer6 koji block-pkg f42 python-fb-re2 koji block-pkg f42 python-grabbit koji block-pkg f42 rust-etcetera koji block-pkg f42 rust-logos-derive koji block-pkg f42 rust-nu-ansi-term0.46 koji block-pkg f42 salt3006 koji block-pkg f42 sisu-mojos koji block-pkg f42 wpebackend-fdo koji block-pkg f42 zabbix7.0
If no one sees anything wrong will block those tomorrow.
ok. I have blocked all those, so the orig request in the ticket should be handled.
Please let us know if you see anything that was missed.
I do still think we want a daily job to check/handle anything that didn't get handled by the normal processing, but @lenkaseg has that well underway! :)
Metadata Update from @kevin: - Issue close_status updated to: Fixed with Explanation - Issue status updated to: Closed (was: Open)
At least:
were blocked on rawhide only but not on f41. On f41, there is no dead.package because the branch does not even exist. The packages were (rightfully) not branched, but are not blocked on f41. There might be more like this.
Metadata Update from @churchyard: - Issue status updated to: Open (was: Closed)
Yeah, @decathorpe mentioned another case of this on matrix too...
I'd not going to be easy to find these. I guess we need to check every dead.package in rawhide, find the ones committed in the window between f40 and f41 branching, then check that list against f41?
I am trying to get the list.
astrometry-tycho2 clonekeen erlang-protobuffs ghc-ConfigFile ghc-MonadCatchIO-mtl ghc-MonadCatchIO-transformers pd-mapper php-andrewsville-php-token-reflection php-doctrine-reflection php-swiftmailer6
See https://gist.github.com/hroncok/ade9b3c61a06a4b548c522963ff0d714 for the source of this information. I manually removed false positives (EPEL-only packages, they say (no matching packages) instead of [BLOCKED] which I did not know before, and rust-nu-ansi-term0.46 which was recently unretired on rawhide).
(no matching packages)
[BLOCKED]
Awesome. Thanks for that.
Blocked those.
Is there anything further here to do then?
Thanks. I don't think so.
Metadata Update from @churchyard: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Working on a toddler that would detect retired packages that would somehow avoid being blocked in koji, I found some. Not sure if some of them don't fall to those categories you were talking about.
'f39': ['celestia-data', 'celestia', 'ephemeral', 'infoblox-client', 'libksane', 'lorax-templates-rhel', 'nodejs-epel', 'python3.11-requests_ntlm-epel', 'python39-zstd-epel', 'python-jsonschema-epel', 'qqc2-desktop-style', 'rust-quick-xml0.22', 'wolfssl']
'epel8': ['infoblox-client', 'webextension-token-signing']
'f40': ['anaconda-liveinst', 'golang-github-cpuguy83-md2man-epel', 'infoblox-client', 'ktp-contact-runner', 'libmetalink', 'lorax-templates-rhel', 'nodejs-epel', 'parsertl14', 'python3.11-requests_ntlm-epel', 'python39-zstd-epel', 'python-jsonschema-epel', 'qqc2-desktop-style', 'rocm-device-libs', 'telepathy-logger-qt', 'wolfssl']
Log in to comment on this ticket.