MiddleArch/main.py

44 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
import logging
import requests as r
from utils import *
ARCH = "x86_64"
def main():
packages = load_config()
clean_directories()
# Manage each package
for p in packages:
# Retreive tag to apply
if 'tag' in p:
logging.debug(f"{p['name']} forced to {p['tag']}")
elif 'repo' in p:
p['tag'] = get_tags_from_git(p['repo'])
else:
p['tag'] = get_package_version(p['name'], ARCH)
# Retreive current package version
current_tag = get_package_version(p['name'], ARCH)
# Check if update is required
if p['tag'] != current_tag:
logging.info(f"{p['name']} will be updated: {current_tag}{p['tag']}")
render_pkgbuild(p['name'], p['tag'])
else:
tarball, url = get_package_tarball(p['name'], ARCH)
logging.info(f"{p['name']} will be retreived from {url}")
content = r.get(url).content
with open(f"packages/{tarball}", "wb") as file:
file.write(content)
if __name__ == "__main__":
logging.basicConfig(format="[%(asctime)s] %(levelname)s (%(filename)s.%(funcName)s): %(message)s",
level=logging.INFO)
main()