Previously it went through each package's provides->required_by chain.
This does not deal with cycles correctly and there was only a hack to deal
with single-package cycles.
Instead, recursively walk through all required packages, starting from the
build enabled images and take note of all needed source packages.
This also handles _multibuild flavors as separate packages.
A dict mapping linked package to linking package won't work, there are multiple
linking packages which previously overwrote each other. Turn it around.
After freeze, /standard needs to rebuild, which then triggers
the pipelines to perform installcheck, recalculate the media and
enable build of /images.
Fixes issue#2817
This replaces #1304 with a more brute force approach to fix not only
32bit libs but all failures we see on i586. We waste so much energy
retrying failed builds, it's really not worth it not trying i586 on
adi.
We will check if there are approved pkglistgen comments and if so, apply
them to the target. For this we need to parse the generated markdown, so
refactor both in a common class.
There diff is applied, but not yet commited in this commit
With the current pipelines, we enable build of the images repository
once everything in /standard is build-succeeded and repo-checker passed.
Let's go the last mile and disable images when we check in the staging.
This should save some OBS build power (not building ISO images before the
stagings are actually ready) and also some openQA (not testing ISO images
before stagings settle)
I can foresee that sometimes an RM would still want to have preliminary
testing done - in which case the images repo can be manually build enabled
(or the pipeline be triggered to go beyond repo-checker, as it likely also
needs a recalculation of the content)
It's a little suprising fallout from 1870e989a4d7a1f846dc06895402dc1395b34c11,
but we don't have package lists in "rings" anymore, but only in one
ring.
The mtime of a file in OBS is the time this content was created for the
first time. As such if the target project isn't moving for a week,
staging select will keep asking you to freeze - even if you just froze.
So instead of relying on OBS to tell the true mtime, set an attribute
in the staging project and read from it. This also gives a way to check
in the webui for the last freeze time
Fixes#2462
As we don't do automatic origin updates in no project, remove the
update monitors. Those have been paused on botmaster for half a year
and just no project relies on them any longer
It was introduced by #2159 because the various machines were hard to
monitor. Since we moved to botmaster there is no longer a problem with
that and if it ever served us is hard to say as the sentry project's
password is lost for years. So simplify the exception handling by just
throwing it