fix: populate ldns submodule and add autotools to LDNS build stage
- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2
zonemaster-ldns/ldns/.github/FUNDING.yml
vendored
Normal file
2
zonemaster-ldns/ldns/.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
github: [NLnetLabs]
|
||||
custom: ['https://nlnetlabs.nl/funding/']
|
||||
137
zonemaster-ldns/ldns/.github/workflows/testsuite.yml
vendored
Normal file
137
zonemaster-ldns/ldns/.github/workflows/testsuite.yml
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
tags-ignore:
|
||||
- '*'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
name: Linux (Ubuntu)
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
submodules: recursive
|
||||
- run: libtoolize -vci
|
||||
- run: autoreconf -vfi
|
||||
- run: ./configure
|
||||
env:
|
||||
CFLAGS: -g2 -O0 -fsanitize=address,undefined -fno-sanitize-recover
|
||||
- run: make test
|
||||
|
||||
mac:
|
||||
name: macOS
|
||||
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- run: brew install automake libtool
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
submodules: recursive
|
||||
- run: glibtoolize -vci
|
||||
- run: autoreconf -vfi
|
||||
|
||||
# macOS’s system OpenSSL (LibreSSL, actually) isn’t meant for linking,
|
||||
# and Homebrew’s# OpenSSL isn’t CI-friendly. So build without OpenSSL.
|
||||
- run: ./configure --without-ssl --disable-sha2 --disable-gost --disable-ecdsa --disable-dane
|
||||
env:
|
||||
CFLAGS: -g2 -O0 -fsanitize=address,undefined -fno-sanitize-recover
|
||||
- run: make test
|
||||
|
||||
# Pending https://github.com/NLnetLabs/ldns/issues/197,
|
||||
# only builds succeed here.
|
||||
cygwin:
|
||||
name: Cygwin
|
||||
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Make git ignore line breaks
|
||||
run: git config --global core.autocrlf false
|
||||
- name: Set up Cygwin
|
||||
uses: cygwin/cygwin-install-action@master
|
||||
with:
|
||||
packages: make gcc-g++ bash libtool automake autoconf libssl-devel bind-utils
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
submodules: recursive
|
||||
- shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
|
||||
name: Build
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE
|
||||
libtoolize -vci
|
||||
autoreconf -vfi
|
||||
./configure
|
||||
make
|
||||
|
||||
qemu-alpine:
|
||||
name: Linux (Alpine, ${{ matrix.platform }})
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- i386
|
||||
- arm32v6
|
||||
- arm32v7
|
||||
- arm64v8
|
||||
- s390x
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Get the qemu container
|
||||
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
- name: "${{ matrix.platform }}: Build and test"
|
||||
run: docker run --rm --interactive --mount type=bind,source=$(pwd),target=/host ${{ matrix.platform }}/alpine sh -c "apk add make gcc libc-dev libtool automake autoconf openssl-dev m4 indent bash bind-tools && cd /host && libtoolize -vci && autoreconf -vfi && ./configure && make test"
|
||||
|
||||
|
||||
# BSDs:
|
||||
# name: ${{ matrix.os.dispname }} ${{ matrix.os.version }}
|
||||
#
|
||||
# runs-on: macos-latest
|
||||
#
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# os:
|
||||
# - name: freebsd
|
||||
# dispname: FreeBSD
|
||||
# version: '13.0'
|
||||
# pkginstall: pkg install -y libtool automake bind-tools gmake gindent
|
||||
# env:
|
||||
# configure_args:
|
||||
#
|
||||
# # OpenBSD seems to require explicit auto* versions.
|
||||
# - name: openbsd
|
||||
# dispname: OpenBSD
|
||||
# version: '7.1'
|
||||
# pkginstall: pkg_add -v libtool gmake gindent automake-1.16.3 autoconf-2.71
|
||||
# env: AUTOCONF_VERSION=2.71 AUTOMAKE_VERSION=1.16
|
||||
# configure_args: --disable-dane-verify
|
||||
#
|
||||
# steps:
|
||||
# - uses: actions/checkout@main
|
||||
# with:
|
||||
# submodules: recursive
|
||||
# - name: Build and test on ${{ matrix.os.name }}
|
||||
# uses: cross-platform-actions/action@master
|
||||
# with:
|
||||
# operating_system: ${{ matrix.os.name }}
|
||||
# version: ${{ matrix.os.version }}
|
||||
# shell: bash
|
||||
# run: |
|
||||
# export DUMMY12345=1 ${{ matrix.os.env }}
|
||||
# sudo ${{ matrix.os.pkginstall }} || ${{ matrix.os.pkginstall }}
|
||||
# libtoolize -vci
|
||||
# autoreconf -vfi
|
||||
# ./configure ${{ matrix.os.configure_args }}
|
||||
# gmake test
|
||||
Reference in New Issue
Block a user