1.9 KiB
1.9 KiB
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:
- 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
- Clone/Update murano-deployment repo
- Change directory to 'package-builder'
- Run build-all.sh
- When building completed - open folder ~/build_dir/debuild
- Copy content of murano-*.debian.tar.gz to appropriate repos in OBS
What the scripts actually do:
- Create temporary build folder ~/build_dir.
- Clone multiple murano-* repositories to ~/build_dir/upstream.
- Extract basic package-related information for each component.
- Create original tarball orig.tar.gz files for each component.
- Create initial build bir based on component's .orig.tar.gz file.
- Create initial set of files for Debian package for each component.
- 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.
- 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/