Fix DNS uploads in Linux release builds

This commit is contained in:
2026-07-17 19:32:03 -05:00
parent e2b8887dd4
commit 7f33d448c7
3 changed files with 10 additions and 9 deletions
+4 -5
View File
@@ -86,7 +86,7 @@ jobs:
make -j3 build_sw make -j3 build_sw
make install_sw make install_sw
- name: Build static Linux executable - name: Build Linux executable with static OpenSSL
if: startsWith(matrix.target, 'linux-') if: startsWith(matrix.target, 'linux-')
run: | run: |
OPENSSL_LIBDIR="$(find "$GITHUB_WORKSPACE/openssl-static" -type f -name libssl.a -exec dirname {} \;)" OPENSSL_LIBDIR="$(find "$GITHUB_WORKSPACE/openssl-static" -type f -name libssl.a -exec dirname {} \;)"
@@ -96,11 +96,10 @@ jobs:
fi fi
make "${{ matrix.target }}" \ make "${{ matrix.target }}" \
TLS_CFLAGS="-I$GITHUB_WORKSPACE/openssl-static/include" \ TLS_CFLAGS="-I$GITHUB_WORKSPACE/openssl-static/include" \
TLS_LDLIBS="$OPENSSL_LIBDIR/libssl.a $OPENSSL_LIBDIR/libcrypto.a $EXTRA_STATIC_LIBS" \ TLS_LDLIBS="$OPENSSL_LIBDIR/libssl.a $OPENSSL_LIBDIR/libcrypto.a $EXTRA_STATIC_LIBS"
LDFLAGS=-static
file "dist/fossmark-${{ matrix.target }}" file "dist/fossmark-${{ matrix.target }}"
if ldd "dist/fossmark-${{ matrix.target }}" 2>&1 | grep -q '=>'; then if ldd "dist/fossmark-${{ matrix.target }}" | grep -E 'lib(ssl|crypto)'; then
echo 'Linux release binary is dynamically linked' >&2 echo 'Linux release uses dynamic OpenSSL' >&2
exit 1 exit 1
fi fi
+5 -3
View File
@@ -109,9 +109,11 @@ libc requires POWER6 instructions and produces release binaries that fault on
the iMac G5's PowerPC 970. Build `linux-ppc64be` natively on the G5 so it uses the iMac G5's PowerPC 970. Build `linux-ppc64be` natively on the G5 so it uses
the compatible Arch POWER ELFv2 runtime. the compatible Arch POWER ELFv2 runtime.
Release binaries statically include OpenSSL. Linux releases are fully static; Release binaries statically include OpenSSL. Linux releases dynamically use
macOS releases retain only Apple's required system-library linkage because the the system C library so DNS resolution can safely load the matching NSS
macOS toolchain does not support fully static executables. modules; they do not require system OpenSSL libraries. macOS releases retain
only Apple's required system-library linkage because the macOS toolchain does
not support fully static executables.
## Continuous integration and releases ## Continuous integration and releases
+1 -1
View File
@@ -42,7 +42,7 @@
#ifndef FM_API_BASE_URL #ifndef FM_API_BASE_URL
# define FM_API_BASE_URL "https://fossbench.net" # define FM_API_BASE_URL "https://fossbench.net"
#endif #endif
#define FM_VERSION "0.1.3-hotfix2" #define FM_VERSION "0.1.3-hotfix3"
/* ---------- platform identification (for the banner only) ---------- */ /* ---------- platform identification (for the banner only) ---------- */