#500 RFE: Enhance the component reuse logic
Closed: Invalid a year ago by mikem. Opened 7 years ago by psabata.

This is mostly about the last sentence of https://pagure.io/fm-orchestrator/issue/256

When deciding whether a component could be re-used, MBS should check all the latest ready versions of every module name & stream combination, not just the latest version of the same module & stream.

Anything but the latest ready version should be ignored as those builds might no longer be available in koji.

While this might be expensive, it will, in most cases, be still cheaper than actually building anything in koji. That said, do think about whether you could store any relevant PDC information in a more efficient manner.


It seems to me that this would only be possible if we had some deeper information about the buildroots between the two different modules - something more in depth than just names, versions, and releases.

If we could do some abi/api check, we might be able to re-use components from a different module/stream in a new module build, but that sounds like risky error-prone rocket science. Maybe someone has a good idea about how to do the check?

One use case in which this could help a lot: maven:master and maven:f27 are identical (identical buirdrequires, components, the same refs, ...), only runtime requires are different (see below). So theoretically all 200 component builds could be reused.

$ git diff f27 master
diff --git a/maven.yaml b/maven.yaml
index 4b67162..782b30e 100644
--- a/maven.yaml
+++ b/maven.yaml
@@ -24,8 +24,8 @@ data:
             # BR of xml-stylebook
             fonts: master
         requires:
-            java: 8
-            platform: f27
+            java: master
+            platform: master
     profiles:
         default:
             rpms:

Interesting. It seems like this could only be done in the zeroeth batch of either module. That's a good example @mizdebsk, thank you.

Metadata Update from @mikem:
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata