From 44979a970308679f363a7e1a153851acee29a2fe Mon Sep 17 00:00:00 2001 From: Dennis Heinze <ttdennis@users.noreply.github.com> Date: Thu, 25 May 2023 08:21:08 +0200 Subject: [PATCH 1/5] Start ppc implementation --- .github/workflows/build-socat.yml | 70 ++++++++++++++++++++++++++++++- build/install_deps_alpine.sh | 2 + build/lib.sh | 22 ++++++++++ build/targets/build_socat.sh | 2 +- 4 files changed, 93 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-socat.yml b/.github/workflows/build-socat.yml index feef419..882a1a2 100644 --- a/.github/workflows/build-socat.yml +++ b/.github/workflows/build-socat.yml @@ -1,6 +1,8 @@ name: socat on: - workflow_dispatch + push: + branches: + - socat-ppc jobs: build-x86: name: Build socat x86 @@ -116,10 +118,74 @@ jobs: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} + build-ppc32: + name: Build socat powerpc32 + runs-on: ubuntu-latest + container: muslcc/x86_64:powerpc-linux-musl + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install dependencies + run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh + + - name: Install testing dependencies + run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl + + - name: Install build compiler + run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross" + env: + ARCH: x86_64-linux-musl + HOST: http://musl.cc/ + TEMP: /tmp + USER: 0 + + - name: Build socat + id: build_socat + run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc32 + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} + path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} + + build-ppc64: + name: Build socat powerpc64 + runs-on: ubuntu-latest + container: muslcc/x86_64:powerpc64-linux-musl + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install dependencies + run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh + + - name: Install testing dependencies + run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl + + - name: Install build compiler + run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross" + env: + ARCH: x86_64-linux-musl + HOST: http://musl.cc/ + TEMP: /tmp + USER: 0 + + - name: Build socat + id: build_socat + run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc64 + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} + path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} + create-release: name: Create socat Release runs-on: ubuntu-latest - needs: [build-x86, build-x86_64, build-armhf, build-aarch64] + needs: [build-x86, build-x86_64, build-armhf, build-aarch64, build-ppc32, build-ppc64] steps: - name: Checkout uses: actions/checkout@v2 diff --git a/build/install_deps_alpine.sh b/build/install_deps_alpine.sh index 3f916b0..15b52b7 100755 --- a/build/install_deps_alpine.sh +++ b/build/install_deps_alpine.sh @@ -13,6 +13,8 @@ apk add \ libtool \ qemu-arm \ qemu-aarch64 \ + qemu-ppc \ + qemu-ppc64 \ file \ texinfo \ zip \ diff --git a/build/lib.sh b/build/lib.sh index 8107faa..3d09984 100755 --- a/build/lib.sh +++ b/build/lib.sh @@ -47,6 +47,10 @@ get_host_triple(){ host="arm-linux-musleabihf" elif [ "$CURRENT_ARCH" == "aarch64" ];then host="aarch64-linux-musl" + elif [ "$CURRENT_ARCH" == "ppc32" ];then + host="powerpc-linux-musl" + elif [ "$CURRENT_ARCH" == "ppc64" ];then + host="powerpc64-linux-musl" fi echo $host } @@ -145,6 +149,20 @@ get_version(){ else echo "qemu-aarch64 not found, skipping AARCH64 version checks." >&2 fi + elif [ "$CURRENT_ARCH" == "ppc32" ];then + if which qemu-ppc 1>&2 2>/dev/null;then + cmd="qemu-ppc ${cmd}" + version+=$(eval "$cmd") + else + echo "qemu-ppc not found, skipping ppc32 version checks." >&2 + fi + elif [ "$CURRENT_ARCH" == "ppc64" ];then + if which qemu-ppc64 1>&2 2>/dev/null;then + cmd="qemu-ppc64 ${cmd}" + version+=$(eval "$cmd") + else + echo "qemu-ppc64 not found, skipping ppc64 version checks." >&2 + fi else version+=$(eval "$cmd") fi @@ -214,6 +232,10 @@ lib_build_openssl(){ openssl_arch="linux-x86_64" elif [ "${CURRENT_ARCH}" == "aarch64" ];then openssl_arch="linux-generic64" + elif [ "${CURRENT_ARCH}" == "ppc32" ];then + openssl_arch="linux-ppc" + elif [ "${CURRENT_ARCH}" == "ppc64" ];then + openssl_arch="linux-ppc" fi CFLAGS="${GCC_OPTS}" \ ./Configure \ diff --git a/build/targets/build_socat.sh b/build/targets/build_socat.sh index d09b841..5550a88 100755 --- a/build/targets/build_socat.sh +++ b/build/targets/build_socat.sh @@ -4,7 +4,7 @@ if [ -z "$GITHUB_WORKSPACE" ];then exit 1 fi if [ "$#" -ne 1 ];then - echo "Usage: ${0} [x86|x86_64|armhf|aarch64]" + echo "Usage: ${0} [x86|x86_64|armhf|aarch64|ppc32|ppc64]" echo "Example: ${0} x86_64" exit 1 fi From b322d1b36c556e57df7a5f6933b55063ca7460db Mon Sep 17 00:00:00 2001 From: Dennis Heinze <ttdennis@users.noreply.github.com> Date: Fri, 26 May 2023 09:17:44 +0200 Subject: [PATCH 2/5] Socat ppc and ppc64 build --- .github/workflows/build-socat.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build-socat.yml b/.github/workflows/build-socat.yml index 882a1a2..bee15b4 100644 --- a/.github/workflows/build-socat.yml +++ b/.github/workflows/build-socat.yml @@ -1,8 +1,6 @@ name: socat on: - push: - branches: - - socat-ppc + workflow_dispatch jobs: build-x86: name: Build socat x86 From 6ea45868db55f33969b5f227a0279edbb6f2428b Mon Sep 17 00:00:00 2001 From: Benjamin Collet <benjamin@collet.eu> Date: Tue, 17 Dec 2024 20:02:35 +0100 Subject: [PATCH 3/5] Migrate CI to forgejo --- {.github => .forgejo}/workflows/build-gdb.yml | 0 .../workflows/build-nmap.yml | 0 .../workflows/build-openssh.yml | 0 .../workflows/build-socat.yml | 42 +++++++++---------- .../workflows/build-strace.yml | 0 .../workflows/build-tcpdump.yml | 0 6 files changed, 21 insertions(+), 21 deletions(-) rename {.github => .forgejo}/workflows/build-gdb.yml (100%) rename {.github => .forgejo}/workflows/build-nmap.yml (100%) rename {.github => .forgejo}/workflows/build-openssh.yml (100%) rename {.github => .forgejo}/workflows/build-socat.yml (89%) rename {.github => .forgejo}/workflows/build-strace.yml (100%) rename {.github => .forgejo}/workflows/build-tcpdump.yml (100%) diff --git a/.github/workflows/build-gdb.yml b/.forgejo/workflows/build-gdb.yml similarity index 100% rename from .github/workflows/build-gdb.yml rename to .forgejo/workflows/build-gdb.yml diff --git a/.github/workflows/build-nmap.yml b/.forgejo/workflows/build-nmap.yml similarity index 100% rename from .github/workflows/build-nmap.yml rename to .forgejo/workflows/build-nmap.yml diff --git a/.github/workflows/build-openssh.yml b/.forgejo/workflows/build-openssh.yml similarity index 100% rename from .github/workflows/build-openssh.yml rename to .forgejo/workflows/build-openssh.yml diff --git a/.github/workflows/build-socat.yml b/.forgejo/workflows/build-socat.yml similarity index 89% rename from .github/workflows/build-socat.yml rename to .forgejo/workflows/build-socat.yml index bee15b4..b23beea 100644 --- a/.github/workflows/build-socat.yml +++ b/.forgejo/workflows/build-socat.yml @@ -4,13 +4,13 @@ on: jobs: build-x86: name: Build socat x86 - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:i686-linux-musl outputs: version: ${{ steps.build_socat.outputs.PACKAGED_VERSION }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -23,18 +23,18 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86 - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} build-x86_64: name: Build socat x86_64 - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:x86_64-linux-musl steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -47,18 +47,18 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64 - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} build-armhf: name: Build socat ARMHF - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:arm-linux-musleabihf steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -79,18 +79,18 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh armhf - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} build-aarch64: name: Build socat AARCH64 - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:aarch64-linux-musl steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -111,18 +111,18 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh aarch64 - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} build-ppc32: name: Build socat powerpc32 - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:powerpc-linux-musl steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -143,18 +143,18 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc32 - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} build-ppc64: name: Build socat powerpc64 - runs-on: ubuntu-latest + runs-on: docker container: muslcc/x86_64:powerpc64-linux-musl steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh @@ -175,24 +175,24 @@ jobs: run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc64 - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} create-release: name: Create socat Release - runs-on: ubuntu-latest + runs-on: docker needs: [build-x86, build-x86_64, build-armhf, build-aarch64, build-ppc32, build-ppc64] steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Prepare Environment run: mkdir /tmp/releases - name: Download Artifacts - uses: actions/download-artifact@v2 + uses: https://code.forgejo.org/forgejo/download-artifact@v4 with: path: /tmp/releases diff --git a/.github/workflows/build-strace.yml b/.forgejo/workflows/build-strace.yml similarity index 100% rename from .github/workflows/build-strace.yml rename to .forgejo/workflows/build-strace.yml diff --git a/.github/workflows/build-tcpdump.yml b/.forgejo/workflows/build-tcpdump.yml similarity index 100% rename from .github/workflows/build-tcpdump.yml rename to .forgejo/workflows/build-tcpdump.yml From ff74c3de0148b660651cf4e61c7c5889e57315a5 Mon Sep 17 00:00:00 2001 From: Benjamin Collet <benjamin@collet.eu> Date: Tue, 17 Dec 2024 21:01:36 +0100 Subject: [PATCH 4/5] Fix --- .forgejo/workflows/build-socat.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build-socat.yml b/.forgejo/workflows/build-socat.yml index b23beea..090760e 100644 --- a/.forgejo/workflows/build-socat.yml +++ b/.forgejo/workflows/build-socat.yml @@ -7,13 +7,16 @@ jobs: runs-on: docker container: muslcc/x86_64:i686-linux-musl outputs: - version: ${{ steps.build_socat.outputs.PACKAGED_VERSION }} + version: "${{ steps.build_socat.outputs.PACKAGED_VERSION }}" steps: + - name: Install dependencies + run: sudo apk update && sudo apk add bash nodejs git-lfs + - name: Checkout uses: actions/checkout@v4 - - name: Install dependencies - run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh + - name: Install build dependencies + run: sudo bash build/install_deps_alpine.sh - name: Install testing dependencies run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl @@ -33,6 +36,15 @@ jobs: runs-on: docker container: muslcc/x86_64:x86_64-linux-musl steps: + - name: Install dependencies + run: sudo apk update && sudo apk add bash nodejs git-lfs + + - name: Checkout + uses: actions/checkout@v4 + + - name: Install build dependencies + run: sudo bash build/install_deps_alpine.sh + - name: Checkout uses: actions/checkout@v4 From 574763abbaf7721de322cbb7eb1a0cd2aecf687e Mon Sep 17 00:00:00 2001 From: Benjamin Collet <benjamin@collet.eu> Date: Tue, 17 Dec 2024 21:08:26 +0100 Subject: [PATCH 5/5] fix --- .forgejo/workflows/build-socat.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-socat.yml b/.forgejo/workflows/build-socat.yml index 090760e..6113268 100644 --- a/.forgejo/workflows/build-socat.yml +++ b/.forgejo/workflows/build-socat.yml @@ -5,7 +5,8 @@ jobs: build-x86: name: Build socat x86 runs-on: docker - container: muslcc/x86_64:i686-linux-musl + container: + image: muslcc/x86_64:i686-linux-musl outputs: version: "${{ steps.build_socat.outputs.PACKAGED_VERSION }}" steps: