Conversation
|
Following up on your comment in #102 - libicu-dev is no longer a dependency of libxml2-dev (see https://packages.ubuntu.com/resolute/libxml2-dev vs https://packages.ubuntu.com/noble/libxml2-dev), which was how it was ending up on the stemcell. Should we add it in as a directly installed package in Resolute? We generally like to keep the stemcell small-but-not-too-small. |
|
I tried deploying this branch and it and ran into a minor snag with the blob pattern for socat expecting a .tar.gz and the new blob being a .tar.bz2. Once I fixed that it compiled and deployed cleanly. |
f637a2f to
039c613
Compare
Yeah, I saw the libxml2 change. I guess pxc-release was depending on an transitive stemcell dependency. I don't think we need to pull in libicu just for pxc-release. Using MySQL's bundled libicu is the right path forward. MySQL uses this library for REGEXP comparisons and the bundled / vendored variant provides a more stable target across stemcells.
Thanks. Apparently I broke something when rebasing and hadn't redeployed. Rebased on main and fixed the socat blob pattern issue. |
Sourced from: http://www.dest-unreach.org/socat/download/socat-1.8.1.1.tar.bz2 Verified via: [Debian source control: socat_1.8.1.1-1.dsc](https://deb.debian.org/debian/pool/main/s/socat/socat_1.8.1.1-1.dsc) using key `7D887DC8BA7BBBA7B835E3BADCE310E7864CC8BF` Digest: `sha256:5ebc636b7f427053f98806696521653a614c7e06464910353cbf54e2327adc1b` Project checksum: http://www.dest-unreach.org/socat/download.sha256sum
This completes the removal of all MySQL v5.7 support from the release. Percona XtraDB Cluster v8.0 still depends on percona-xtrabackup v2.4 _binaries_ and will fail if they are not present. These old binaries are required _just in case_ the cluster upgrades from a Percona XtraDB Cluster v5.7 version. However, pxc-release explicitly rejects upgrades from old MySQL v5.7 data directories (this transtion should be completed under pxc/1.1.x versions) so percona-xtrabackup is no longer required. Since the Percona XtraDB Cluster v8.0 wsrep_sst_xtrabackup-v2 script requires the pxb-2.4/bin path to exist, the existing binaries are stubbed with a simple bash script that echos an expected version when the "pxb-2.4/bin/xtrabackup --version" option is passed and fails loudly otherwise. Removing provides two benefits: - Mitigate CVE scans against EOL software - Enable compilation support on ubuntu-resolute stemcells without patching GPLv2 Percona XtraBackup v2.4 source.
- Workaround: uutils/coreutils#11469 - Use dynamically linked libboost_program_options Current galera cmake configuration does not like static linking under resolute cmake+gcc toolchains. This avoids needing to custom patch (GPLv2) build configuration. The libboost_program_options.so is now installed under the Percona XtraDB Cluster lib/private directory similar to other MySQL vendored thirdparty libraries. This largely impacts the bin/garbd binary (currently unused by pxc-release) - Adjust Boost configuration to adapt to cmake v4.2 removing builtin FindBoost.cmake module in favor of the boost provided by modern boost v1.70.0+ - Workaround legacy libtirpc conventions by using -std=gnu17 CFLAGS - ubuntu-resolute stemcells no longer provide libicu-dev packages, so use the bundled version instead
039c613 to
cfe0e9d
Compare
Feature or Bug Description
Enable support for deploying pxc-release against ubuntu-resolute stemcells by adapting to changes in the cmake and GCC toolchains, among other changes.
Primary changes:
Workaround: install: install -D replaces symlink path components with real directories breaks our build system uutils/coreutils#11469
Use dynamically linked libboost_program_options
Current galera cmake configuration does not like static linking under resolute cmake+gcc toolchains. This avoids needing to custom patch (GPLv2) build configuration.
The libboost_program_options.so is now installed under the Percona XtraDB Cluster lib/private directory similar to other MySQL vendored thirdparty libraries.
This largely impacts the galera arbitrator daemon (bin/garbd) which is currently unused by pxc-release.
Adjust Boost configuration to adapt to cmake v4.2 removing builtin
FindBoost.cmakemodule in favor of the boost provided by modern boost v1.70.0+See: https://cmake.org/cmake/help/latest/policy/CMP0167.html
Workaround legacy libtirpc conventions by using -std=gnu17 CFLAGS
ubuntu-resolute stemcells no longer provide libicu-dev packages, so use the bundled version instead
Motivation
Supporting Percona package compilation under ubuntu-resolute.
Related Issue
Extracted and cleaned up from the larger PR #102 for easier review.
Based on #104 (socat bump), #107 (switch to pkgconf) and #106 (stubbing percona-xtrabackup-2.4) which each provider smaller improvement and are necessary for ubuntu-resolute support.