We have a kinda recurring problem where the backgrounds for new Fedora releases aren’t done in time. This has happened again for Fedora 39: the “F39 wallpaper deadline” was 2023-07-25, but we branched Fedora 39 on 2023-08-08 and the backgrounds were not ready.
This causes problems for the quality-team , because we have an automated test that checks whether an appropriate background is being used for the release. If there is no background associated with the release, this test kinda has to fail - every day (on the compose), and multiple times a day (on updates). I also have to tweak the update gating policy to not gate updates on this test, since it always fails.
It also causes problems for the release process, particularly if the problem stretches into the Beta freeze, because whenever the backgrounds finally arrive, we have to get the new fXX-backgrounds
package through the review process, then make changes to other packages (desktop-backgrounds
and kde-settings
) to use it. If we’re in freeze, this all becomes harder because everything needs freeze exceptions and karma.
I have two ideas to improve on this. Both of them involve a common base. We should create a script which produces an fXX-backgrounds
package with a placeholder background image, perhaps generated via GraphicsMagick or something similar - just a plain blue background (in some recognizably ‘Fedora’ blue, I guess) with “Fedora XX Placeholder Background” written on it (edit: I guess it could show a URL to a design team landing page for helping to create the real background?)
Idea 1: the blunderbuss approach. We write this script and then we mass-create and mass-approve packages for f39-backgrounds all the way through to f99-backgrounds. Benefits: it’s simple, we only have to do this part once. Drawbacks: if we ever change the layout of the fXX-backgrounds package, we would probably have to mass-update all the remaining ‘future’ packages. If we at any point abandon Fedora or change the name scheme or revise the whole way we do backgrounds or give up on backgrounds entirely or upload ourselves to the singularity, we will wind up with a bunch of ‘odd’ pre-approved packages which exist for no real reason.
Idea 2: at each branch point, we create and review the package for the next release. So at F39 branching, we create f40-backgrounds
and land it in Rawhide (then we can immediately adjust desktop-backgrounds
and kde-settings
and comps for it). Benefits: we only create the package when we need it, and if we want to change the layout of the package, we can update the script before creating the package. Drawbacks: it’s a bit of work someone has to do every cycle (we’d probably want to put it in the branching SOP).
Either way, the big benefit is we can get all the packaging work out of the way very early in the cycle, at a time when there definitely isn’t a freeze and karma requirements aren’t in place. I can pre-create the needles for the openQA tests so they aren’t disrupted by the changeovers.
When the real artwork is done, all we have to do is update the fXX-backgrounds package with the new image files. We don’t need to go through the package review process and update another two packages and the comps file, all probably in a hurry and maybe having to deal with freezes and karma.
Thoughts? Thanks!