-----Original Message----- From: Malcolm Fernandes [mailto:mfernand@broadcom.com] Sent: Sunday, March 17, 2013 8:40 PM To: Marcus Meissner Cc: opensuse-buildservice@opensuse.org Subject: RE: [opensuse-buildservice] OBS build dependency issue Hi Markus, Comments embedded below. -----Original Message----- From: Marcus Meissner [mailto:meissner@suse.de] Sent: Saturday, March 16, 2013 1:42 AM To: Malcolm Fernandes Cc: opensuse-buildservice@opensuse.org Subject: Re: [opensuse-buildservice] OBS build dependency issue On Fri, Mar 15, 2013 at 10:47:33PM +0000, Malcolm Fernandes wrote:
We have a project in our local OBS instance where we are encountering some build dependency issues.
Our OBS is running on an appliance: obs-server-2.3.1-6.7.x86_64
To illustrate the problem:
Let's assume we have 5 packages in a project (pkg1, pkg2, pkg3, pkg4, pkg5)
The pkg2 spec file contains a "BuildRequires:" for one of the rpms generated by pkg1. Similarly the pkg3 spec file contains a "BuildRequires:" for one of the rpms generated by pkg2 and so forth.
When a commit was made to pkg1, it got rebuilt and this triggered pkg2 to start building. While pkg2 was rebuilding, pkg3, pkg4 and pkg5 went into a blocked state (which is what we expected).
However, after pkg2 finished building, pkg-3/4/5 get unblocked and do NOT get rebuilt.
Did you check the buildlog? Perhaps "build compare" triggered and found the builds identical? [MF] Yes, the buildlog does detect changes in the generated rpms as per the build compare. Note, that I tried the exact same scenario in a home:mfernand:debug project and the dependent packages all build fine there. It's just this one project which is exhibiting these issues. [MF-03/19/2013] Some more observations. The OBS project having issues had rebuild="direct" in the project meta, while my home project (which does not have problems) does not have that attribute. I believe rebuild="transitive" is the default. When I added the rebuild="direct" in the project meta of my home project, it also exhibited the build dependency issues. I'm guessing I should remove the rebuild="direct" in the project meta and let it default to 'transitive'. Any thoughts on this? Cheers, Mal What is the project meta and the repository rebuild strategy? [MF] This is an extract of the project meta: <repository rebuild="direct" name="standard"> <arch>armv8el</arch> <arch>i586</arch> <arch>armv7el</arch> </repository>
We tried to wipe the binaries of pkg1 and saw the same behavior. Also wiped the binaries of pkg2 and saw the same behavior for its dependent packages.
Trying to understand how these dependencies work from an OBS perspective. Can you please shed some light on this as well as provide some advice on how to debug this further.
This can be configured on a project level... project meta, build-compare ... might influence it. [MF] I'm not sure how to configure build-compare via the project meta. Can you please elaborate on this. Thanks, Mal -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org