MiddleArch/middlearch/__main__.py

41 lines
1.1 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python3
2022-01-12 21:46:59 +01:00
import argparse, logging, os, shutil
import os.path as path
2021-08-31 00:11:27 +02:00
2022-01-12 01:07:56 +01:00
from .chroot import Chroot
from .config import Config
from .package import Package
from .repository import Repository
2022-01-12 21:46:59 +01:00
from .sync import sync
parser = argparse.ArgumentParser(description='Build some packages.')
2021-08-31 00:11:27 +02:00
parser.add_argument('-c', '--config', dest='config_dir',
default="/etc/middlearch",
help="configuration directory")
2021-08-31 00:11:27 +02:00
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)])
2021-08-31 00:11:27 +02:00
config = Config(args.config_dir)
repository = Repository(**config.get('repo'))
2022-01-12 01:07:56 +01:00
packages = Package.load(config, repository)
chroot = Chroot(config, True)
2022-01-12 21:46:59 +01:00
clean = True
2021-08-31 00:11:27 +02:00
for package in packages:
2022-01-12 01:07:56 +01:00
if package.build:
package.render_pkgbuild(config)
2022-01-12 21:46:59 +01:00
chroot.makepkg(package, clean)
clean = False
if package.ignore:
shutil.rmtree(path.join(config.get('output'), package.name))
sync(config)