34 lines
978 B
Python
34 lines
978 B
Python
#!/usr/bin/env python3
|
|
|
|
import argparse, logging
|
|
import os.path as path
|
|
|
|
from .chroot import Chroot
|
|
from .config import Config
|
|
from .package import Package
|
|
from .repository import Repository
|
|
|
|
|
|
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)
|
|
|
|
for package in packages:
|
|
if package.build:
|
|
package.render_pkgbuild(config)
|
|
chroot.makepkg(package)
|