#!/usr/bin/env python3 import argparse, logging, os, shutil import os.path as path from .chroot import Chroot from .config import Config from .package import Package from .repository import Repository from .sync import sync parser = argparse.ArgumentParser(description='Build some packages.') parser.add_argument('-c', '--config', dest='config_dir', default="/etc/middlearch", help="configuration directory") parser.add_argument('-v', '--verbose', action='count', default=0) args = parser.parse_args() verbosities = [logging.WARNING, logging.INFO, logging.DEBUG] logging.basicConfig(format="[%(asctime)s] %(levelname)s (%(filename)s.%(funcName)s): %(message)s", level=verbosities[min(args.verbose, len(verbosities)-1)]) config = Config(args.config_dir) repository = Repository(**config.get('repo')) packages = Package.load(config, repository) chroot = Chroot(config, True) clean = True for package in packages: if package.build: package.render_pkgbuild(config) chroot.makepkg(package, clean) clean = False if package.ignore: shutil.rmtree(path.join(config.get('output'), package.name)) sync(config)