From 158bdad40bf9b4ed8878fb6991cd5e66b4cd91fb Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sun, 8 Aug 2021 13:15:48 +0200 Subject: [PATCH] Fix location of local etc and bin files --- Dockerfile | 6 +----- chroot.py | 10 +++++----- image.py | 3 ++- {bin => local/bin}/pacman_aarch64 | 0 local/bin/strip | 1 + {src => local/etc}/makepkg.conf | 0 {src => local/etc}/pacman.conf | 0 {src => local}/update-pacman-files.sh | 26 +++++++++++++------------- packages.py | 18 ++++++++++-------- 9 files changed, 32 insertions(+), 32 deletions(-) rename {bin => local/bin}/pacman_aarch64 (100%) create mode 120000 local/bin/strip rename {src => local/etc}/makepkg.conf (100%) rename {src => local/etc}/pacman.conf (100%) rename {src => local}/update-pacman-files.sh (54%) diff --git a/Dockerfile b/Dockerfile index fb5c1a9..ab769ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,14 +18,10 @@ RUN cd /tmp && \ RUN yes | pacman -Scc RUN sed -i "s/SigLevel.*/SigLevel = Never/g" /etc/pacman.conf -RUN mkdir -p /app/bin -RUN ln -sf $(which aarch64-linux-gnu-strip) /app/bin/strip - -RUN systemd-machine-id-setup ENV KUPFERBOOTSTRAP_DOCKER=1 +ENV PATH=/app/bin:/app/local/bin:$PATH WORKDIR /app -ENV PATH=/app/bin:$PATH COPY requirements.txt . RUN pip install -r requirements.txt diff --git a/chroot.py b/chroot.py index c8335d9..d9fb6c9 100644 --- a/chroot.py +++ b/chroot.py @@ -3,8 +3,9 @@ import subprocess import os import shutil -def create_chroot(chroot_path, packages=['base'], pacman_conf='/app/src/pacman.conf', chroot_base_path='/chroot', extra_repos={}): - pacman_conf_target=chroot_path+'/etc/pacman.conf' + +def create_chroot(chroot_path, packages=['base'], pacman_conf='/app/local/etc/pacman.conf', chroot_base_path='/chroot', extra_repos={}): + pacman_conf_target = chroot_path+'/etc/pacman.conf' os.makedirs(chroot_path+'/etc', exist_ok=True) shutil.copyfile(pacman_conf, pacman_conf_target) @@ -12,11 +13,11 @@ def create_chroot(chroot_path, packages=['base'], pacman_conf='/app/src/pacman.c extra_conf = '' for repo_name, repo_options in extra_repos.items(): extra_conf += f'\n\n[{repo_name}]\n' - extra_conf += '\n'.join(['%s = %s' % (name,value) for name,value in repo_options.items()]) + extra_conf += '\n'.join(['%s = %s' % (name, value) + for name, value in repo_options.items()]) with open(pacman_conf_target, 'a') as file: file.write(extra_conf) - result = subprocess.run(['pacstrap', '-C', pacman_conf_target, '-c', @@ -48,4 +49,3 @@ def create_chroot(chroot_path, packages=['base'], pacman_conf='/app/src/pacman.c if result.returncode != 0: logging.fatal('Failed to setup user') exit(1) - diff --git a/image.py b/image.py index 4cf8899..ced48e6 100644 --- a/image.py +++ b/image.py @@ -134,7 +134,8 @@ def cmd_build(verbose): rootfs_mount = mount_rootfs_image(image_name) - create_chroot(rootfs_mount, packages=(['base','base-kupfer'] + devices[device] + flavours[flavour]), pacman_conf='/app/src/pacman.conf', extra_repos={'main': {'Server': 'https://gitlab.com/kupfer/packages/prebuilts/-/raw/main/$repo'}, 'device': {'Server': 'https://gitlab.com/kupfer/packages/prebuilts/-/raw/main/$repo'}}) + create_chroot(rootfs_mount, packages=(['base', 'base-kupfer'] + devices[device] + flavours[flavour]), pacman_conf='/app/local/etc/pacman.conf', extra_repos={'main': { + 'Server': 'https://gitlab.com/kupfer/packages/prebuilts/-/raw/main/$repo'}, 'device': {'Server': 'https://gitlab.com/kupfer/packages/prebuilts/-/raw/main/$repo'}}) """ diff --git a/bin/pacman_aarch64 b/local/bin/pacman_aarch64 similarity index 100% rename from bin/pacman_aarch64 rename to local/bin/pacman_aarch64 diff --git a/local/bin/strip b/local/bin/strip new file mode 120000 index 0000000..9df6099 --- /dev/null +++ b/local/bin/strip @@ -0,0 +1 @@ +/usr/bin/aarch64-linux-gnu-strip \ No newline at end of file diff --git a/src/makepkg.conf b/local/etc/makepkg.conf similarity index 100% rename from src/makepkg.conf rename to local/etc/makepkg.conf diff --git a/src/pacman.conf b/local/etc/pacman.conf similarity index 100% rename from src/pacman.conf rename to local/etc/pacman.conf diff --git a/src/update-pacman-files.sh b/local/update-pacman-files.sh similarity index 54% rename from src/update-pacman-files.sh rename to local/update-pacman-files.sh index 143a86e..b6b6817 100755 --- a/src/update-pacman-files.sh +++ b/local/update-pacman-files.sh @@ -1,17 +1,17 @@ #!/bin/sh set -e -wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/core/pacman/makepkg.conf -O makepkg.conf -sed -i "s/@CARCH@/aarch64/g" makepkg.conf -sed -i "s/@CHOST@/aarch64-unknown-linux-gnu/g" makepkg.conf -sed -i "s/@CARCHFLAGS@/-march=armv8-a /g" makepkg.conf -sed -i "s/xz /xz -T0 /g" makepkg.conf -sed -i "s/ check / !check /g" makepkg.conf +wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/core/pacman/makepkg.conf -O etc/makepkg.conf +sed -i "s/@CARCH@/aarch64/g" etc/makepkg.conf +sed -i "s/@CHOST@/aarch64-unknown-linux-gnu/g" etc/makepkg.conf +sed -i "s/@CARCHFLAGS@/-march=armv8-a /g" etc/makepkg.conf +sed -i "s/xz /xz -T0 /g" etc/makepkg.conf +sed -i "s/ check / !check /g" etc/makepkg.conf chroot="/chroot/copy" include="-I\${CROOT}/usr/include -I$chroot/usr/include" lib_croot="\${CROOT}/lib" lib_chroot="$chroot/usr/lib" -cat >>makepkg.conf <>etc/makepkg.conf <