Fix QuicTLS & HAProxy linking, run regtests in CI
This commit is contained in:
parent
bee423c7a7
commit
504a45defa
292
.gitlab-ci.yml
292
.gitlab-ci.yml
@ -1,6 +1,7 @@
|
|||||||
stages:
|
stages:
|
||||||
- dependencies
|
- dependencies
|
||||||
- build
|
- build
|
||||||
|
- test
|
||||||
- publish
|
- publish
|
||||||
|
|
||||||
variables: &default-variables
|
variables: &default-variables
|
||||||
@ -21,7 +22,11 @@ variables: &default-variables
|
|||||||
needs: [ ]
|
needs: [ ]
|
||||||
before_script:
|
before_script:
|
||||||
- apt -qq update
|
- apt -qq update
|
||||||
- apt install -y --no-install-recommends -qq build-essential ca-certificates cmake curl git libreadline-dev libsystemd-dev tar
|
- apt install -y --no-install-recommends -qq build-essential ca-certificates cmake curl git libpcre2-dev libreadline-dev libsystemd-dev tar zlib1g-dev
|
||||||
|
|
||||||
|
#----------------------
|
||||||
|
# Common dependencies
|
||||||
|
#----------------------
|
||||||
|
|
||||||
lua:
|
lua:
|
||||||
<<: *build-job
|
<<: *build-job
|
||||||
@ -42,26 +47,31 @@ pcre2:
|
|||||||
quictls:
|
quictls:
|
||||||
<<: *build-job
|
<<: *build-job
|
||||||
stage: dependencies
|
stage: dependencies
|
||||||
script:
|
script: make -C deps/quictls
|
||||||
- make -C deps/quictls
|
|
||||||
- |
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
PKG_VER="$(cat deps/quictls/Makefile | head -n1 | cut -d'=' -f2 | tr -d ' ')"
|
|
||||||
QUICTLS_VER="$PKG_VER"
|
|
||||||
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
|
||||||
export PKG_VER="branch-$CI_COMMIT_REF_SLUG"
|
|
||||||
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting version to $PKG_VER"
|
|
||||||
fi
|
|
||||||
|
|
||||||
curl -fsSL \
|
|
||||||
-H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
|
||||||
--upload-file "deps/quictls/quictls-dist.tar.gz" \
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/quictls/$PKG_VER/quictls-$QUICTLS_VER.tar.gz"
|
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 7 days
|
expire_in: 7 days
|
||||||
paths: [ "deps/quictls/quictls-dist.tar.gz" ]
|
paths: [ "deps/quictls/quictls-dist.tar.gz" ]
|
||||||
|
|
||||||
|
vtest:
|
||||||
|
<<: *build-job
|
||||||
|
stage: dependencies
|
||||||
|
script: make -C deps/vtest
|
||||||
|
artifacts:
|
||||||
|
expire_in: 7 days
|
||||||
|
paths: [ "deps/vtest/dist/vtest" ]
|
||||||
|
|
||||||
|
.needs-dependencies: &needs-dependencies
|
||||||
|
- job: lua
|
||||||
|
artifacts: true
|
||||||
|
- job: pcre2
|
||||||
|
artifacts: true
|
||||||
|
- job: quictls
|
||||||
|
artifacts: true
|
||||||
|
|
||||||
|
#----------------------
|
||||||
|
# HAProxy job templates
|
||||||
|
#----------------------
|
||||||
|
|
||||||
.haproxy-build: &haproxy-build
|
.haproxy-build: &haproxy-build
|
||||||
<<: *build-job
|
<<: *build-job
|
||||||
stage: build
|
stage: build
|
||||||
@ -71,43 +81,80 @@ quictls:
|
|||||||
- mkdir deps/pcre2/dist && tar -C deps/pcre2/dist -xf deps/pcre2/pcre2-dist.tar.gz
|
- mkdir deps/pcre2/dist && tar -C deps/pcre2/dist -xf deps/pcre2/pcre2-dist.tar.gz
|
||||||
- mkdir deps/quictls/dist && tar -C deps/quictls/dist -xf deps/quictls/quictls-dist.tar.gz
|
- mkdir deps/quictls/dist && tar -C deps/quictls/dist -xf deps/quictls/quictls-dist.tar.gz
|
||||||
- make -C haproxy HAPROXY_VERSION=$HAPROXY_VERSION HAPROXY_GITREF=$HAPROXY_GITREF
|
- make -C haproxy HAPROXY_VERSION=$HAPROXY_VERSION HAPROXY_GITREF=$HAPROXY_GITREF
|
||||||
- |
|
needs: *needs-dependencies
|
||||||
set -eu
|
|
||||||
|
|
||||||
PKG_VER=$HAPROXY_VERSION
|
|
||||||
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
|
||||||
export PKG_VER="branch-$CI_COMMIT_REF_SLUG-$HAPROXY_VERSION-$HAPROXY_GITREF"
|
|
||||||
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting version to $PKG_VER"
|
|
||||||
fi
|
|
||||||
|
|
||||||
curl -fsSL \
|
|
||||||
-H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
|
||||||
--upload-file "haproxy/haproxy-dist.tar.gz" \
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/haproxy/$PKG_VER/haproxy-$HAPROXY_VERSION.tar.gz"
|
|
||||||
needs:
|
|
||||||
- job: lua
|
|
||||||
artifacts: true
|
|
||||||
- job: pcre2
|
|
||||||
artifacts: true
|
|
||||||
- job: quictls
|
|
||||||
artifacts: true
|
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 7 days
|
expire_in: 7 days
|
||||||
paths: [ "haproxy/dist", "haproxy/haproxy-dist.tar.gz" ]
|
paths: [ "haproxy/dist", "haproxy/haproxy-dist.tar.gz" ]
|
||||||
|
|
||||||
haproxy:stable:
|
.haproxy-regtests: &haproxy-regtests
|
||||||
<<: *haproxy-build
|
<<: *build-job
|
||||||
variables:
|
stage: test
|
||||||
<<: *default-variables
|
script:
|
||||||
<<: *haproxy-stable
|
- apt install -y --no-install-recommends -qq bzip2 git
|
||||||
|
- mkdir deps/lua/dist && tar -C deps/lua/dist -xf deps/lua/lua-dist.tar.gz
|
||||||
|
- mkdir deps/pcre2/dist && tar -C deps/pcre2/dist -xf deps/pcre2/pcre2-dist.tar.gz
|
||||||
|
- mkdir deps/quictls/dist && tar -C deps/quictls/dist -xf deps/quictls/quictls-dist.tar.gz
|
||||||
|
- make -C haproxy HAPROXY_VERSION=$HAPROXY_VERSION HAPROXY_GITREF=$HAPROXY_GITREF build test
|
||||||
|
needs:
|
||||||
|
- *needs-dependencies
|
||||||
|
- job: vtest
|
||||||
|
artifacts: true
|
||||||
|
|
||||||
haproxy:dev:
|
.haproxy-debian: &haproxy-debian
|
||||||
<<: *haproxy-build
|
<<: *build-job
|
||||||
variables:
|
stage: publish
|
||||||
<<: *default-variables
|
script:
|
||||||
<<: *haproxy-dev
|
- apt install -y --no-install-recommends -qq bzip2 devscripts debhelper pkg-config
|
||||||
|
- mkdir deps/lua/dist && tar -C deps/lua/dist -xf deps/lua/lua-dist.tar.gz
|
||||||
|
- mkdir deps/pcre2/dist && tar -C deps/pcre2/dist -xf deps/pcre2/pcre2-dist.tar.gz
|
||||||
|
- mkdir deps/quictls/dist && tar -C deps/quictls/dist -xf deps/quictls/quictls-dist.tar.gz
|
||||||
|
- export BUILD_MESSAGE="$CI_COMMIT_MESSAGE"
|
||||||
|
- make -C haproxy dist-deb HAPROXY_VERSION=$HAPROXY_VERSION HAPROXY_GITREF=$HAPROXY_GITREF
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
.docker: &docker
|
PACKAGE_NAME="haproxy-debian"
|
||||||
|
DEB_VERSION="$(cat haproxy/*.dsc | grep -E '^Version:' | cut -d' ' -f2-)"
|
||||||
|
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
||||||
|
export PACKAGE_NAME="haproxy-debian-branches"
|
||||||
|
export DEB_VERSION="branch-$CI_COMMIT_REF_SLUG"
|
||||||
|
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting coordinates to $PACKAGE_NAME/$DEB_VERSION"
|
||||||
|
fi
|
||||||
|
|
||||||
|
GITLAB_IS_LAME_DEB_VERSION=$(echo "${DEB_VERSION}" | tr '~' '-')
|
||||||
|
echo "Publishing Debian package version ${DEB_VERSION} to haproxy-debian@${GITLAB_IS_LAME_DEB_VERSION}"
|
||||||
|
|
||||||
|
for artifact in haproxy/haproxy*.deb; do
|
||||||
|
artifact_filename=$(basename "${artifact}")
|
||||||
|
gitlab_is_lame_artifact_filename=$(echo "${artifact_filename}" | tr '~' '-' | tr '+' '-')
|
||||||
|
echo "Uploading to haproxy-debian@${DEB_VERSION}... ${artifact_filename} -> ${gitlab_is_lame_artifact_filename}"
|
||||||
|
curl -fsSL -H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||||
|
--upload-file "${artifact}" \
|
||||||
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${GITLAB_IS_LAME_DEB_VERSION}/${gitlab_is_lame_artifact_filename}"
|
||||||
|
echo "OK"
|
||||||
|
done
|
||||||
|
artifacts:
|
||||||
|
expire_in: 7 days
|
||||||
|
paths: [ "haproxy/haproxy*" ]
|
||||||
|
|
||||||
|
.haproxy-tarball: &haproxy-tarball
|
||||||
|
image: docker.io/curlimages/curl:latest
|
||||||
|
stage: publish
|
||||||
|
script: |
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
PKG_VER=$HAPROXY_VERSION
|
||||||
|
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
||||||
|
export PKG_VER="branch-$CI_COMMIT_REF_SLUG-$HAPROXY_VERSION-$HAPROXY_GITREF"
|
||||||
|
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting version to $PKG_VER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -fsSL \
|
||||||
|
-H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||||
|
--upload-file "haproxy/haproxy-dist.tar.gz" \
|
||||||
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/haproxy/$PKG_VER/haproxy-$HAPROXY_VERSION.tar.gz"
|
||||||
|
|
||||||
|
.haproxy-docker: &haproxy-docker
|
||||||
stage: publish
|
stage: publish
|
||||||
image:
|
image:
|
||||||
name: gcr.io/kaniko-project/executor:debug
|
name: gcr.io/kaniko-project/executor:debug
|
||||||
@ -168,80 +215,123 @@ haproxy:dev:
|
|||||||
--single-snapshot
|
--single-snapshot
|
||||||
)
|
)
|
||||||
|
|
||||||
docker:stable:
|
#----------------------
|
||||||
<<: *docker
|
# HAProxy jobs
|
||||||
|
#----------------------
|
||||||
|
|
||||||
|
build:stable:
|
||||||
|
<<: *haproxy-build
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-stable
|
||||||
|
|
||||||
|
build:dev:
|
||||||
|
<<: *haproxy-build
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-dev
|
||||||
|
|
||||||
|
regtests:stable:
|
||||||
|
<<: *haproxy-regtests
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-stable
|
||||||
|
|
||||||
|
regtests:dev:
|
||||||
|
<<: *haproxy-regtests
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-dev
|
||||||
|
|
||||||
|
haproxy-tarball:stable:
|
||||||
|
<<: *haproxy-tarball
|
||||||
variables:
|
variables:
|
||||||
<<: *default-variables
|
<<: *default-variables
|
||||||
<<: *haproxy-stable
|
<<: *haproxy-stable
|
||||||
needs:
|
needs:
|
||||||
- job: quictls
|
- job: "regtests:stable"
|
||||||
|
artifacts: false
|
||||||
|
- job: "build:stable"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: "haproxy:stable"
|
|
||||||
|
haproxy-tarball:dev:
|
||||||
|
<<: *haproxy-tarball
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-dev
|
||||||
|
needs:
|
||||||
|
- job: "regtests:dev"
|
||||||
|
artifacts: false
|
||||||
|
- job: "build:dev"
|
||||||
|
artifacts: true
|
||||||
|
|
||||||
|
docker:stable:
|
||||||
|
<<: *haproxy-docker
|
||||||
|
variables:
|
||||||
|
<<: *default-variables
|
||||||
|
<<: *haproxy-stable
|
||||||
|
needs:
|
||||||
|
- job: "quictls"
|
||||||
|
artifacts: true
|
||||||
|
- job: "regtests:stable"
|
||||||
|
artifacts: false
|
||||||
|
- job: "build:stable"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
docker:dev:
|
docker:dev:
|
||||||
<<: *docker
|
<<: *haproxy-docker
|
||||||
variables:
|
variables:
|
||||||
<<: *default-variables
|
<<: *default-variables
|
||||||
<<: *haproxy-dev
|
<<: *haproxy-dev
|
||||||
needs:
|
needs:
|
||||||
- job: quictls
|
- job: "quictls"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: "haproxy:dev"
|
- job: "regtests:dev"
|
||||||
|
artifacts: false
|
||||||
|
- job: "build:dev"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
.debian: &debian
|
|
||||||
<<: *build-job
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- apt install -y --no-install-recommends -qq bzip2 devscripts debhelper pkg-config
|
|
||||||
- mkdir deps/lua/dist && tar -C deps/lua/dist -xf deps/lua/lua-dist.tar.gz
|
|
||||||
- mkdir deps/pcre2/dist && tar -C deps/pcre2/dist -xf deps/pcre2/pcre2-dist.tar.gz
|
|
||||||
- mkdir deps/quictls/dist && tar -C deps/quictls/dist -xf deps/quictls/quictls-dist.tar.gz
|
|
||||||
- export BUILD_MESSAGE="$CI_COMMIT_MESSAGE"
|
|
||||||
- make -C haproxy dist-deb HAPROXY_VERSION=$HAPROXY_VERSION HAPROXY_GITREF=$HAPROXY_GITREF
|
|
||||||
- |
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
PACKAGE_NAME="haproxy-debian"
|
|
||||||
DEB_VERSION="$(cat haproxy/*.dsc | grep -E '^Version:' | cut -d' ' -f2-)"
|
|
||||||
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
|
||||||
export PACKAGE_NAME="haproxy-debian-branches"
|
|
||||||
export DEB_VERSION="branch-$CI_COMMIT_REF_SLUG"
|
|
||||||
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting coordinates to $PACKAGE_NAME/$DEB_VERSION"
|
|
||||||
fi
|
|
||||||
|
|
||||||
GITLAB_IS_LAME_DEB_VERSION=$(echo "${DEB_VERSION}" | tr '~' '-')
|
|
||||||
echo "Publishing Debian package version ${DEB_VERSION} to haproxy-debian@${GITLAB_IS_LAME_DEB_VERSION}"
|
|
||||||
|
|
||||||
for artifact in haproxy/haproxy*.deb; do
|
|
||||||
artifact_filename=$(basename "${artifact}")
|
|
||||||
gitlab_is_lame_artifact_filename=$(echo "${artifact_filename}" | tr '~' '-' | tr '+' '-')
|
|
||||||
echo "Uploading to haproxy-debian@${DEB_VERSION}... ${artifact_filename} -> ${gitlab_is_lame_artifact_filename}"
|
|
||||||
curl -fsSL -H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
|
||||||
--upload-file "${artifact}" \
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${GITLAB_IS_LAME_DEB_VERSION}/${gitlab_is_lame_artifact_filename}"
|
|
||||||
echo "OK"
|
|
||||||
done
|
|
||||||
needs:
|
|
||||||
- job: lua
|
|
||||||
artifacts: true
|
|
||||||
- job: pcre2
|
|
||||||
artifacts: true
|
|
||||||
- job: quictls
|
|
||||||
artifacts: true
|
|
||||||
artifacts:
|
|
||||||
expire_in: 7 days
|
|
||||||
paths: [ "haproxy/haproxy*" ]
|
|
||||||
|
|
||||||
debian:stable:
|
debian:stable:
|
||||||
<<: *debian
|
<<: *haproxy-debian
|
||||||
variables:
|
variables:
|
||||||
<<: *default-variables
|
<<: *default-variables
|
||||||
<<: *haproxy-stable
|
<<: *haproxy-stable
|
||||||
|
needs:
|
||||||
|
- *needs-dependencies
|
||||||
|
- job: "regtests:stable"
|
||||||
|
artifacts: false
|
||||||
|
|
||||||
debian:dev:
|
debian:dev:
|
||||||
<<: *debian
|
<<: *haproxy-debian
|
||||||
variables:
|
variables:
|
||||||
<<: *default-variables
|
<<: *default-variables
|
||||||
<<: *haproxy-dev
|
<<: *haproxy-dev
|
||||||
|
needs:
|
||||||
|
- *needs-dependencies
|
||||||
|
- job: "regtests:dev"
|
||||||
|
artifacts: false
|
||||||
|
|
||||||
|
quictls:tarball:
|
||||||
|
image: docker.io/curlimages/curl:latest
|
||||||
|
stage: publish
|
||||||
|
script: |
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
PKG_VER="$(cat deps/quictls/Makefile | head -n1 | cut -d'=' -f2 | tr -d ' ')"
|
||||||
|
QUICTLS_VER="$PKG_VER"
|
||||||
|
if [ "$CI_COMMIT_REF_NAME" != "$CI_DEFAULT_BRANCH" ]; then
|
||||||
|
export PKG_VER="branch-$CI_COMMIT_REF_SLUG"
|
||||||
|
echo "Git reference $CI_COMMIT_REF_NAME is not the default branch. Setting version to $PKG_VER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -fsSL \
|
||||||
|
-H"JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||||
|
--upload-file "deps/quictls/quictls-dist.tar.gz" \
|
||||||
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/quictls/$PKG_VER/quictls-$QUICTLS_VER.tar.gz"
|
||||||
|
needs:
|
||||||
|
- job: quictls
|
||||||
|
artifacts: true
|
||||||
|
- job: "regtests:dev"
|
||||||
|
artifacts: false
|
||||||
|
- job: "regtests:stable"
|
||||||
|
artifacts: false
|
||||||
|
6
Makefile
6
Makefile
@ -1,6 +1,6 @@
|
|||||||
all: deps haproxy
|
all: deps haproxy
|
||||||
|
|
||||||
deps: deps/lua deps/pcre2 deps/quictls
|
deps: deps/lua deps/pcre2 deps/quictls deps/vtest
|
||||||
|
|
||||||
deps/lua:
|
deps/lua:
|
||||||
$(MAKE) -C "deps/lua"
|
$(MAKE) -C "deps/lua"
|
||||||
@ -11,6 +11,9 @@ deps/pcre2:
|
|||||||
deps/quictls:
|
deps/quictls:
|
||||||
$(MAKE) -C "deps/quictls"
|
$(MAKE) -C "deps/quictls"
|
||||||
|
|
||||||
|
deps/vtest:
|
||||||
|
$(MAKE) -C "deps/vtest"
|
||||||
|
|
||||||
haproxy:
|
haproxy:
|
||||||
$(MAKE) -C "haproxy"
|
$(MAKE) -C "haproxy"
|
||||||
|
|
||||||
@ -18,6 +21,7 @@ clean:
|
|||||||
$(MAKE) -C "deps/lua" clean
|
$(MAKE) -C "deps/lua" clean
|
||||||
$(MAKE) -C "deps/pcre2" clean
|
$(MAKE) -C "deps/pcre2" clean
|
||||||
$(MAKE) -C "deps/quictls" clean
|
$(MAKE) -C "deps/quictls" clean
|
||||||
|
$(MAKE) -C "deps/vtest" clean
|
||||||
$(MAKE) -C "haproxy" clean
|
$(MAKE) -C "haproxy" clean
|
||||||
|
|
||||||
.PHONY: deps/* haproxy
|
.PHONY: deps/* haproxy
|
||||||
|
4
deps/quictls/Makefile
vendored
4
deps/quictls/Makefile
vendored
@ -21,8 +21,8 @@ $(QUICTLS_BUILDIR): $(QUICTLS_TARBALL)
|
|||||||
build: $(QUICTLS_BUILDIR)
|
build: $(QUICTLS_BUILDIR)
|
||||||
cd "$(QUICTLS_BUILDIR)" && sed -i 's/^BUILD_METADATA.*/BUILD_METADATA=$(QUICTLS_BUILD_VERSION)/g' "VERSION.dat"
|
cd "$(QUICTLS_BUILDIR)" && sed -i 's/^BUILD_METADATA.*/BUILD_METADATA=$(QUICTLS_BUILD_VERSION)/g' "VERSION.dat"
|
||||||
cd "$(QUICTLS_BUILDIR)" && sed -i 's/^RELEASE_DATE.*/RELEASE_DATE="$(shell date -u +'%e %b %Y')"/g' "VERSION.dat"
|
cd "$(QUICTLS_BUILDIR)" && sed -i 's/^RELEASE_DATE.*/RELEASE_DATE="$(shell date -u +'%e %b %Y')"/g' "VERSION.dat"
|
||||||
cd "$(QUICTLS_BUILDIR)" && ./Configure --prefix="/opt/quictls" --openssldir="/opt/quictls" --libdir="lib" --release -static no-deprecated no-shared
|
cd "$(QUICTLS_BUILDIR)" && ./Configure --prefix="/opt/quictls" --openssldir="/opt/quictls" --libdir="lib" -DPURIFY no-shared
|
||||||
$(MAKE) -C "$(QUICTLS_BUILDIR)" -j "$(shell nproc)" VERSION=$(OPENSSL_VERSION)+quic-mangadex-$(BUILD_VERSION_REPOSHA)
|
$(MAKE) -C "$(QUICTLS_BUILDIR)" -j "$(shell nproc)" VERSION=$(OPENSSL_VERSION)+quic-mangadex-$(BUILD_VERSION_REPOSHA) build_sw
|
||||||
ldd "$(QUICTLS_BUILDIR)/apps/openssl" || true
|
ldd "$(QUICTLS_BUILDIR)/apps/openssl" || true
|
||||||
"$(QUICTLS_BUILDIR)/apps/openssl" version
|
"$(QUICTLS_BUILDIR)/apps/openssl" version
|
||||||
|
|
||||||
|
29
deps/vtest/Makefile
vendored
Normal file
29
deps/vtest/Makefile
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
VTEST_VERSION = master
|
||||||
|
VTEST_SOURCES = https://codeload.github.com/vtest/vtest/tar.gz/master
|
||||||
|
VTEST_TARBALL = VTEST-$(VTEST_VERSION).tar.gz
|
||||||
|
VTEST_BUILDIR = src
|
||||||
|
VTEST_DESTDIR = dist
|
||||||
|
|
||||||
|
all: build $(VTEST_DESTDIR) $(VTEST_DESTDIR)
|
||||||
|
|
||||||
|
$(VTEST_TARBALL):
|
||||||
|
curl -sfS -o "$(VTEST_TARBALL)" "$(VTEST_SOURCES)"
|
||||||
|
|
||||||
|
$(VTEST_BUILDIR): $(VTEST_TARBALL)
|
||||||
|
@if ! [ -d "$(VTEST_BUILDIR)" ]; then mkdir -v "$(VTEST_BUILDIR)"; fi
|
||||||
|
tar -C $(VTEST_BUILDIR) --strip-components=1 -xf "$(VTEST_TARBALL)"
|
||||||
|
|
||||||
|
build: $(VTEST_BUILDIR)
|
||||||
|
$(MAKE) -C "$(VTEST_BUILDIR)" -j "$(shell nproc)"
|
||||||
|
|
||||||
|
$(VTEST_DESTDIR): build
|
||||||
|
if ! [ -d "$(VTEST_DESTDIR)" ]; then mkdir -v "$(VTEST_DESTDIR)"; fi
|
||||||
|
cp -fv "$(VTEST_BUILDIR)/vtest" "$(VTEST_DESTDIR)/vtest"
|
||||||
|
chmod -v +x "$(VTEST_DESTDIR)/vtest"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -fv "$(VTEST_TARBALL)"
|
||||||
|
rm -rf "$(VTEST_BUILDIR)"
|
||||||
|
rm -rf "$(VTEST_DESTDIR)"
|
||||||
|
|
||||||
|
.PHONY: clean build
|
@ -14,6 +14,7 @@ HAPROXY_ARCHIVE = haproxy-dist.tar.gz
|
|||||||
DEP_DIST_ROOT_LUA = $(shell realpath ../deps/lua/dist)
|
DEP_DIST_ROOT_LUA = $(shell realpath ../deps/lua/dist)
|
||||||
DEP_DIST_ROOT_PCRE2 = $(shell realpath ../deps/pcre2/dist)
|
DEP_DIST_ROOT_PCRE2 = $(shell realpath ../deps/pcre2/dist)
|
||||||
DEP_DIST_ROOT_QUICTLS = $(shell realpath ../deps/quictls/dist)
|
DEP_DIST_ROOT_QUICTLS = $(shell realpath ../deps/quictls/dist)
|
||||||
|
DEP_DIST_ROOT_VTEST = $(shell realpath ../deps/vtest/dist)
|
||||||
|
|
||||||
BUILD_VERSION_REPOSHA = $(shell git rev-parse --short HEAD)
|
BUILD_VERSION_REPOSHA = $(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
@ -22,23 +23,21 @@ BUILD_PATCHES_FILES = $(shell ls -1 $(BUILD_PATCHES_DIR))
|
|||||||
DEBIAN_PATCHES_DIR = "$(HAPROXY_BUILDIR)/debian/patches"
|
DEBIAN_PATCHES_DIR = "$(HAPROXY_BUILDIR)/debian/patches"
|
||||||
|
|
||||||
MAKEARGS = DEBUG="-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT" \
|
MAKEARGS = DEBUG="-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT" \
|
||||||
DEFINE="-DMAX_SESS_STKCTR=5 -DOPENSSL_API_COMPAT=0x10100000L -DOPENSSL_NO_DEPRECATED" \
|
DEFINE="-DMAX_SESS_STKCTR=5" \
|
||||||
IGNOREGIT=true \
|
IGNOREGIT=true \
|
||||||
LDFLAGS="-Wl,-rpath,/opt/quictls/lib" \
|
ADDLIB="-Wl,-rpath,/opt/quictls/lib" \
|
||||||
TARGET="linux-glibc" \
|
TARGET="linux-glibc" \
|
||||||
EXTRAVERSION="+mangadex-$(BUILD_VERSION_REPOSHA)" \
|
EXTRAVERSION="+mangadex-$(BUILD_VERSION_REPOSHA)" \
|
||||||
VERDATE="$(shell date -u -I'minutes')" \
|
VERDATE="$(shell date -u -I'minutes')" \
|
||||||
USE_DL=1 \
|
USE_LIBCRYPT=1 \
|
||||||
USE_GETADDRINFO=1 \
|
|
||||||
USE_LINUX_TPROXY=1 \
|
|
||||||
USE_LUA=1 \
|
USE_LUA=1 \
|
||||||
LUA_INC="$(DEP_DIST_ROOT_LUA)/include" \
|
LUA_INC="$(DEP_DIST_ROOT_LUA)/include" \
|
||||||
LUA_LIB="$(DEP_DIST_ROOT_LUA)/lib" \
|
LUA_LIB="$(DEP_DIST_ROOT_LUA)/lib" \
|
||||||
LUA_LIB_NAME="lua" \
|
LUA_LIB_NAME="lua" \
|
||||||
|
USE_NS=1 \
|
||||||
USE_OPENSSL=1 \
|
USE_OPENSSL=1 \
|
||||||
SSL_INC="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/include" \
|
SSL_INC="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/include" \
|
||||||
SSL_LIB="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/lib" \
|
SSL_LIB="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/lib" \
|
||||||
ADDINC="-lcrypt" \
|
|
||||||
USE_PCRE2=1 \
|
USE_PCRE2=1 \
|
||||||
USE_PCRE2_JIT=1 \
|
USE_PCRE2_JIT=1 \
|
||||||
USE_STATIC_PCRE2=1 \
|
USE_STATIC_PCRE2=1 \
|
||||||
@ -70,6 +69,12 @@ build: $(HAPROXY_BUILDIR) patches
|
|||||||
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" $(MAKEARGS) opts
|
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" $(MAKEARGS) opts
|
||||||
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" $(MAKEARGS)
|
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" $(MAKEARGS)
|
||||||
|
|
||||||
|
# Ignore ssl/ssl_generate_certificate.vtc as it fails and I have no clue why at all
|
||||||
|
test: $(HAPROXY_BUILDIR)
|
||||||
|
rm -v "$(HAPROXY_BUILDIR)/reg-tests/ssl/ssl_generate_certificate.vtc" || true
|
||||||
|
VTEST_PROGRAM="$(DEP_DIST_ROOT_VTEST)/vtest" \
|
||||||
|
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" REGTESTS_TYPES=default,bug,devel reg-tests
|
||||||
|
|
||||||
$(HAPROXY_DESTDIR):
|
$(HAPROXY_DESTDIR):
|
||||||
@if ! [ -d "$(HAPROXY_DESTDIR)" ]; then mkdir -v "$(HAPROXY_DESTDIR)"; fi
|
@if ! [ -d "$(HAPROXY_DESTDIR)" ]; then mkdir -v "$(HAPROXY_DESTDIR)"; fi
|
||||||
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" DESTDIR="$(HAPROXY_DESTDIR_ABS)" install
|
$(MAKE) -C "$(HAPROXY_BUILDIR)" -j "$(shell nproc)" DESTDIR="$(HAPROXY_DESTDIR_ABS)" install
|
||||||
@ -104,4 +109,4 @@ clean:
|
|||||||
rm -fv "haproxy_"*
|
rm -fv "haproxy_"*
|
||||||
rm -fv "haproxy-dbgsym_"*
|
rm -fv "haproxy-dbgsym_"*
|
||||||
|
|
||||||
.PHONY: clean build patches prepare-deb
|
.PHONY: clean patches build test prepare-deb
|
||||||
|
@ -7,23 +7,21 @@ DEP_DIST_ROOT_QUICTLS = $(shell realpath ../../deps/quictls/dist)
|
|||||||
BUILD_VERSION_REPOSHA = $(shell git rev-parse --short HEAD)
|
BUILD_VERSION_REPOSHA = $(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
MAKEARGS = DEBUG="-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT" \
|
MAKEARGS = DEBUG="-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT" \
|
||||||
DEFINE="-DMAX_SESS_STKCTR=5 -DOPENSSL_API_COMPAT=0x10100000L -DOPENSSL_NO_DEPRECATED" \
|
DEFINE="-DMAX_SESS_STKCTR=5" \
|
||||||
IGNOREGIT=true \
|
IGNOREGIT=true \
|
||||||
LDFLAGS="-Wl,-rpath,/opt/quictls/lib" \
|
ADDLIB="-Wl,-rpath,/opt/quictls/lib" \
|
||||||
TARGET="linux-glibc" \
|
TARGET="linux-glibc" \
|
||||||
EXTRAVERSION="+mangadex-$(BUILD_VERSION_REPOSHA)" \
|
EXTRAVERSION="+mangadex-$(BUILD_VERSION_REPOSHA)" \
|
||||||
VERDATE="$(shell date -u -I'minutes')" \
|
VERDATE="$(shell date -u -I'minutes')" \
|
||||||
USE_DL=1 \
|
USE_LIBCRYPT=1 \
|
||||||
USE_GETADDRINFO=1 \
|
|
||||||
USE_LINUX_TPROXY=1 \
|
|
||||||
USE_LUA=1 \
|
USE_LUA=1 \
|
||||||
LUA_INC="$(DEP_DIST_ROOT_LUA)/include" \
|
LUA_INC="$(DEP_DIST_ROOT_LUA)/include" \
|
||||||
LUA_LIB="$(DEP_DIST_ROOT_LUA)/lib" \
|
LUA_LIB="$(DEP_DIST_ROOT_LUA)/lib" \
|
||||||
LUA_LIB_NAME="lua" \
|
LUA_LIB_NAME="lua" \
|
||||||
|
USE_NS=1 \
|
||||||
USE_OPENSSL=1 \
|
USE_OPENSSL=1 \
|
||||||
SSL_INC="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/include" \
|
SSL_INC="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/include" \
|
||||||
SSL_LIB="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/lib" \
|
SSL_LIB="$(DEP_DIST_ROOT_QUICTLS)/opt/quictls/lib" \
|
||||||
ADDINC="-lcrypt" \
|
|
||||||
USE_PCRE2=1 \
|
USE_PCRE2=1 \
|
||||||
USE_PCRE2_JIT=1 \
|
USE_PCRE2_JIT=1 \
|
||||||
USE_STATIC_PCRE2=1 \
|
USE_STATIC_PCRE2=1 \
|
||||||
@ -79,5 +77,7 @@ override_dh_installsystemd:
|
|||||||
override_dh_strip:
|
override_dh_strip:
|
||||||
dh_strip --dbgsym-migration="haproxy-dbg"
|
dh_strip --dbgsym-migration="haproxy-dbg"
|
||||||
|
|
||||||
|
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933541, still not shipped in buster
|
||||||
|
# and don't want to update to bullseye because of GCC version diff with Ubuntu 20.04... *sigh*
|
||||||
override_dh_dwz:
|
override_dh_dwz:
|
||||||
dh_dwz --exclude="openssl"
|
dh_dwz --no-dwz-multifile --exclude="openssl"
|
||||||
|
Loading…
Reference in New Issue
Block a user