Exemplo n.º 1
0
    def __setup_build_options(self):
        global PACKAGING_STEPS, DESTDIR_OPTION_HELP

        bog = optparse.OptionGroup(self.oparser, "Build options")
        add_option = bog.add_option

        add_option("-w", "--workdir",
            help="Specify working dir to output results [%default]"
        )

        choices = [step.name for step in self.env.steps]
        help = "Target step you want to go to: %s [%%default]" % choices
        add_option("", "--stepto", choices=choices, help=help)
        add_option("", "--upto", dest="stepto", choices=choices,
            help="Same as --stepto option (kept for backward compatibility)."
        )

        collectors = Collectors.map()  # {collector_type: collector_class}
        choices = collectors.keys()
        help = "Input type: %s [%%default]" % ", ".join(choices)
        add_option("-I", "--input-type", choices=choices, help=help)

        drivers = Backends.map()  # {backend_type: backend_class}
        choices = drivers.keys()
        help = "Packaging driver: %s [%%default]" % ", ".join(choices)
        add_option("", "--driver", choices=choices, help=help)
        add_option("", "--backend", dest="driver", choices=choices,
            help="Same as --driver option"
        )

        add_option("", "--destdir", help=DESTDIR_OPTION_HELP)
        add_option("-P", "--template-path", **setup_template_path_option())

        self.oparser.add_option_group(bog)
Exemplo n.º 2
0
def main(argv=sys.argv):
    logging.basicConfig(format="%(asctime)s %(levelname)-7s %(message)s",
                        datefmt="%H:%M:%S",  # or "%Y-%m-%d %H:%M:%S",
                        )

    o = O.Options()
    (opts, args) = o.parse_args(argv[1:])

    listfile = args[0] if args else opts.config

    ccls = Collectors.map().get(opts.input_type)
    collector = ccls(listfile, opts)

    fs = collector.collect()

    if not fs:
        raise RuntimeError("Failed to collect files from " + listfile)

    pkgdata = P.PkgData(opts, fs)

    bcls = Backends.map().get(opts.driver)
    backend = bcls(pkgdata)
    rc = backend.run()

    return rc
Exemplo n.º 3
0
    def test_05_parse_args_w_name_and_filelist_and_driver(self):
        name = "foo"
        driver = random.choice(
            [b for b in Backends.map().keys() if b != Backends.default()]
        )

        o = O.Options()
        (opts, args) = o.parse_args(
            ["-n", name, "--driver", driver, "dummy_filelist.txt"]
        )
        self.assertEquals(opts.driver, driver)
Exemplo n.º 4
0
def get_backend_obj(workdir, listfile, step="build", format="tgz"):
    tmplpath = os.path.join(TOPDIR, "templates")

    btype = "buildrpm.%s" % format

    args = "-n foo -w %s --template-path %s -v" % (workdir, tmplpath)
    args += " --driver %s --stepto %s %s" % (btype, step, listfile)

    pkgdata = TC.init_pkgdata(args)

    bcls = Registry.map().get(btype)
    backend = bcls(pkgdata)

    return backend
Exemplo n.º 5
0
    def __init__(self, workdir, listfile, step=STEP_BUILD, btype="autotools.single.tgz"):
        """
        Initialize backend object.
        """
        self.workdir = workdir
        self.listfile = listfile
        self.step = step

        tmplpath = os.path.join(TOPDIR, "templates")

        args = "-n foo -w %s --template-path %s -v" % (workdir, tmplpath)
        args += " --driver %s --stepto %s %s" % (btype, step, listfile)

        pkgdata = init_pkgdata(args)

        bcls = Registry.map().get(btype)
        self.backend = bcls(pkgdata)