Am Donnerstag, 13. August 2009 04:41:43 schrieb Adrian Schröter:
Am Mittwoch, 12. August 2009 22:15:52 schrieb Luke Imhoff:
Here's the use case we have for our developers:
- The kernel gets a change by a checkin of kernel-source by Alice.
This triggers a build of kernel-FLAVORs and kernel-syms as they are all linked to the kernel-source package (and any indirect dependents). 2) kernel-source finishes building 3) kernel-source is available for build use now 4) kernel-syms hasn't finished building as it's wating on kernel-FLAVORs (which take longer than kernel-source) 5) Bob tries to build foo-kmp, which BuildRequires kernel-source and kernel-syms, but osc buildinfo says expansion error because kernel-syms cannot find the old version of kernel-source. kernel-syms has Requires: kernel-source = %{version}-%{release} to make sure they tightly match.
Now we could get around this by making kernel-syms not dependent on a strict version-release match with kernel-source, but then the kernel-syms would be incorrect if the developer tried to build against it. So, is there someway to not release the changes in kernel-source that affect the buildinfo to developers doing local builds with 'osc build' until after all builds triggered by the checkin of kernel-source finishes?
thinking about this, it would mean to use packages from other projects out of the :repo directory instead of :full (plus creating :repo.cache file).
Doable, but we do not want to do this by default, since it would block package builds in other cases unnecessary long. (eg. you can't build bash against new glibc from Factory, until the very last package, eg. some OpenOffice.org package has finished).
Maybe it would be better to take this in account when we implement a release management mechanism some time later. Where you build first in A and move around stuff on the server after testing and submitting an event.
btw, as a workaround, you as an admin could do this manually via cloning a repository, when build has finished (bs_admin --clone-repository ..).
sure, not really a solution
bye adrian