|
|
8 months ago | |
|---|---|---|
| .. | ||
| CommonDeb.cmake | 2 years ago | |
| CommonRpm.cmake | 2 years ago | |
| README.md | 2 years ago | |
| build_bionic.cmake | 2 years ago | |
| build_bookworm.cmake | 2 years ago | |
| build_bullseye.cmake | 2 years ago | |
| build_buster.cmake | 2 years ago | |
| build_focal.cmake | 2 years ago | |
| build_jammy.cmake | 2 years ago | |
| build_macos.cmake | 2 years ago | |
| build_rhel10.cmake | 8 months ago | |
| build_rhel7.cmake | 2 years ago | |
| build_rhel8.cmake | 2 years ago | |
| build_rhel9.cmake | 2 years ago | |
| description.txt | 2 years ago | |
| metainfo.cmake | 2 years ago | |
| packaging.cmake | 2 years ago | |
| tmp | 1 year ago | |
Here are some helpful resources for packaging Galera for different distributions.
Galera lives in its own repository, and its build is standalone. However, for distributions, it is more comfortable to have ready packages rather than copying binary modules.
These steps are invoked specifically when the environment variable PACK_GALERA is set, and also when the build is configured with PACK=1 parameter, like this:
# export DISTR=rhel8
# export arch=x86_64
export PACK_GALERA=1
mkdir build && cd build
cmake -DPACK=1 /path/to/manticore/sources
If all the conditions are met, we merge the content of this folder into the galera-src/cmake folder, and then perform the building of packages with cmake --build . --target package. Finally, it produces a couple of packages - one with Galera, and the second with debug info.
These files are distributed here to have more granular control over the metadata content, especially when we are just adding support for a new distribution.
packaging.cmake is the main entry point. It is included from the Galera build.metainfo.cmake provides metadata for all the packages.description.txt is part of the metadata; some packages need it in a separate file, not inlined.CommonDeb.cmake provides Debian-specific stuff.CommonRpm.cmake provides RPM-specific stuff.build_*.cmake provides individual distribution environments.The GitHub CI workflow file is located in .github/workflows/pack_publish_galera.yml. It's triggered when cmake/GetGALERA.cmake or galera_packaging/* is updated and one of the following conditions is met:
master branch and:
pack to build the packagespublish to upload the packages to https://repo.manticoresearch.com/master, maintenance-release, manticore-*Another supported label is release. When this is set, the Galera packages will be uploaded to https://repo.manticoresearch.com/ with the release target. This action will actually place them in the release candidate directories. Otherwise, the packages will be placed to dev directories. Note, releasing Galera packages requires a pull request to set the release label.