Test-AutoBuild upgrade notes
============================
Incompatibilities with 1.0.3
----------------------------
* The configuration file has been completely overhauled, so
existing config files from 1.0.x series will not work with
the newer releases.
The minimal effort upgrade path is to take the new example
configuration file, and just replace the 'modules' parameter
block with that of the old config file, then merely change
then place the 'path' and 'repository' options within a
nested 'source' block, eg
Change:
modules = {
autobuild-dev = {
.....
repository = gna-cvs
path = testautobuild
.....
}
}
To look like:
modules = {
autobuild-dev = {
.....
source = {
repository = gna-cvs
path = testautobuild
}
.....
}
}
Consult 'man 5 auto-build.conf' for documentation on the
new configuration file format
* The layout of directories & files within the build home
has changed significantly. The default location has also
switched from /var/builder to /var/lib/builder. There is
now a command line tool for creating the expected directory
structure, so the simplest solution is to just remove your
existing build home & create a new one:
# rm -rf /var/builder
# auto-build-make-root /var/lib/builder
Consult 'man 1 auto-build-make-root' for documentation on
this new tool
* The name of the default script used to build a module has been
changed from 'rollingbuild.sh' to 'autobuild.sh'. Either rename
the script in your application's codebase, or set the following
configuration file option for each module:
modules = {
autobuild-dev = {
.....
options = {
control-file = rollingbuild.sh
}
.....
}
}
* There are a new set of environment variables passed to the build
control scripts:
$AUTOBUILD_INSTALL_ROOT
The location into which a module will install its files,
typically used as value for --prefix argument to configure
scripts. Equivalent to the old $AUTO_BUILD_ROOT variable
$AUTOBUILD_PACKAGE_ROOT
The location into which a module will create binary packages.
For example, $AUTOBUILD_PACKAGE_ROOT/rpm would be used to set
%_topdir when building RPMs.
$AUTOBUILD_SOURCE_ROOT
The location into which the module was checked out.
$AUTOBUILD_MODULE
The name of the module being built. This can be used in
conjunction with the $AUTOBUILD_SOURCE_ROOT to determine
the top level directory of the module's source.
$AUTOBUILD_COUNTER
The build counter value. This counter is not guarenteed to
be different on each build cycle, however, if a code change
was detected during checkout, this will change. Equivalent
of the old $AUTO_BUILD_COUNTER variable.
$AUTOBUILD_TIMESTAMP
The build timestamp value. This counter will uniquely refer
to a particular checkout of the source code, across the entire
build engine.
The old variable names will be removed in a future release, thus
apps should be switched to the new names at soonest convenient
time.