From 33abca041519b3f72bb6cc3eea81eb987e72d178 Mon Sep 17 00:00:00 2001 From: Marc Becker Date: Mon, 25 Apr 2022 23:58:22 +0200 Subject: [PATCH] fix GitHub workflow working directories in MinGW builds replace hardcoded directory names with env variable version info bump pkcs11-helper version to 1.29.0 bump OpenSSL version to 1.1.1n add OpenSSL version to cache key use release file for pkcs11-helper archive use OpenSSL URL endpoint with all/current versions Signed-off-by: Marc Becker Acked-by: Gert Doering Message-Id: <20220425215822.18569-1-becm@gmx.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24202.html Signed-off-by: Gert Doering --- .github/workflows/build.yaml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fa99e12b..34a9d9b9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -19,8 +19,8 @@ jobs: env: MAKEFLAGS: -j3 LZO_VERSION: "2.10" - PKCS11_HELPER_VERSION: "1.26" - OPENSSL_VERSION: "1.1.1j" + PKCS11_HELPER_VERSION: "1.29.0" + OPENSSL_VERSION: "1.1.1n" TAP_WINDOWS_VERSION: "9.23.3" CHOST: ${{ matrix.chost }} TARGET: ${{ matrix.target }} @@ -46,20 +46,20 @@ jobs: uses: actions/cache@v2 with: path: '~/mingw/' - key: ${{ matrix.target }}-mingw-${{ env.LZO_VERSION }}-${{ env.PKCS11_HELPER_VERSION }}-${{ env.TAP_WINDOWS_VERSION }} + key: ${{ matrix.target }}-mingw-${{ env.OPENSSL_VERSION }}-${{ env.LZO_VERSION }}-${{ env.PKCS11_HELPER_VERSION }}-${{ env.TAP_WINDOWS_VERSION }} # Repeating if: steps.cache.outputs.cache-hit != 'true' # on every step for building dependencies is ugly but # I haven't found a better solution so far. - - name: Download mingw depnendencies + - name: Download mingw dependencies if: steps.cache.outputs.cache-hit != 'true' run: | wget -c -P download-cache/ "https://build.openvpn.net/downloads/releases/tap-windows-${TAP_WINDOWS_VERSION}.zip" wget -c -P download-cache/ "https://www.oberhumer.com/opensource/lzo/download/lzo-${LZO_VERSION}.tar.gz" - wget -c -P download-cache/ "https://github.com/OpenSC/pkcs11-helper/archive/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz" - wget -c -P download-cache/ "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" - tar zxf "download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz" + wget -c -P download-cache/ "https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-${PKCS11_HELPER_VERSION}/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2" + wget -c -P download-cache/ "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" + tar jxf "download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2" tar zxf "download-cache/openssl-${OPENSSL_VERSION}.tar.gz" tar zxf "download-cache/lzo-${LZO_VERSION}.tar.gz" unzip download-cache/tap-windows-${TAP_WINDOWS_VERSION}.zip @@ -67,56 +67,56 @@ jobs: - name: Configure OpenSSL if: steps.cache.outputs.cache-hit != 'true' run: ./Configure --cross-compile-prefix=${CHOST}- shared ${{ matrix.target }} no-capieng --prefix="${HOME}/mingw/opt" --openssldir="${HOME}/mingw/opt" -static-libgcc - working-directory: "./openssl-1.1.1j" + working-directory: "./openssl-${{ env.OPENSSL_VERSION }}" - name: Build OpenSSL if: steps.cache.outputs.cache-hit != 'true' run: make - working-directory: "./openssl-1.1.1j/" + working-directory: "./openssl-${{ env.OPENSSL_VERSION }}" - name: Install OpenSSL if: steps.cache.outputs.cache-hit != 'true' run: make install - working-directory: "./openssl-1.1.1j/" + working-directory: "./openssl-${{ env.OPENSSL_VERSION }}" - name: autoreconf pkcs11-helper if: steps.cache.outputs.cache-hit != 'true' run: autoreconf -iv - working-directory: "./pkcs11-helper-pkcs11-helper-1.26" + working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}" - name: configure pkcs11-helper if: steps.cache.outputs.cache-hit != 'true' run: OPENSSL_LIBS="-L${HOME}/mingw/opt/lib -lssl -lcrypto" OPENSSL_CFLAGS=-I$HOME/mingw/opt/include PKG_CONFIG_PATH=${HOME}/mingw/opt/lib/pkgconfig ./configure --host=${CHOST} --program-prefix='' --libdir=${HOME}/mingw/opt/lib --prefix=${HOME}/mingw/opt --build=x86_64-pc-linux-gnu --disable-crypto-engine-gnutls --disable-crypto-engine-nss --disable-crypto-engine-polarssl --disable-crypto-engine-mbedtls - working-directory: "./pkcs11-helper-pkcs11-helper-1.26" + working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}" - name: build pkcs11-helper if: steps.cache.outputs.cache-hit != 'true' run: make all - working-directory: "./pkcs11-helper-pkcs11-helper-1.26" + working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}" - name: install pkcs11-helper if: steps.cache.outputs.cache-hit != 'true' run: make install - working-directory: "./pkcs11-helper-pkcs11-helper-1.26" + working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}" - name: Configure lzo if: steps.cache.outputs.cache-hit != 'true' run: ./configure --host=${CHOST} --program-prefix='' --libdir=${HOME}/mingw/opt/lib --prefix=${HOME}/mingw/opt --build=x86_64-pc-linux-gnu - working-directory: "./lzo-2.10" + working-directory: "./lzo-${{ env.LZO_VERSION }}" - name: build lzo if: steps.cache.outputs.cache-hit != 'true' - working-directory: "./lzo-2.10" + working-directory: "./lzo-${{ env.LZO_VERSION }}" run: make - name: install lzo if: steps.cache.outputs.cache-hit != 'true' - working-directory: "./lzo-2.10" + working-directory: "./lzo-${{ env.LZO_VERSION }}" run: make install - name: copy tap-windows.h header if: steps.cache.outputs.cache-hit != 'true' - run: cp ./tap-windows-9.23.3/include/tap-windows.h ${HOME}/mingw/opt/include/ + run: cp ./tap-windows-${TAP_WINDOWS_VERSION}/include/tap-windows.h ${HOME}/mingw/opt/include/ - name: configure OpenVPN run: PKG_CONFIG_PATH=${HOME}/mingw/opt/lib/pkgconfig DCO_SOURCEDIR=$(realpath ../ovpn-dco-win) LDFLAGS=-L$HOME/mingw/opt/lib CFLAGS=-I$HOME/mingw/opt/include OPENSSL_LIBS="-L${HOME}/opt/lib -lssl -lcrypto" OPENSSL_CFLAGS=-I$HOME/mingw/opt/include PREFIX=$HOME/mingw/opt LZO_CFLAGS=-I$HOME/mingw/opt/include LZO_LIBS="-L${HOME}/mingw/opt/lib -llzo2" ./configure --host=${CHOST} --disable-lz4 --enable-dco