Mercurial > treepkg
view bin/initpbuilder.py @ 191:94fb3f3ab58b
When building a subset of tracks, make sure new packages are added to
pbuilder even if the tracks that depend on them are not being built. To
achieve this, the information which tracks are to be built is now stored
as the do_build flag in the individual tracks and not by passing only a
subset of the tracks ot the PackagerGroup. Otherwise the PackagerGroup
would not determine the dependencies correctly.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 30 Jul 2008 19:23:10 +0000 |
parents | bfcb2bbf9a52 |
children | 1fcdffbeb9de |
line wrap: on
line source
#! /usr/bin/python2.4 # Copyright (C) 2007, 2008 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 pbuilder environment for the tree packager The script assumes that the config file for the tree packager already contains the pbuilder settings. Also, this script assumes that there is only one pbuilder 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_pbuilder(distribution=options.distribution, mirrorsite=options.mirrorsite, extramirrors=options.othermirror) main()