From f9c4c5e7c21abebd387d0bf1c5efd3e7d3dbc372 Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Mon, 18 Sep 2023 01:00:29 -0700 Subject: [PATCH 1/4] actions: register qemu with capability binfmt flag problem: Arm64 container build still running into issues even avoiding sudo in the docker container, it's hiding in check run, Debian-based distributions by default register binfmt_misc loaders without support for setuid propagating into the container solution: This adds the `--credential` argument to the script in the container, and strips out the github actions indirection so we can maintain it. This should change the flags from F to OC or OCF, either should allow the setuid of the sudo binary to be preserved --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5f1172c1..136479ad7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -123,9 +123,9 @@ jobs: uses: docker/setup-buildx-action@v2 if: matrix.needs_buildx - - uses: dbhi/qus/action@main - with: - targets: aarch64 + - name: setup qemu-user-static + run: | + docker run --rm --privileged aptman/qus -s -- -p --credential aarch64 - name: docker-run-checks env: ${{matrix.env}} From b1eac55f47009cd1064466e2aa2144eb9a187d8d Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Mon, 18 Sep 2023 01:39:36 -0700 Subject: [PATCH 2/4] cmake: add support for systemdsystemunitdir I have no idea how I missed this: problem: install-only builds passed `--with-systemdsystemunitdir` which was not supported in the cmake wrapper and caused a failure solution: add support for accepting the option. It currently doesn't *do* anything, but it's pulled in at least so we can use it when and if we want to. --- .configure-custom.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.configure-custom.sh b/.configure-custom.sh index 58b47c8fb..5ce15f781 100755 --- a/.configure-custom.sh +++ b/.configure-custom.sh @@ -5,3 +5,5 @@ DISABLE_VARS="docs|Off|ENABLE_DOCS" ENABLE_ENABLE_COVERAGE_DOC="enable coverage analysis" ENABLE_ENABLE_DOCS_DOC="enable building manpages" ENABLE_DISABLE_DOCS_DOC="disable building manpages" +WITH_VARS="systemdsystemunitdir|/etc/systemd/system|FLUX_SYSTEMD_SYSTEM_UNIT_DIR" +WITH_FLUX_SYSTEMD_SYSTEM_UNIT_DIR_DOC="systemd system directory" From 6c8eafa9adee207ff85b6775b1469b44d8e51f05 Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Mon, 18 Sep 2023 01:45:51 -0700 Subject: [PATCH 3/4] run-checks: stop passing flux-security and caliper Problem: much like systemdsystemunitdir, we don't support flux-security and caliper arguments to cmake, unlike systemdunitdir I don't see these being useful since we need to match upstream flux-core Solution: remove the flags from docker-run-checks.sh --- src/test/docker/docker-run-checks.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/docker/docker-run-checks.sh b/src/test/docker/docker-run-checks.sh index fc9587917..07077b869 100755 --- a/src/test/docker/docker-run-checks.sh +++ b/src/test/docker/docker-run-checks.sh @@ -185,9 +185,7 @@ if [[ "$INSTALL_ONLY" == "t" ]]; then sh -c "./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc \ --with-systemdsystemunitdir=/etc/systemd/system \ - --localstatedir=/var \ - --with-flux-security \ - --enable-caliper && + --localstatedir=/var && make clean && make -j${JOBS}" RC=$? From b40f2ba7a37e4cd328ec2be13eb2df7cd1f7eabc Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Mon, 18 Sep 2023 03:28:31 -0700 Subject: [PATCH 4/4] rtd: add new required build.os key Problem: RTD decided to require a new key to define the container, see this post: https://blog.readthedocs.com/use-build-os-config/ Solution: add keys to say we want jammy and python 3.10 to appease the yaml demons --- .readthedocs.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7d293e8ed..d507e210d 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,3 +9,9 @@ sphinx: python: install: - requirements: doc/requirements.txt +build: + os: ubuntu-22.04 + tools: + python: "3.10" + +