MiddleArch/middlearch/__main__.py

41 lines
1.1 KiB
Python

#!/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)