Mercurial > treepkg
view bin/initbuilder.py @ 557:9824e409388b
Refactor git branching
If a checkout is already available and the branch is changed in
the config git command would always fail because it doesn't know
the branch to track. Therefore always check if the branch is
locally available and if not checkout the remote branch
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Fri, 02 Sep 2011 08:45:28 +0000 |
parents | f06f707d9fda |
children |
line wrap: on
line source
#! /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()