murano-deployment/package-builder
Dmitry Teselkin cf9b6cacbf Info about dependencies added.
Change-Id: I2f3dc4fe6050097fb033f6b392a393cf42b27c71
2013-11-25 13:23:03 +04:00
..
murano-agent/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-api/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-common/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-conductor/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-dashboard/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-metadataclient/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
murano-repository/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
python-muranoclient/debian Package builder scripts updated 2013-11-23 15:12:38 +04:00
README.md Info about dependencies added. 2013-11-25 13:23:03 +04:00
build-all.sh Initial set of files and scripts added 2013-11-22 13:03:01 +04:00
functions.sh Initial set of files and scripts added 2013-11-22 13:03:01 +04:00
python-buildpackage.sh Package builder scripts updated 2013-11-23 15:12:38 +04:00

README.md

Package Builder

This folder contains a set of scripts and files used to automate packaging the Murano-* components.

The main workflow is quite simple now:

  1. Install prerequisites (as root)
apt-get install --yes ubuntu-cloud-keyring

cat << EOF > /etc/apt/sources.list.d/cloud-archive.list
# The primary updates archive that users should be using
deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/havana main

# Public -proposed archive mimicking the SRU process for extended testing.
# Packages should bake here for at least 7 days.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-proposed/havana main
EOF

apt-get install --yes debhelper python-pbr
  1. Clone/Update murano-deployment repo
  2. Change directory to 'package-builder'
  3. Run build-all.sh
  4. When building completed - open folder ~/build_dir/debuild
  5. Copy content of murano-*.debian.tar.gz to appropriate repos in OBS

What the scripts actually do:

  1. Create temporary build folder ~/build_dir.
  2. Clone multiple murano-* repositories to ~/build_dir/upstream.
  3. Extract basic package-related information for each component.
  4. Create original tarball orig.tar.gz files for each component.
  5. Create initial build bir based on component's .orig.tar.gz file.
  6. Create initial set of files for Debian package for each component.
  7. Check if there is a folder for each component in package-builder folder. If exists - copy (with overwriting) files to each component's build dir.
  8. Build package for each component.

Main idea behind this scripts is to automate passing package-related information from upstream repository and customize each package as needed before build.

All the required changes to components should be made in files which overwrites initial debian configuration files - these changes should be made in files located in appropriate subdirectory. For example, for murano-api changes should be made in files located in ./murano-api/debian/