[openstack-dev] [packaging] Adding packaging as an OpenStack project

Clint Adams clint.adams at hp.com
Thu Jun 4 20:35:07 UTC 2015

On Wed, Jun 03, 2015 at 04:30:17PM -0400, Sean Dague wrote:
> The closer we can get logic about what a service should look like on
> disk back into that service itself, the less work duplicated by any of
> the installers, and the more common OpenStack envs would be. The fact
> that every installer / package needs to copy in a bunch of etc files
> (because the python packages don't do it) has always seemed rather odd
> to me.

I agree with this, and given the disparate and seemingly contradictory
goals driving these discussions, I think it will be exceedingly
difficult to make everyone happy. So here's my suggestion:

1. Maintain all important data for packaging as first-class members of
   the respective repositories. Initscripts, systemd service files,
   licensing (SPDX?), and so on should be in the master branch of each
   project. Just enough glue should be present such that functional
   packaging can be programmatically generated from HEAD with debdry or
   similar tooling, and this is how test jobs should operate (f.ex.: run
   debdry, mangle version number to something unique, build package in
   chroot or equivalent, store output for use in other testing).

2. Create a single repository, with one subdirectory per "source
   package", in which overrides or patches to third-party packaging can
   be committed and used to trigger builds.

This way OpenStack could

-  produce and consume its own package artifacts for testing changes of
   varying complexity
-  get early warning of changes which will break packaging, insanity in
   dependency graphs, and so on
-  be a central point of collaboration without introducing a bunch of
   repo duplication or bypass of code review

Distributors could

-  clone the upstream repos and branch to add any special tweaks, then
   potentially run the same automation to get source/binary packages
-  collaborate upstream to fix things of common utility

More information about the OpenStack-dev mailing list