[opensuse-buildservice] OBS build dependency issue
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. 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. I've run these options with 'obs_admin' and it has not returned anything: --rescan-repository --force-check-project --deep-check-project Thanks, Mal -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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? What is the project meta and the repository rebuild strategy?
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. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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. 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
-----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
On Dienstag, 19. März 2013, 19:25:14 wrote Malcolm Fernandes:
-----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?
yes. It is the default for a good reason :) ..
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>
Uh, you really use that one? You are aware that this architecture never existed and actually got called "aarch64" meanwhile? bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
[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?
yes. It is the default for a good reason :)
[MF] ok thanks.
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>
Uh, you really use that one? You are aware that this architecture never existed and actually got called "aarch64" meanwhile?
[MF] Not sure why you say 'armv8el' never existed. I see it referenced in the OBS codebase (2.3.1), while I cannot see any references of 'aarch64': /srv/www/obs/api/public/schema/obs.rng /srv/www/obs/api/db/seeds.rb /srv/www/obs/api/test/fixtures/architectures.yml /srv/www/obs/docs/api/obs.rng /usr/lib/obs/server/build/build /usr/lib/obs/server/build/Build.pm .... Cheers, Mal -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Mittwoch, 20. März 2013, 19:03:00 wrote Malcolm Fernandes:
[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?
yes. It is the default for a good reason :)
[MF] ok thanks.
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>
Uh, you really use that one? You are aware that this architecture never existed and actually got called "aarch64" meanwhile?
[MF] Not sure why you say 'armv8el' never existed. I see it referenced in the OBS codebase (2.3.1), while I cannot see any references of 'aarch64':
Yes, but real armv8el hardware never existed. It got called aarch64 instead. The armv8 slipped inside to OBS code base via a mistake. I just not removed it since some users use it already (as a workaround for generic dependency problems in their code base).
/srv/www/obs/api/public/schema/obs.rng /srv/www/obs/api/db/seeds.rb /srv/www/obs/api/test/fixtures/architectures.yml /srv/www/obs/docs/api/obs.rng /usr/lib/obs/server/build/build /usr/lib/obs/server/build/Build.pm ....
Cheers,
Mal
-- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Freitag, 15. März 2013, 22:47:33 wrote Malcolm Fernandes:
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.
check with "osc buildinfo" if pkg-3/4/5 really using this pkg2. If that is the case, I can only imaging that you configured a special "rebuild=local" in your repo.
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.
I've run these options with 'obs_admin' and it has not returned anything: --rescan-repository --force-check-project --deep-check-project
Thanks,
Mal
-- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hello Adrian, Comments embedded below. -----Original Message----- From: Adrian Schröter [mailto:adrian@suse.de] Sent: Monday, March 18, 2013 12:48 AM To: opensuse-buildservice@opensuse.org Cc: Malcolm Fernandes Subject: Re: [opensuse-buildservice] OBS build dependency issue On Freitag, 15. März 2013, 22:47:33 wrote Malcolm Fernandes:
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.
check with "osc buildinfo" if pkg-3/4/5 really using this pkg2.
[MF] Yes, 'osc buildinfo' does state that there is a dependency on the rpm generated by pkg2.
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.
I've run these options with 'obs_admin' and it has not returned anything: --rescan-repository --force-check-project --deep-check-project
Thanks,
Mal
-- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Adrian Schröter
-
Malcolm Fernandes
-
Marcus Meissner