Hi! First of all thank you for looking into the gory parts of the open build service! ;) On Fri, Jul 21, 2017 at 09:01:44AM +0300, Oleg Ogurtsov wrote:
I have two patches for review: 1. Fix a problem with different names - OBS package name and RPM name described in the spec-file. For example: OBS package name 'linaro-gcc', but name of rpm is 'gcc'.
This should work. So you'll need to be much more specific on where the problem is. Your patch does a couple of things: - it changes the way the $notready hash is used, it also uses the OBS package name. I don't understand why this is needed. The current policy is to put rpm source names into the hash, because we can get the source names from the repository metadata. - it changes the way package sorting works Yes, I think there is indeed a bug in the current code, it seems to mix rpm source names with OBS package names. You might also have a problem in your code, because multiple OBS packages can build the same source (this is common when more than one version of a package is built). So your %name2pkgid hash must map to an array, not scalar. Setting up a dep2pkgid hash might be easier, though.
2. Change a scheduler mechanism. The build of non-cyclic packets wait the builds of cyclic packets. This has some advantages: reduce time of project build, reducing number of packages rebuilds. I tested the patches on the project with 129 packages (41 cyclic) - the build time was reduced by ~33%.
Hmm, I remember mailing with Pavel Kopyl from Samsung about improving the handling of cycles. Is this related? I think the patch does way to much to implement this. My suggestion from the mail thread was just to tweak the code so that non-cycle packages come after the cycle ones, and then change the code so that "$notready" is set of all cycle packages if one of them is building/blocked. I'll check how much change that would be next week, we can then discuss things further. Again, thanks for daring to improve the messy parts of the backend code. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org