This page is likely outdated (last edited on 06 Sep 2005). Visit the new documentation for updated content.
BuildSystem/PackagingScripts
The core of the build system is the packaging scripts. These live in release/packaging
.
Table of contents |
Configuration files
There are a few sets of config files for this setup:
release/packaging/defs
These define specific products. This is the current set of rpms we build, so you might have a stable and an unstable version, etc.
Example:
BUILD_HOSTS=(
redhat-9-i386
sles-9-x86_64
)
USE_HOSTS=(
fedora-3-i386
nld-9-i586
nld-9-x86_64
redhat-9-i386
rhel-3-i386
rhel-4-i386
sles-9-i586
sles-9-x86_64
suse-92-i586
suse-93-i586
suse-93-x86_64
)
get_destroot () {
DEST_ROOT=$ARCH
}
HEAD_PATH="trunk"
RELEASE_PATH="tags/mono-[[version]]"
get_tarball () {
msvn_tar $1
}
A breakdown of the file:
BUILD_HOSTS
machines on which the package gets built and rpms get created
USE_HOSTS
all distros that will use the package – might be different than BUILD_HOSTS
if packages are shared
get_destroot
the prefix where the packages go. This is how we find out how to share packages. For all distros in USE_HOSTS
exactly one distro in BUILD_HOSTS
must have the same get_destroot
HEAD_PATH, RELEASE_PATH
custom variables for our tarball creation method
get_tarball
the method we use to get tarballs
release/packaging/conf
These are little configurations for each of our jails
release/conf
These contain build-buddy .conf files.
Scripts
Various scripts exist to run builds:
mktarball
makes a tarball. Run like mktarball <target jail> <package> <version|snap> [svn rev]
- Ex:
mktarball suse-93-i586 gtk-sharp 1.1.7
- Ex:
mktarball suse-93-i586 xsp snap 44717
build
Builds something run like build <target jail> <package> <version> [<rev>]
- Ex:
build suse-92-i386 mono-1.1 1.1.7
Steps to Build Everything
TODO