Michal Marek wrote:
Marcus Hüwe wrote:
Note that the build order might change as you build packages and new dependencies show up. It's probably not too hard but it isn't that easy either ;-). Hmm no. My plan was to send _all_ spec files (or just only BuildRequires and Provides (we also need to associate this information to a particular
On 2008-05-21 18:05:18 +0200, Michal Marek wrote: package)) to the backend.
What I was trying to say was that you can't statically extract all dependency information from a specfile. Dependencies are also generated at build time.
To give an example: A.spec: BuildRequires: B # no Requires B.spec # no (Build)Requires, but %post -f post.sh C.spec # no (Build)Requires %files /usr/bin/* No locally built packages. Now osc sends the three specs to the backend, which sends back this buildorder: B, A, C. Osc builds B.spec, which results in a B.rpm with following %post scriptlet: #!/usr/bin/c hello world (/usr/bin/c being a part of the C package). Without asking the backend again, osc is lost, because B suddenly has unresolved dependencies. When building inside the bs, A would be set to "expansion error, nothing provides /usr/bin/c needed by B" and C would be built instead (actually C would be built alongside with B). A successful build of C would then resolve the expansion error in A. So osc needs to inform the bs about changes after each build. Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org