[opensuse-buildservice] Where does build service look for dependents?

Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires? Regards Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on. Wolfgang -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Wolfgang Rosenauer wrote:
Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on.
Wolfgang
Thanks Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Thursday 16 July 2009 08:22:30 Wolfgang Rosenauer wrote:
Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on.
No, to the Requires of your BuildRequires! Andreas -- Andreas Jaeger, aj@suse.de SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Andreas Jaeger wrote:
On Thursday 16 July 2009 08:22:30 Wolfgang Rosenauer wrote:
Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on.
No, to the Requires of your BuildRequires!
Andreas
I'm confused, after playing around with field "Requires:" it seemed to me that it was passed on to the resulting rpm "requires". Regards Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Hello, On Jul 16 09:25 Dave Plater wrote (shortened):
Andreas Jaeger wrote:
On Thursday 16 July 2009 08:22:30 Wolfgang Rosenauer wrote:
Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on.
No, to the Requires of your BuildRequires!
I'm confused, after playing around with field "Requires:" it seemed to me that it was passed on to the resulting rpm "requires".
If your package is named A and in it spec file there is BuildRequires N M Requires X Y then the build service needs the following package to build A: N and all what in the spec file on N is as "Requires" and all what the "Requires" of N have as "Requires" and all what the "Requires" of the "Requires" of N have as "Requires" and so on... M and all what in the spec file on M is as "Requires" and all what the "Requires" of M have as "Requires" and all what the "Requires" of the "Requires" of M have as "Requires" and so on... After package A was built, the build service looks for all other packages which have the repository which contains this exact package A as build repository (there may be several packages also named A in various repositories) which have in their spec files BuildRequires A and the build service re-builds all those other packages. After package A was built, when an end-user likes to install A the package installation tool on the end-users system will make sure that when A gets installed also X and Y get installed. Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Johannes Meixner wrote:
Hello,
On Jul 16 09:25 Dave Plater wrote (shortened):
Andreas Jaeger wrote:
On Thursday 16 July 2009 08:22:30 Wolfgang Rosenauer wrote:
Dave Plater schrieb:
Dave Plater wrote:
Hi, is there anyway to control where a package I'm building looks for dependencies? Regards Dave P
Am I right in assuming that this is decided in the spec file by BuildRequires or is it Requires?
It's BuildRequires. And it's expanded to the BuildRequires of your BuildRequires and so on.
No, to the Requires of your BuildRequires!
I'm confused, after playing around with field "Requires:" it seemed to me that it was passed on to the resulting rpm "requires".
If your package is named A and in it spec file there is BuildRequires N M Requires X Y then the build service needs the following package to build A: N and all what in the spec file on N is as "Requires" and all what the "Requires" of N have as "Requires" and all what the "Requires" of the "Requires" of N have as "Requires" and so on... M and all what in the spec file on M is as "Requires" and all what the "Requires" of M have as "Requires" and all what the "Requires" of the "Requires" of M have as "Requires" and so on...
After package A was built, the build service looks for all other packages which have the repository which contains this exact package A as build repository (there may be several packages also named A in various repositories) which have in their spec files BuildRequires A and the build service re-builds all those other packages.
After package A was built, when an end-user likes to install A the package installation tool on the end-users system will make sure that when A gets installed also X and Y get installed.
Kind Regards Johannes Meixner
Thanks very much for your detailed description, I'm trying to find out why a package that works on my machine when built with rpmbuild but segfaults when built in my build service project. I suspect it is due to what it is built against being different to what my system has and this knowledge enables me to make sure the package is built against the same libraries that are present on my system ie. factory. Another question, if I have the BuildRequires packages present in my project will they be the packages used in the build? Regards Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Hello, On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package. But see osc help build ---------------------------------------------------------------------- --prefer-pkgs=DIR Prefer packages from this directory when installing the build-root ---------------------------------------------------------------------- I never used this but it seems you have to provide preferred packages in a local directory and not in a repository on the build service (via a project on the build service it cannot work because a project contains sources but no binary packages which could be installed). Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Johannes Meixner wrote:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But see osc help build ---------------------------------------------------------------------- --prefer-pkgs=DIR Prefer packages from this directory when installing the build-root ---------------------------------------------------------------------- I never used this but it seems you have to provide preferred packages in a local directory and not in a repository on the build service (via a project on the build service it cannot work because a project contains sources but no binary packages which could be installed).
Kind Regards Johannes Meixner
Thanks for the info, I have started using osc now it has a bit more control than the build service web interface. Regards Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Am Freitag, 17. Juli 2009 10:01:11 schrieb Johannes Meixner:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But the packages from the same project are always used by default (except someone disable "useforbuild" and calls wipebinaries). bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Adrian Schröter wrote:
Am Freitag, 17. Juli 2009 10:01:11 schrieb Johannes Meixner:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But the packages from the same project are always used by default (except someone disable "useforbuild" and calls wipebinaries).
bye adrian
Thanks for the information. Dave P -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Hello, On Jul 17 10:58 Adrian Schröter wrote (shortened):
Am Freitag, 17. Juli 2009 10:01:11 schrieb Johannes Meixner:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But the packages from the same project are always used by default (except someone disable "useforbuild" and calls wipebinaries).
This default confuses me because - as far as I understand it - it means that when there is a whatever kind of broken package in a development project (here "broken" means it builds but does not work as it should) other packages in the development project may become also broken. This default means for development projects that all the packages therein must be kept "in sync" (in particular regarding backward compatibility). Otherwise with this default it is not possible to safely try out something for one package in a development project without the risk to cause bad side-effects for other packages therein. Is my understanding correct? Where can I "disable 'useforbuild'"? (My "osc help build" does not tell about "useforbuild".) Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex

Am Freitag, 17. Juli 2009 11:31:17 schrieb Johannes Meixner:
Hello,
On Jul 17 10:58 Adrian Schröter wrote (shortened):
Am Freitag, 17. Juli 2009 10:01:11 schrieb Johannes Meixner:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But the packages from the same project are always used by default (except someone disable "useforbuild" and calls wipebinaries).
This default confuses me because - as far as I understand it - it means that when there is a whatever kind of broken package in a development project (here "broken" means it builds but does not work as it should) other packages in the development project may become also broken.
This default means for development projects that all the packages therein must be kept "in sync" (in particular regarding backward compatibility). Otherwise with this default it is not possible to safely try out something for one package in a development project without the risk to cause bad side-effects for other packages therein.
Is my understanding correct?
Where can I "disable 'useforbuild'"? (My "osc help build" does not tell about "useforbuild".)
This is just a flag for server side builds. You see it in the extert view of the web interface for example or you can add <useforbuild> <disable /> </useforbuild> to your package meta "osc meta pkg $PROJECT $PACKAGE -e". However, you need to run wipebinaries afterwards, since this just disables the syncing. So an old package remains otherwise. bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Am Freitag, 17. Juli 2009 11:31:17 schrieb Johannes Meixner:
Hello,
On Jul 17 10:58 Adrian Schröter wrote (shortened):
Am Freitag, 17. Juli 2009 10:01:11 schrieb Johannes Meixner:
Hello,
On Jul 16 10:11 Dave Plater wrote (shortened):
if I have the BuildRequires packages present in my project will they be the packages used in the build?
Not by default. By default the BuildRequires packages are used from what is defined to be the build repository for the package.
But the packages from the same project are always used by default (except someone disable "useforbuild" and calls wipebinaries).
This default confuses me because - as far as I understand it - it means that when there is a whatever kind of broken package in a development project (here "broken" means it builds but does not work as it should) other packages in the development project may become also broken.
This default means for development projects that all the packages therein must be kept "in sync" (in particular regarding backward compatibility). Otherwise with this default it is not possible to safely try out something for one package in a development project without the risk to cause bad side-effects for other packages therein.
I do not exactly understand what you mean here. But yes, the idea of the development projects is that you test packages, which belong together. So you can verify what your package is breaking and can fix the other ones as well. This leads hopefully to the situation that the breakage does not appear in openSUSE:Factory the first time. bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (5)
-
Adrian Schröter
-
Andreas Jaeger
-
Dave Plater
-
Johannes Meixner
-
Wolfgang Rosenauer