Mercurial > treepkg
diff bin/initbuilder.py @ 344:f06f707d9fda
merged branches/scratchbox into trunk
#### IMPORTANT FOR ALL TREEPKGS #####
pbuilderrc config variable name changed to builderconfig
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Fri, 23 Apr 2010 07:43:29 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/initbuilder.py Fri Apr 23 07:43:29 2010 +0000 @@ -0,0 +1,55 @@ +#! /usr/bin/python +# Copyright (C) 2007, 2008, 2009 by Intevation GmbH +# Authors: +# Bernhard Herzog <bh@intevation.de> +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Script to initialize the builder environment for the tree packager + +The script assumes that the config file for the tree packager already +contains the builder settings. Also, this script assumes that there is +only one builder setting for all packagers. +""" + +import sys + +import treepkgcmd +from treepkg.options import create_parser +from treepkg.packager import create_package_track, PackagerGroup +from treepkg.readconfig import read_config + + +def parse_commandline(): + parser = create_parser() + parser.set_defaults(distribution="etch") + parser.add_option("--mirrorsite", + help=("The debian mirror site" + " (pbuilder MIRRORSITE setting). Required.")) + parser.add_option("--othermirror", + help=("Extra contents of the OTHERMIRROR setting." + " See the pbuilder documentation for the format.")) + parser.add_option("--distribution", + help=("The debian distribution for the pbuilder chroot." + " Default is etch.")) + return parser.parse_args() + + +def main(): + options, args = parse_commandline() + + if options.mirrorsite is None: + print >>sys.stderr, "Missing required option --mirrorsite" + sys.exit(1) + + treepkg_opts, packager_opts = read_config(options.config_file) + group = PackagerGroup([create_package_track(**opts) + for opts in packager_opts], + **treepkg_opts) + track = group.get_package_tracks()[0] + track.builder.init_builder(distribution=options.distribution, + mirrorsite=options.mirrorsite, + extramirrors=options.othermirror) + +main()