view bin/runtreepkg.py @ 171:c0ea6cbb0fd2

Add "--debbuildopts -b" to "pbuilder build" command line to stop pbuilder from creating a source package. The .changes would otherwise contain references to that new source package instead of the one we passed to pbuilder. The checksums for the two source packages would be different so the .changes file would not match the source package that treepkg produces.
author Bernhard Herzog <bh@intevation.de>
date Mon, 23 Jun 2008 16:12:01 +0000
parents 2630a1c18816
children e83db4482aab
line wrap: on
line source
#! /usr/bin/python2.4
# Copyright (C) 2007 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.

"""Starts the tree packager"""

import sys
import os
import logging
from optparse import OptionParser

import treepkgcmd
from treepkg.options import create_parser
from treepkg.packager import create_package_track, PackagerGroup
from treepkg.readconfig import read_config

def initialize_logging():
    """Initializes the logging system"""
    root = logging.getLogger()
    root.setLevel(logging.DEBUG)
    hdlr = logging.StreamHandler()
    fmt = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
    hdlr.setFormatter(fmt)
    root.addHandler(hdlr)

def parse_commandline():
    parser = create_parser()
    parser.add_option("--once", action="store_true",
                      help=("Check the packagers only once and exit afterwards."
                            " Without this option, the tree packager will"
                            " check periodically."))
    parser.add_option("--revision",
                      help=("SVN revision to update to before attempting"
                            " to package."))
    return parser.parse_args()

def main():
    options, args = parse_commandline()

    initialize_logging()

    treepkg_opts, packager_opts = read_config(options.config_file)

    if args:
        packager_opts = [opts for opts in packager_opts if opts["name"] in args]
        # check whether we got all of the names in args:
        for opts in packager_opts:
            name = opts["name"]
            if name in args:
                args.remove(name)
        for name in args:
            print >>sys.stderr, "No package tracks found named %r" % name

    if packager_opts:
        group = PackagerGroup([create_package_track(**opts)
                               for opts in packager_opts],
                              revision=options.revision,
                              **treepkg_opts)
        if options.once:
            group.check_package_tracks()
        else:
            group.run()

main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)