WIP: removed Docker, better module architecture

This commit is contained in:
Darks 2021-07-05 00:12:26 +02:00
parent e19d5aebb4
commit cb2fc1c3ac
Signed by: Darks
GPG Key ID: 7515644268BE1433
7 changed files with 31 additions and 44 deletions

View File

@ -1,24 +0,0 @@
FROM archlinux:base-devel
RUN pacman-key --init && \
pacman -Syu --noconfirm git
ADD packages /tmp/packages
ADD pkgbuilds /tmp/pkgbuilds
ADD scripts/build.sh /tmp
ADD scripts/run.sh /tmp
RUN chmod +x /tmp/build.sh && \
chmod +x /tmp/run.sh && \
chmod -R 777 /tmp/pkgbuilds && \
/tmp/run.sh && \
echo "Build completed!"
WORKDIR /tmp/gintctl
ENTRYPOINT git clone https://gitea.planet-casio.com/Lephenixnoir/gintctl.git . && \
fxsdk build-cg && \
fxsdk build-fx && \
cp /tmp/pkgbuilds/**/*.pkg.* /mnt/output/ && \
cp /tmp/packages/* /mnt/output/ && \
echo "Build completed!"

View File

@ -8,7 +8,7 @@ from utils import *
def main(arch):
packages = load_config()
clean_directories()
init_directories()
commands = []
diffs = 0
@ -51,7 +51,7 @@ def main(arch):
logging.info("no updates planned")
sys.exit(0)
docker_build()
# docker_build()
os.popen(f"rsync output/*.pkg.* khazad-dum:/var/lib/nginx/http/arch.middleearth.fr/{arch}/")
@ -64,8 +64,9 @@ def main(arch):
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Build some packages.')
parser.add_argument('-c', '--config-dir', default="/home/eldeberen/Programmation/MiddleArch/")
parser.add_argument('--arch', default="x86_64", help='target architecture')
parser.add_argument('--logs', default="/tmp", help='logs destination')
parser.add_argument('--logs', default="/tmp", help='logs destination') # TODO: add clean path filter
args = parser.parse_args()

13
middlearch/__main__.py Normal file
View File

@ -0,0 +1,13 @@
#!/usr/bin/env python3
import argparse
parser = argparse.ArgumentParser(description='Build some packages.')
parser.add_argument('-c', '--config-dir',
default="/home/eldeberen/Programmation/MiddleArch/",
help="configuration directory")
parser.add_argument('--arch', default="x86_64", help='target architecture')
parser.add_argument('--logs', default="/tmp", help='logs destination') # TODO: add clean path filter
args = parser.parse_args()

View File

View File

@ -0,0 +1,13 @@
import logging
import os, shutil
import yaml
def load_config(path="packages.yaml"):
with open(path) as file:
packages = yaml.load(file, Loader=yaml.SafeLoader)
logging.info(f"{len(packages)} packages loaded")
logging.debug(", ".join([p['name'] for p in packages]))
return packages

View File

@ -1,5 +1,4 @@
from .config import load_config, clean_directories
from .docker import docker_build
from .config import load_config, init_directories
from .git import get_tags_from_git
from .middlearch import get_package_version, get_package_tarball
from .pkgbuild import render_pkgbuild

View File

@ -1,15 +0,0 @@
import logging
import os
def docker_build():
def run(cmd, quiet=True):
r = os.popen(cmd + " 2>&1").read()
if not "Build completed!" in r:
logging.error(r)
logging.error("toolchain build failed")
exit(1)
if not quiet:
logging.info(r)
run(f"sudo docker build . -t middlearch/ci")
run(f"sudo docker run -i --mount type=bind,src=/home/eldeberen/Programmation/Casio/MiddleArch/output,dst=/mnt/output middlearch/ci", quiet=False)