Autobuilder Development and Packaging

From RISC OS

(Difference between revisions)
Jump to: navigation, search
(Begin to document the autobuilder settings)
m (Remove old bit of text)
Line 1: Line 1:
-
Most information on autobuilder development is listed on the [[GCCSDK Development]] page.  A few autobuilder specifics are detailed here.  Note these are mostly development notes and may be in a state of flux.
+
Most information on autobuilder development is listed on the [[GCCSDK Development]] page.  A few autobuilder specifics are detailed here.
==Anatomy of an autobuilder package==
==Anatomy of an autobuilder package==

Revision as of 10:57, 28 May 2008

Most information on autobuilder development is listed on the GCCSDK Development page. A few autobuilder specifics are detailed here.

Contents

Anatomy of an autobuilder package

To start, download a copy of the Autobuilder from SVN and look in the directory cli/tar. The heart of an autobuilder package is a file called 'setvars'. tar's has:

AB_CATEGORY=Command
AB_URL=ftp://gnu.mirror.pacific.net.au/gnu/gnu/tar/tar-1.15.tar.gz
ab_package() {
  cp $S/src/tar$AB_EXEEXT $S/COPYING $D
}

Normally the autobuilder will make a best guess at how to build a package, so all that's needed are to specify in those areas it gets it wrong. The main work is done by the fetch* and build* collections of scripts in the top level of the autobuilder tree. As well as setting various key variables and providing some functions, the setvars script is run just before any configuration script so you can use it to fix up anything that the automatic steps missed.

setvars variables

If no URL is given the autobuilder will try to fetch the package of the same name from Debian's 'unstable' repository. Here we don't want that, so we explicitly give a URL in AB_URL of where the sources can be found. This can be a .tar.gz, a .tar.bz2 or a .zip file. Alternatively you can specify a CVS or SVN repository. For example, browser/firefox2/setvars has:

AB_CVS_ROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
AB_CVS_TAGORBRANCH=FIREFOX_2_0_0_14_RELEASE
AB_CVS_MODULE=mozilla/client.mk

while audio/tremor/setvars has:

AB_SVN=http://svn.xiph.org/trunk/Tremor

AB_CATEGORY is the category the package will be placed in on the website.

setvars functions

When producing a Zip package, the ab_package shell function is called to choose which files are to be placed in the zipfile. It should copy files from $S, the build directory, to $D, a destination directory ready for zipping.

Other files

Files ending .p are patches which the autobuilder will apply to the downloaded source tree. For this to work the file naming in the first two lines of the patch file must be correct - ensure you just have a relative path starting at the top level of the unpacked source tree.

Packages may depend on other packages. Normally this uses the Debian dependency information, but you may specify packages manually using a 'depends' file. This just has a list of package names - for an example see browser/firefox2/depends


More information

For further information about the autobuilder, see the Autobuilder.html and Packaging.html files within the autobuilder source tree. See Autobuilder.html and Packaging.html in source form with HTML codes.

Personal tools