Skip to content

Commit 51f99dd

Browse files
committed
Merge branch 'maintenance/gha-qemu-armv7l-v2' into devel
2 parents 18332e6 + e2931a5 commit 51f99dd

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

.github/workflows/build-manylinux-container-images.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,15 @@ jobs:
3838
- ARCH: ppc64le
3939
# Build containers for s390x
4040
- ARCH: s390x
41-
# There are no base containers for these archs
42-
# at https://quay.io/organization/pypa.
43-
# Build containers for armv7l (ARM v7)
44-
# - ARCH: armv7l
45-
# QEMU_ARCH: arm/v7
46-
# Build containers for ppc64
47-
# - ARCH: ppc64
4841
YEAR:
4942
- _2_24
5043
- _2_28
5144
- _2_34
45+
include:
46+
- IMAGE:
47+
ARCH: armv7l
48+
HOST_OS: ubuntu-24.04-arm
49+
YEAR: _2_31 # There are no base images prior to 2.31 for this arch
5250

5351
env:
5452
LIBSSH_VERSION: 0.11.1
@@ -78,7 +76,7 @@ jobs:
7876
Set up QEMU ${{ env.QEMU_ARCH }} arch emulation
7977
with Podman
8078
if: >-
81-
!contains(fromJSON('["aarch64", "amd64"]'), env.QEMU_ARCH)
79+
!contains(fromJSON('["aarch64", "amd64", "armv7l"]'), env.QEMU_ARCH)
8280
run: >
8381
sudo podman run
8482
--rm --privileged

build-scripts/manylinux-container-image/install_libssh.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ cmake "${LIB_CLONE_DIR}" \
104104
-DCLIENT_TESTING=OFF \
105105
-DSERVER_TESTING=OFF \
106106
-DUNIT_TESTING=OFF \
107+
-DWITH_EXAMPLES=OFF \
107108
-DWITH_GSSAPI=ON \
108109
-DWITH_SERVER=OFF \
109110
-DWITH_PCAP=OFF \

build-scripts/manylinux-container-image/install_openssl.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ BUILD_FLAGS="$OPENSSL_BUILD_FLAGS"
2121
if [[ "$1" =~ '^manylinux1_.*$' ]]; then
2222
PATH=/opt/perl/bin:$PATH
2323
fi
24+
# Can't use `$(uname -m) = "armv7l"` because that returns what kernel we're
25+
# using, and we build for armv7l with an ARM64 host.
26+
if [ "$(readelf -h /proc/self/exe | grep -o 'Machine:.* ARM')" ]; then
27+
BUILD_FLAGS="$OPENSSL_BUILD_FLAGS_ARMV7L"
28+
fi
2429
if [ "$(readelf -h /proc/self/exe | grep -o 'Machine:.* S/390')" ]; then
2530
BUILD_FLAGS="$OPENSSL_BUILD_FLAGS_S390X"
2631
export CFLAGS="$CFLAGS -march=z10"

build-scripts/manylinux-container-image/openssl-version.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ export OPENSSL_SHA256="344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885
33
# We need a base set of flags because on Windows using MSVC
44
# enable-ec_nistp_64_gcc_128 doesn't work since there's no 128-bit type
55
export OPENSSL_BUILD_FLAGS_WINDOWS="no-ssl3 no-ssl3-method no-zlib no-shared no-module no-comp no-dynamic-engine no-apps no-docs no-sm2-precomp no-atexit"
6+
export OPENSSL_BUILD_FLAGS_ARMV7L="linux-armv4 ${OPENSSL_BUILD_FLAGS_WINDOWS}"
67
export OPENSSL_BUILD_FLAGS_S390X="${OPENSSL_BUILD_FLAGS_WINDOWS}"
78
export OPENSSL_BUILD_FLAGS="${OPENSSL_BUILD_FLAGS_WINDOWS} enable-ec_nistp_64_gcc_128"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
The CI infrastructure now produces ``manylinux_2_31_armv7l`` base images
2+
with ``libssh`` and ``openssl`` pre-built -- by :user:`Jakuje` and
3+
:user:`webknjaz`.

0 commit comments

Comments
 (0)