From 288dbf4e1fdc696e9eb0da30fe09d998d696abcb Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Wed, 19 Oct 2022 11:09:58 +0100 Subject: [PATCH 1/4] Update github actions version for node.js 16 --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 85038661b9..70d7963283 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,7 +115,7 @@ jobs: echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH_${{ matrix.arch }}" >> $GITHUB_ENV echo "CFLAGS=$CFLAGS_${{ matrix.arch }}" >> $GITHUB_ENV echo "LDFLAGS=$LDFLAGS_${{ matrix.arch }}" >> $GITHUB_ENV - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: sudo scripts/install_xrdp_build_dependencies_with_apt.sh ${{ matrix.feature_set }} ${{ matrix.arch }} --allow-downgrades --allow-remove-essential --allow-change-held-packages - run: ./bootstrap - run: ./configure $CONF_FLAGS @@ -139,9 +139,9 @@ jobs: id: os run: echo "::set-output name=image::$ImageOS" shell: bash - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Cache cppcheck - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: cache-cppcheck with: @@ -168,9 +168,9 @@ jobs: id: os run: echo "::set-output name=image::$ImageOS" shell: bash - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Cache astyle - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: cache-astyle with: From 23a3c85bc161effd6ed45cfb1fed961b364ef1a3 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Wed, 19 Oct 2022 11:27:02 +0100 Subject: [PATCH 2/4] Update github ::set-output usage --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 70d7963283..826750a38a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -134,10 +134,9 @@ jobs: CPPCHECK_REPO: https://github.com/danmar/cppcheck.git steps: # Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20') - # see https://github.com/actions/cache/issues/543 - name: Get operating system name and version. id: os - run: echo "::set-output name=image::$ImageOS" + run: echo "image=$ImageOS" >>$GITHUB_OUTPUT shell: bash - uses: actions/checkout@v3 - name: Cache cppcheck @@ -163,10 +162,9 @@ jobs: ASTYLE_REPO: https://svn.code.sf.net/p/astyle/code/tags steps: # Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20') - # see https://github.com/actions/cache/issues/543 - name: Get operating system name and version. id: os - run: echo "::set-output name=image::$ImageOS" + run: echo "image=$ImageOS" >>$GITHUB_OUTPUT shell: bash - uses: actions/checkout@v3 - name: Cache astyle From 5cbf0cb5ace27f4054b8323ffb996f930e35a555 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Wed, 19 Oct 2022 11:29:11 +0100 Subject: [PATCH 3/4] Update legacy OS from 18.04 to 20.04 Since Ubuntu 20.04 supports less i386 functionality than 18.04, it has been necessary to use a smaller set of compile options, resulting in less compile coverage. --- .github/workflows/build.yml | 10 +++++----- scripts/install_xrdp_build_dependencies_with_apt.sh | 9 ++++++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 826750a38a..55fd751443 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,19 +65,19 @@ jobs: - CC: gcc feature_set: max arch: i386 - os: ubuntu-18.04 + os: ubuntu-20.04 name_extra: for 32-bit arch (legacy OS) - CC: g++ feature_set: max arch: i386 - os: ubuntu-18.04 + os: ubuntu-20.04 name_extra: for 32-bit arch (legacy OS) - CC: clang feature_set: max arch: i386 - os: ubuntu-18.04 + os: ubuntu-20.04 name_extra: for 32-bit arch (legacy OS) name: ${{ matrix.feature_set }} features with ${{ matrix.CC }} ${{ matrix.name_extra }} @@ -97,8 +97,8 @@ jobs: CONF_FLAGS_amd64_max: "--enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame --enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter --enable-pixman --with-imlib2 --with-freetype2" - CONF_FLAGS_i386_max: "--enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame - --enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter + CONF_FLAGS_i386_max: "--enable-ipv6 --enable-jpeg --enable-mp3lame + --enable-opus --enable-rfxcodec --enable-painter --disable-pixman --with-imlib2 --with-freetype2 --host=i686-linux" diff --git a/scripts/install_xrdp_build_dependencies_with_apt.sh b/scripts/install_xrdp_build_dependencies_with_apt.sh index 888b0ef983..976884d232 100755 --- a/scripts/install_xrdp_build_dependencies_with_apt.sh +++ b/scripts/install_xrdp_build_dependencies_with_apt.sh @@ -103,6 +103,11 @@ in esac ;; i386) + # This list is not as complete as the amd64 list. It currently + # supports 32-bit CI building only, rather than being a generic + # build support tool. + # - Ubuntu 18.04 -> 20.04 + # Removed fdk-aac-dev:i386 and libfuse-dev:i386 PACKAGES="$PACKAGES \ g++-multilib \ gcc-multilib \ @@ -112,7 +117,6 @@ in libjpeg-dev:i386 \ libimlib2-dev:i386 \ libmp3lame-dev:i386 \ - libfdk-aac-dev:i386 \ libopus-dev:i386 \ libpam0g-dev:i386 \ libssl-dev:i386 \ @@ -120,8 +124,7 @@ in libxext-dev:i386 \ libxfixes-dev:i386 \ libxrandr-dev:i386 \ - libxrender-dev:i386 \ - libfuse-dev:i386" + libxrender-dev:i386" dpkg --add-architecture i386 dpkg --print-architecture From 18c553878198c4e0c32e1c36a15916213e6645b8 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Thu, 20 Oct 2022 09:56:23 +0100 Subject: [PATCH 4/4] Add casts required for C++ CI and OpenSSL 3.x --- common/ssl_calls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/ssl_calls.c b/common/ssl_calls.c index 168add76a8..c53afde56a 100644 --- a/common/ssl_calls.c +++ b/common/ssl_calls.c @@ -337,7 +337,7 @@ ssl_sha1_clear(void *sha1_info) #else if (sha1_info != NULL) { - EVP_DigestInit_ex(sha1_info, g_md_sha1, NULL); + EVP_DigestInit_ex((EVP_MD_CTX *)sha1_info, g_md_sha1, NULL); } #endif } @@ -417,7 +417,7 @@ ssl_md5_clear(void *md5_info) #else if (md5_info != NULL) { - EVP_DigestInit_ex(md5_info, g_md_md5, NULL); + EVP_DigestInit_ex((EVP_MD_CTX *)md5_info, g_md_md5, NULL); } #endif }