Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 8 additions & 16 deletions config/blobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ Percona-XtraDB-Cluster-8.4.7-7.tar.gz:
size: 506738352
object_id: 46238cf5-2ca3-4619-47d2-e54bf1d2f418
sha: sha256:5b8e7c4d4cb422d018ec668d9cc69f6f403e4974ea71a6d7405a8b2194aa14a9
boost_1_59_0.tar.bz2:
size: 70389425
object_id: 7344fc77-b911-45c2-5467-c6d5fcab6d29
sha: sha256:727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca
boost_1_77_0.tar.bz2:
size: 110361537
object_id: d962752f-1ab7-4896-41d9-8deed29397ca
Expand All @@ -30,10 +26,6 @@ libev-4.33.tar.gz:
size: 569527
object_id: 0ea3b0f6-7b83-4fe5-7ff8-966bcc56ab73
sha: sha256:507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea
percona-xtrabackup-2.4.29.tar.gz:
size: 64667518
object_id: f196e2a0-e2ba-43ef-7d91-4319f8e6b927
sha: sha256:c59f0d612ec6a0f530ca3645546fb8af690f62d3ecbd70d33f30d3f56d9e842e
percona-xtrabackup-8.0.35-35.tar.gz:
size: 447852862
object_id: cfe465d2-d13b-46a9-64f1-8ebb44bd7e08
Expand All @@ -42,15 +34,15 @@ percona-xtrabackup-8.4.0-5.tar.gz:
size: 432646274
object_id: edf66c32-e051-4a55-561a-bd67bb8a13bb
sha: sha256:fadcf27efd2a2596f689388659e2ff5c36debcc051a55974ac8bb4a83c015f57
pkg-config_0.29.2.orig.tar.gz:
size: 2016830
object_id: ca3d829d-016e-4acd-6509-9d1766884b9d
sha: sha256:6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
pkgconf-2.5.1.tar.xz:
size: 328064
object_id: 74152211-babf-41d2-794a-2f1abcd5f998
sha: sha256:cd05c9589b9f86ecf044c10a2269822bc9eb001eced2582cfffd658b0a50c243
procps-ng-4.0.5.tar.xz:
size: 1517672
object_id: e196e815-f7be-462d-64f0-feaac1caffe0
sha: sha256:c2e6d193cc78f84cd6ddb72aaf6d5c6a9162f0470e5992092057f5ff518562fa
socat-1.7.4.4.tar.gz:
size: 662968
object_id: beda2a1f-82fe-4370-47c9-080352292869
sha: sha256:0f8f4b9d5c60b8c53d17b60d79ababc4a0f51b3bb6d2bd3ae8a6a4b9d68f195e
socat-1.8.1.1.tar.gz:
size: 766524
object_id: e2338643-ec07-4c94-6418-9760adee6ab5
sha: sha256:f68b602c80e94b4b7498d74ec408785536fe33534b39467977a82ab2f7f01ddb
73 changes: 18 additions & 55 deletions packages/percona-xtrabackup-2.4/packaging
Original file line number Diff line number Diff line change
@@ -1,57 +1,20 @@
#!/usr/bin/env bash

set -o errexit
set -o nounset

main() {
install_build_dependencies
unpack_source
build_and_install
}

install_build_dependencies() {
tar -xf libaio_*.tar.xz
cd libaio-*/
make -j "$(nproc)" install prefix="${BOSH_INSTALL_TARGET}"
cd -

tar -xf libev-*.tar.gz
cd libev-*/
./configure --prefix=/usr/local --disable-static
make -j "$(nproc)" install
./configure --prefix="${BOSH_INSTALL_TARGET}" --libdir="${BOSH_INSTALL_TARGET}/lib/private" --disable-static
make -j "$(nproc)" install-exec
cd -
}

unpack_source() {
tar -xf boost_1_59_0.tar.bz2
tar -xf percona-xtrabackup-*.tar.gz
}

build_and_install() {
cd percona-xtrabackup-*/
mkdir bld && cd bld

export LIBRARY_PATH="${BOSH_INSTALL_TARGET}/lib:${BOSH_INSTALL_TARGET}/lib/private"
export LD_LIBRARY_PATH="${BOSH_INSTALL_TARGET}/lib"
export CPLUS_INCLUDE_PATH="${BOSH_INSTALL_TARGET}/include"
export C_INCLUDE_PATH="${BOSH_INSTALL_TARGET}/include"

# shellcheck disable=SC2016
cmake .. \
-DBUILD_CONFIG=xtrabackup_release \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_INSTALL_PREFIX="${BOSH_INSTALL_TARGET}" \
-DCMAKE_INSTALL_RPATH='$ORIGIN/../lib/private;$ORIGIN/../lib' \
-DINSTALL_MYSQLTESTDIR= \
-DWITH_BOOST=../../boost_1_59_0 \
-DWITH_MAN_PAGES=OFF \
-DWITH_SSL=system

make -j "$(nproc)" install/strip
rm -fr "${BOSH_INSTALL_TARGET}/man/"
}

main
set -o errexit -o nounset

mkdir -p "${BOSH_INSTALL_TARGET}/bin"
script="${BOSH_INSTALL_TARGET}/bin/xtrabackup"
cat >"$script" <<'EOF'
#!/bin/bash

for arg in "$@";do
if [[ $arg == "--version" ]]; then
echo "xtrabackup version 2.4.29"
exit 0
fi
done

echo >&2 "MySQL v5.7 is not supported under this configuration."
exit 1
EOF
chmod 0755 "${script}"
6 changes: 1 addition & 5 deletions packages/percona-xtrabackup-2.4/spec
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,4 @@ name: percona-xtrabackup-2.4

dependencies: []

files:
- boost_1_59_0.tar.bz2
- percona-xtrabackup-2.4*.tar.gz
- libev-*.tar.gz
- libaio_*.tar.xz
files: []
21 changes: 15 additions & 6 deletions packages/percona-xtrabackup-8.0/packaging
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,33 @@
set -o errexit
set -o nounset

# Workaround for uutils coreutils 0.7.0 (ubuntu-resolute): its `install -D`
# replaces symlink path components with real directories instead of following
# them. Resolve the real path so libaio's `make install` (which uses
# `install -D`) writes to the correct location on persistent disk.
# See https://github.com/uutils/coreutils/issues/11469
REAL_INSTALL_TARGET="${BOSH_INSTALL_TARGET}"
if [ -L "${BOSH_INSTALL_TARGET}" ]; then
REAL_INSTALL_TARGET=$(readlink -f "${BOSH_INSTALL_TARGET}")
fi

main() {
install_build_dependencies
unpack_source
build_and_install
}

install_build_dependencies() {
tar -xf pkg-config_*.tar.gz
cd pkg-config-*/
./configure --prefix=/usr \
--with-internal-glib \
--with-pc-path=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
tar -xf pkgconf-*.tar.xz
cd pkgconf-*/
./configure --prefix=/usr
make -j "$(nproc)" install
ln -sf pkgconf /usr/bin/pkg-config
cd -

tar -xf libaio_*.tar.xz
cd libaio-*/
make -j "$(nproc)" install prefix="${BOSH_INSTALL_TARGET}"
make -j "$(nproc)" install prefix="${REAL_INSTALL_TARGET}"
cd -

tar -xf libev-*.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion packages/percona-xtrabackup-8.0/spec
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ files:
- percona-xtrabackup-8.0*.tar.gz
- libev-*.tar.gz
- libaio_*.tar.xz
- pkg-config_*.tar.gz
- pkgconf-*.tar.xz
- procps-ng-*.tar.xz
21 changes: 15 additions & 6 deletions packages/percona-xtrabackup-8.4/packaging
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,33 @@
set -o errexit
set -o nounset

# Workaround for uutils coreutils 0.7.0 (ubuntu-resolute): its `install -D`
# replaces symlink path components with real directories instead of following
# them. Resolve the real path so libaio's `make install` (which uses
# `install -D`) writes to the correct location on persistent disk.
# See https://github.com/uutils/coreutils/issues/11469
REAL_INSTALL_TARGET="${BOSH_INSTALL_TARGET}"
if [ -L "${BOSH_INSTALL_TARGET}" ]; then
REAL_INSTALL_TARGET=$(readlink -f "${BOSH_INSTALL_TARGET}")
fi

main() {
install_build_dependencies
unpack_source
build_and_install
}

install_build_dependencies() {
tar -xf pkg-config_*.tar.gz
cd pkg-config-*/
./configure --prefix=/usr \
--with-internal-glib \
--with-pc-path=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
tar -xf pkgconf-*.tar.xz
cd pkgconf-*/
./configure --prefix=/usr
make -j "$(nproc)" install
ln -sf pkgconf /usr/bin/pkg-config
cd -

tar -xf libaio_*.tar.xz
cd libaio-*/
make -j "$(nproc)" install prefix="${BOSH_INSTALL_TARGET}"
make -j "$(nproc)" install prefix="${REAL_INSTALL_TARGET}"
cd -

tar -xf libev-*.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion packages/percona-xtrabackup-8.4/spec
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ files:
- libaio_*.tar.xz
- libev-*.tar.gz
- percona-xtrabackup-8.4*.tar.gz
- pkg-config_*.tar.gz
- pkgconf-*.tar.xz
- procps-ng-*.tar.xz
99 changes: 59 additions & 40 deletions packages/percona-xtradb-cluster-8.0/packaging
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,41 @@ set -o errexit
set -o nounset
set -o pipefail

# Workaround for uutils coreutils 0.7.0 (ubuntu-resolute): its `install -D`
# replaces symlink path components with real directories instead of following
# them. Resolve the real path so libaio's `make install` (which uses
# `install -D`) writes to the correct location on persistent disk.
# See https://github.com/uutils/coreutils/issues/11363
REAL_INSTALL_TARGET="${BOSH_INSTALL_TARGET}"
if [ -L "${BOSH_INSTALL_TARGET}" ]; then
REAL_INSTALL_TARGET=$(readlink -f "${BOSH_INSTALL_TARGET}")
fi

main() {
install_build_dependencies
install_runtime_dependencies
build
}

install_build_dependencies() {
tar -xf pkg-config_*.tar.gz
cd pkg-config-*/
./configure \
--prefix=/usr \
--with-internal-glib \
--with-pc-path=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
tar -xf pkgconf-*.tar.xz
cd pkgconf-*/
./configure --prefix=/usr
make -j "$(nproc)" install
ln -sf pkgconf /usr/bin/pkg-config
cd -

tar -xf libaio_*.orig.tar.xz
cd libaio-*/
make install prefix="${BOSH_INSTALL_TARGET}"
make install prefix="${REAL_INSTALL_TARGET}"
cd -

tar -xf boost_*.tar.bz2
cd boost_*/
./bootstrap.sh --with-libraries=program_options,system
./b2 -j "$(nproc)" link=static
./b2 -j "$(nproc)" cxxstd=17 cxxflags="-fPIC" cflags="-fPIC"
mkdir -p "${REAL_INSTALL_TARGET}/lib/private/"
cp --preserve=all ./stage/lib/libboost_program_options.so.* "${REAL_INSTALL_TARGET}/lib/private/"
cd -

tar -xf check_*.tar.gz
Expand Down Expand Up @@ -77,40 +87,49 @@ build() {
export CPLUS_INCLUDE_PATH="${BOSH_INSTALL_TARGET}/include"
export C_INCLUDE_PATH="${BOSH_INSTALL_TARGET}/include"

cmake .. \
-DBUILD_CONFIG=mysql_release \
-DBOOST_ROOT="${boost_dir}" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DMINIMAL_RELWITHDEBINFO=OFF \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_INSTALL_PREFIX="${BOSH_INSTALL_TARGET}" \
-DCMAKE_INSTALL_RPATH='$ORIGIN/../lib/private;$ORIGIN/../lib' \
-DCOMPILATION_COMMENT="${compilation_comment}" \
-DENABLED_LOCAL_INFILE=OFF \
-DINSTALL_MYSQLTESTDIR= \
-DINSTALL_SECURE_FILE_PRIVDIR=NULL \
-DINSTALL_STATIC_LIBRARIES=OFF \
-DMYSQLX_UNIX_ADDR=/var/vcap/sys/run/pxc-mysql/mysqlx.sock \
-DMYSQL_DATADIR=/var/vcap/store/pxc-mysql \
-DMYSQL_UNIX_ADDR=/var/vcap/sys/run/pxc-mysql/mysqld.sock \
-DSYSCONFDIR=/var/vcap/jobs/pxc-mysql/config \
-DWITH_AUTHENTICATION_LDAP=OFF \
-DWITH_AUTHENTICATION_FIDO=OFF \
-DWITH_AUTHENTICATION_KERBEROS=OFF \
-DWITH_PERCONA_AUTHENTICATION_LDAP=OFF \
-DWITH_BOOST="${boost_dir}" \
-DWITH_ICU=system \
-DWITH_READLINE=system \
-DWITH_ROUTER=OFF \
-DWITH_GROUP_REPLICATION=OFF \
-DWITH_NDB=OFF \
-DWITH_SSL=system \
-DWITH_TIRPC=bundled \
-DWITH_UNIT_TESTS=OFF \
-DWITH_WSREP=ON \
local mysql_cmake_args=(
-DBUILD_CONFIG=mysql_release
-DCMAKE_BUILD_TYPE=RelWithDebInfo
# Workaround libtirpc legacy code on modern compilers
-DCMAKE_C_FLAGS="-std=gnu17"
-DMINIMAL_RELWITHDEBINFO=OFF
-DCMAKE_CXX_COMPILER=g++
-DCMAKE_C_COMPILER=gcc
-DCMAKE_INSTALL_PREFIX="${BOSH_INSTALL_TARGET}"
-DCMAKE_INSTALL_RPATH='$ORIGIN/../lib/private;$ORIGIN/../lib'
-DCOMPILATION_COMMENT="${compilation_comment}"
-DENABLED_LOCAL_INFILE=OFF
-DINSTALL_MYSQLTESTDIR=
-DINSTALL_SECURE_FILE_PRIVDIR=NULL
-DINSTALL_STATIC_LIBRARIES=OFF
-DMYSQLX_UNIX_ADDR=/var/vcap/sys/run/pxc-mysql/mysqlx.sock
-DMYSQL_DATADIR=/var/vcap/store/pxc-mysql
-DMYSQL_UNIX_ADDR=/var/vcap/sys/run/pxc-mysql/mysqld.sock
-DSYSCONFDIR=/var/vcap/jobs/pxc-mysql/config
-DWITH_AUTHENTICATION_LDAP=OFF
-DWITH_AUTHENTICATION_FIDO=OFF
-DWITH_AUTHENTICATION_KERBEROS=OFF
-DWITH_PERCONA_AUTHENTICATION_LDAP=OFF
-DWITH_BOOST="${boost_dir}"
-DWITH_ICU=bundled
-DWITH_READLINE=system
-DWITH_ROUTER=OFF
-DWITH_GROUP_REPLICATION=OFF
-DWITH_NDB=OFF
-DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF
-DWITH_SSL=system
-DWITH_TIRPC=bundled
-DWITH_UNIT_TESTS=OFF
-DWITH_WSREP=ON
-DWITH_ZLIB=bundled
)

local galera_cmake_args=(
-DBOOST_ROOT="${boost_dir}"
-DBoost_DIR="$(readlink -f "${boost_dir}"/stage/lib/cmake/Boost-*/)"
)

cmake .. "${mysql_cmake_args[@]}" "${galera_cmake_args[@]}"
make -j "$(nproc)" install/strip
)

Expand Down
2 changes: 1 addition & 1 deletion packages/percona-xtradb-cluster-8.0/spec
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ files:
- boost_1_77_0.tar.bz2
- check_*.tar.gz
- libaio_*.orig.tar.xz
- pkg-config_*.tar.gz
- pkgconf-*.tar.xz
- socat-*.tar.gz
Loading
Loading