diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b6c1f48..27a6ae4 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -11,7 +11,7 @@ jobs: almalinux, amazonlinux, centos, centos8, fedora, mageia, opensuse, oraclelinux, rockylinux, - archlinux, gentoo] # void-linux + archlinux, gentoo, manjarolinux] # void-linux # redhat, cbl-mariner, chimeralinux uses: takano32/build-kernel/.github/workflows/build.yml@master with: diff --git a/docker-compose.yml b/docker-compose.yml index 4cc6192..ba66048 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -114,4 +114,10 @@ services: dockerfile: ./cbl-mariner/Dockerfile ports: - 8019:8000 + manjarolinux: + build: + context: . + dockerfile: ./manjarolinux/Dockerfile + ports: + - 8020:8000 diff --git a/manjarolinux/Dockerfile b/manjarolinux/Dockerfile new file mode 100644 index 0000000..71e51e7 --- /dev/null +++ b/manjarolinux/Dockerfile @@ -0,0 +1,23 @@ +FROM manjarolinux/base:latest +LABEL maintainer "TAKANO Mitsuhiro " + +RUN pacman-db-upgrade +RUN pacman -Syyu --noconfirm + +RUN pacman -Syy --noconfirm git +RUN pacman -Syy --noconfirm asp base-devel +RUN pacman -Syy --noconfirm pacman-contrib +RUN pacman -Scc + +RUN useradd takano32 +RUN mkdir /build-kernel +RUN mkdir /home/takano32 +RUN chown -R takano32.takano32 /build-kernel /home/takano32 +RUN echo "takano32 ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/takano32 +ENV SUDO="sudo -u takano32" + +COPY ./manjarolinux/entrypoint.sh / +RUN chmod 755 /entrypoint.sh +EXPOSE 8000 +ENTRYPOINT ["/entrypoint.sh"] + diff --git a/manjarolinux/entrypoint.sh b/manjarolinux/entrypoint.sh new file mode 100644 index 0000000..068298c --- /dev/null +++ b/manjarolinux/entrypoint.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -eux + +BUILD_DIR=/build-kernel/build +SUDO="sudo -u takano32" + +mkdir -p $BUILD_DIR +chown -R takano32:takano32 $BUILD_DIR +cd $BUILD_DIR +$SUDO asp update linux +$SUDO asp export linux + +cd $BUILD_DIR/linux +$SUDO updpkgsums && yes | $SUDO makepkg -seo +$SUDO git config --global http.version HTTP/1.1 +$SUDO git config --global http.postBuffer 524288000 +while :; do $SUDO makepkg -o --skippgpcheck && break || sleep 5; done + +# `makepkg` in `$BUILD_DIR/linux` +JOBS=$(getconf _NPROCESSORS_ONLN) +JOBS=$(expr "$JOBS" + "$JOBS") +MAKEFLAGS="-j$(JOBS)" +$SUDO bash -c "MAKEFLAGS=$MAKEFLAGS makepkg --skippgpcheck" + +cd $BUILD_DIR +mv linux/src/archlinux-linux/Documentation/output ../htmldocs +mkdir /build-kernel/zst-pkg +mv linux/*.zst ../zst-pkg +cd .. + +if ! "$CI"; then + python3 -m http.server +fi +