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