On 04/22/2015 05:56 PM, Mike Bonnet wrote:
Hi. The attached patch implements a mergeScratch() method. This
enables importing the rpms built by a scratch build and associating them
with an existing build, if that build was built from the same SCM URL
and has the same NVR.
The use-case for the method is arch enablement. The general approach
- setup a new build tag that builds only for the new arch
- this would use either imported rpms or an external repo of rpms
that had been built/bootstrapped manually
- run a scratch build in the new build tag, from the same SCM URL as
an existing build
- call mergeScratch(scratch_task_id)
- rpms built for the new arch are added to the existing build
This allows arch coverage to be added incrementally to existing builds
in a non-disruptive way. When all builds in the -build tag have rpms
for the new arch, the arch can be enabled in the main tags and all new
builds will generate rpms for the new arch. This simplifies the
bootstrap process for a new arch, and avoids mass-rebuilds that would
result in no change in the existing arch rpms.
This could be accomplished with the existing rpm import functionality,
but mergeScratch() retains the build logs and the buildroot metadata
(associated with the scratch build task) so merged rpms have better
tracking and auditability.
Questions and comments welcome.
buildsys mailing list