Package building and build process

David Caro dcaroest at redhat.com
Mon May 5 16:19:32 UTC 2014


I'll add some pros and cons I see for each point, and others someone (I can't
see who, please qritw your nick there) wrote in the pad:

On Mon 05 May 2014 05:39:53 PM CEST, David Caro wrote:
> * How the source tarballs should be built
>   · Should we use a jenkins job for it, so the maintainer just downloads the
>     tarball from it
      + reproducible
      + automatizable
      - extra jenkins job load
>   · Should we force the maintainer to build it and supply the tarball himself
      + The maintainer has full control on how it's generated
      - Might introduce human errors
      - extra maintainer work
      - non-automatizable
      - makes it hard to do nightlies (from the pad)
>   · Should we allow both
      same pluses as before
      - extra work for everyone
      - plus for confusion on how to do it for the maintainers


> * Separate source release from binary release
  + Logical separation from source and binary, as the source is our primary
    deliverable
  - To test the code you already need the binaries, no point on duplicating the
    release effort

This is meant to separate our main deliverable (source code) from secondary one
(the binaries).

>
> * Which tools to use to build the rpms
>   · plain rpmbuild
      + simple build process
      - hard setup/cleanup as it needs to install dependencies from different
        sources and then clean them up
      - needs the slave to be blocked as it needs to install/remove
        dependencies from different repos
      - only rpm
>   · Mock
      + stable
      + each build is independent from the system
      + same build system as koji
      - uses quite a lot of space
      - it's not straight-forward to use
      - only rpm
>   · Docker
      + Very simple to use
      + moderate disk usage
      + each build is independent from the system
      + not only rpm
      + it's getting a lot of focus (from RedHat and a lot
        of others)
      - not so stable
>   · copr
      +/- external service
      + simple to use (simple api/ui)
      - only rpm
      - quite new
>   · Open Build System
      +/- external service
      + not only rpm
      - complex api/ui
>   · koji
      +/- external service
      + official fedora build system
      - only rpm
      - there were some issues that prevented us from already building there,
        anyone knows more details?
>
>
> * How to organize the rpm/tar build jobs
>   · One job for all the projects
      + less confusion when building, one place for everything
      - really hard to select a specific project artifacts
      - really hard to automate
      - really hard to filter per-project builds
>   · One job per-project
      + easy to filter per-project and see project status
      + easy to automate processes to get artifacts from it
      + easy to customize per-project dependencies
      - might create confusion on where to build your tarball
>
>
>
> PD. Opened an etherpad to keep the points
> http://etherpad.ovirt.org/p/build_discussion


-- 
David Caro

Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D

Email: dcaro at redhat.com
Web: www.redhat.com
RHT Global #: 82-62605

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.ovirt.org/pipermail/infra/attachments/20140505/f9f99842/attachment.sig>


More information about the Infra mailing list