Compare commits

...

6 commits

Author SHA1 Message Date
574763abba
fix 2024-12-17 21:08:26 +01:00
ff74c3de01
Fix 2024-12-17 21:01:36 +01:00
6ea45868db
Migrate CI to forgejo 2024-12-17 20:02:35 +01:00
sven-ernw
ab7a02f0dd
Merge pull request from ttdennis/socat-ppc
Socat powerpc and powerpc64 builds
2023-06-09 17:30:23 +02:00
Dennis Heinze
b322d1b36c Socat ppc and ppc64 build 2023-05-26 09:24:40 +02:00
Dennis Heinze
44979a9703 Start ppc implementation 2023-05-26 09:24:23 +02:00
9 changed files with 123 additions and 22 deletions

View file

@ -4,16 +4,20 @@ on:
jobs: jobs:
build-x86: build-x86:
name: Build socat x86 name: Build socat x86
runs-on: ubuntu-latest runs-on: docker
container: muslcc/x86_64:i686-linux-musl container:
image: muslcc/x86_64:i686-linux-musl
outputs: outputs:
version: ${{ steps.build_socat.outputs.PACKAGED_VERSION }} version: "${{ steps.build_socat.outputs.PACKAGED_VERSION }}"
steps: steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install dependencies - name: Install dependencies
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh 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: Install testing dependencies - name: Install testing dependencies
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
@ -23,18 +27,27 @@ jobs:
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86 run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v2 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}
build-x86_64: build-x86_64:
name: Build socat x86_64 name: Build socat x86_64
runs-on: ubuntu-latest runs-on: docker
container: muslcc/x86_64:x86_64-linux-musl container: muslcc/x86_64:x86_64-linux-musl
steps: steps:
- name: Install dependencies
run: sudo apk update && sudo apk add bash nodejs git-lfs
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Install build dependencies
run: sudo bash build/install_deps_alpine.sh
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh
@ -47,18 +60,18 @@ jobs:
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64 run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v2 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}
build-armhf: build-armhf:
name: Build socat ARMHF name: Build socat ARMHF
runs-on: ubuntu-latest runs-on: docker
container: muslcc/x86_64:arm-linux-musleabihf container: muslcc/x86_64:arm-linux-musleabihf
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh
@ -79,18 +92,18 @@ jobs:
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh armhf run: $GITHUB_WORKSPACE/build/targets/build_socat.sh armhf
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v2 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}
build-aarch64: build-aarch64:
name: Build socat AARCH64 name: Build socat AARCH64
runs-on: ubuntu-latest runs-on: docker
container: muslcc/x86_64:aarch64-linux-musl container: muslcc/x86_64:aarch64-linux-musl
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh
@ -111,24 +124,88 @@ jobs:
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh aarch64 run: $GITHUB_WORKSPACE/build/targets/build_socat.sh aarch64
- name: Upload artifacts - 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: docker
container: muslcc/x86_64:powerpc-linux-musl
steps:
- 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 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: 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: docker
container: muslcc/x86_64:powerpc64-linux-musl
steps:
- 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 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: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}
create-release: create-release:
name: Create socat Release name: Create socat Release
runs-on: ubuntu-latest runs-on: docker
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: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Prepare Environment - name: Prepare Environment
run: mkdir /tmp/releases run: mkdir /tmp/releases
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v2 uses: https://code.forgejo.org/forgejo/download-artifact@v4
with: with:
path: /tmp/releases path: /tmp/releases

View file

@ -13,6 +13,8 @@ apk add \
libtool \ libtool \
qemu-arm \ qemu-arm \
qemu-aarch64 \ qemu-aarch64 \
qemu-ppc \
qemu-ppc64 \
file \ file \
texinfo \ texinfo \
zip \ zip \

View file

@ -47,6 +47,10 @@ get_host_triple(){
host="arm-linux-musleabihf" host="arm-linux-musleabihf"
elif [ "$CURRENT_ARCH" == "aarch64" ];then elif [ "$CURRENT_ARCH" == "aarch64" ];then
host="aarch64-linux-musl" host="aarch64-linux-musl"
elif [ "$CURRENT_ARCH" == "ppc32" ];then
host="powerpc-linux-musl"
elif [ "$CURRENT_ARCH" == "ppc64" ];then
host="powerpc64-linux-musl"
fi fi
echo $host echo $host
} }
@ -145,6 +149,20 @@ get_version(){
else else
echo "qemu-aarch64 not found, skipping AARCH64 version checks." >&2 echo "qemu-aarch64 not found, skipping AARCH64 version checks." >&2
fi 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 else
version+=$(eval "$cmd") version+=$(eval "$cmd")
fi fi
@ -214,6 +232,10 @@ lib_build_openssl(){
openssl_arch="linux-x86_64" openssl_arch="linux-x86_64"
elif [ "${CURRENT_ARCH}" == "aarch64" ];then elif [ "${CURRENT_ARCH}" == "aarch64" ];then
openssl_arch="linux-generic64" openssl_arch="linux-generic64"
elif [ "${CURRENT_ARCH}" == "ppc32" ];then
openssl_arch="linux-ppc"
elif [ "${CURRENT_ARCH}" == "ppc64" ];then
openssl_arch="linux-ppc"
fi fi
CFLAGS="${GCC_OPTS}" \ CFLAGS="${GCC_OPTS}" \
./Configure \ ./Configure \

View file

@ -4,7 +4,7 @@ if [ -z "$GITHUB_WORKSPACE" ];then
exit 1 exit 1
fi fi
if [ "$#" -ne 1 ];then 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" echo "Example: ${0} x86_64"
exit 1 exit 1
fi fi