For debugging it's very useful to use @memoize(session=False), but that
did not work because the self parameter pickled to a different key for each
run, preventing cache hits. Avoid the self parameter.
devscripts has a sub-flavor for checknashisms that is required in Ring1 (for rpmlint)
The flavor "" is technically not required, but removing the package would make the
sub-flavor vanish as well.
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.
Was bored while waiting for a test run to finish. The rule is
that two empty lines distinguish larger blocks and shouldn't be
used between functions or within functions.
No longer compare against the target project's cycle, but just against
a configured list of package names. This way we're not bound to
refreezing stagings if we reduced cycles and it's clearer to the
operator what happens and how to react to it.
This check only works if the runtime requirement resides in the same ring.
The fun case being kernel-syms which is required by virtual box (ring-2),
but must remain in ring-1 to ensure matching build revision with other
kernel packages.
- change archs loop to use the archs appropriate for the ring instead of
always using DVD archs
- drop check_image_bdeps() out of archs loop since DVD should only look
at DVD archs even if ring 1