summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 02:01:41 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 02:01:41 +0000
commit06f8d7b145dbedc0d20790f69bb58883d635df57 (patch)
tree42c40fbaccf0b1bd1244645b6eedac1129013ce3
parentac548b1020885584a5c6c3c587db6e8fe542c1ff (diff)
automatic import of galeraopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--cmake_paths.patch112
-rw-r--r--galera.spec355
-rwxr-xr-xgarbd-wrapper38
-rw-r--r--garbd.service10
-rw-r--r--sources1
6 files changed, 517 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1b2bf24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/galera-26.4.9.tar.gz
diff --git a/cmake_paths.patch b/cmake_paths.patch
new file mode 100644
index 0000000..e341b09
--- /dev/null
+++ b/cmake_paths.patch
@@ -0,0 +1,112 @@
+1) Documentation files
+
+--- galera-26.4.8/CMakeLists.txt 2021-04-08 08:05:44.000000000 +0200
++++ galera-26.4.8/CMakeLists.txt_patched 2021-06-10 01:40:26.886770832 +0200
+@@ -106,14 +106,19 @@ add_subdirectory(galera)
+ add_subdirectory(scripts/packages)
+ add_subdirectory(wsrep/tests)
+
++# Make the intall destination for documentation files configurable
++if(NOT DEFINED INSTALL_DOCDIR)
++ set(INSTALL_DOCDIR "doc" CACHE STRING "path to install documentaion to")
++endif()
++
+ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD")
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/AUTHORS
+ ${CMAKE_SOURCE_DIR}/COPYING
+ ${CMAKE_SOURCE_DIR}/README
+- DESTINATION doc)
++ DESTINATION ${INSTALL_DOCDIR} )
+ install(FILES ${CMAKE_SOURCE_DIR}/asio/LICENSE_1_0.txt
+- DESTINATION doc
++ DESTINATION ${INSTALL_DOCDIR}
+ RENAME LICENSE.asio)
+ endif()
+
+
+
+2) Configuration file
+3) Executable files
+4) Systemd service file
+
+--- galera-26.4.8/garb/CMakeLists.txt 2021-06-10 03:54:55.482520883 +0200
++++ galera-26.4.8/garb/CMakeLists.txt_patched 2021-06-10 03:54:41.070274710 +0200
+@@ -31,14 +31,51 @@ target_compile_options(garbd
+ target_link_libraries(garbd gcs4garb gcomm gcache
+ ${Boost_PROGRAM_OPTIONS_LIBRARIES})
+
+-install(TARGETS garbd DESTINATION bin)
++# Make the install destination for garbd binary configurable
++if(NOT DEFINED INSTALL_GARBD)
++ set(INSTALL_GARBD "bin" CACHE STRING "path to install garbd binary to")
++endif()
++
++install(TARGETS garbd
++ DESTINATION ${INSTALL_GARBD})
++
+ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD")
++
++ # Make the install destination for garbd-systemd wrapper script configurable
++ if(NOT DEFINED INSTALL_GARBD-SYSTEMD)
++ set(INSTALL_GARBD-SYSTEMD "share" CACHE STRING "path to install garbd-systemd wrapper script to")
++ endif()
++
++ install(FILES
++ ${CMAKE_CURRENT_SOURCE_DIR}/files/garb-systemd
++ DESTINATION ${INSTALL_GARBD-SYSTEMD})
++
++ # Make the install destination for garbd configuration file configurable
++ if(NOT DEFINED INSTALL_CONFIGURATION)
++ set(INSTALL_CONFIGURATION "share" CACHE STRING "path to install garbd configuration to")
++ endif()
++
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/files/garb.cnf
++ DESTINATION ${INSTALL_CONFIGURATION}
++ RENAME garb)
++
++ # Make the install destination for garbd systemd service file configurable
++ if(NOT DEFINED INSTALL_SYSTEMD_SERVICE)
++ set(INSTALL_SYSTEMD_SERVICE "share" CACHE STRING "path to install garbd Systemd service to")
++ endif()
++
++ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/files/garb.service
+- ${CMAKE_CURRENT_SOURCE_DIR}/files/garb-systemd
+- DESTINATION share)
++ DESTINATION ${INSTALL_SYSTEMD_SERVICE})
++
++ # Make the install destination for manpage configurable
++ if(NOT DEFINED INSTALL_MANPAGE)
++ set(INSTALL_MANPAGE "man/man8" CACHE STRING "path to install manpage to")
++ endif()
++
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/man/garbd.8
+- DESTINATION man/man8)
++ DESTINATION ${INSTALL_MANPAGE})
++
+ endif()
+
+
+
+5) Shared library path
+
+--- galera-26.4.8/galera/src/CMakeLists.txt 2021-06-10 03:13:05.465005845 +0200
++++ galera-26.4.8/galera/src/CMakeLists.txt_patched 2021-06-10 03:16:53.388699046 +0200
+@@ -112,7 +112,12 @@ endif()
+
+ target_link_libraries(galera_smm galera ${GALERA_LINK_OPTIONS})
+
+-install(TARGETS galera_smm DESTINATION lib)
++# Make the install destination for garbd binary configurable
++if(NOT DEFINED INSTALL_LIBDIR)
++ set(INSTALL_LIBDIR "lib" CACHE STRING "path to install shared libraries to")
++endif()
++
++install(TARGETS galera_smm DESTINATION ${INSTALL_LIBDIR})
+
+ # The following checks are guaranteed to work only
+ # Linux platform, we skip them on others.
+
diff --git a/galera.spec b/galera.spec
new file mode 100644
index 0000000..7ee4abd
--- /dev/null
+++ b/galera.spec
@@ -0,0 +1,355 @@
+Name: galera
+Version: 26.4.9
+Release: 2%{?dist}
+Summary: Synchronous multi-master wsrep provider (replication engine)
+
+License: GPLv2
+URL: http://galeracluster.com/
+
+# Actually, the truth is, we do use galera source tarball provided by MariaDB on
+# following URL (without macros):
+# https://archive.mariadb.org/mariadb-10.4.16/galera-26.4.6/src/galera-26.4.6.tar.gz
+
+Source0: http://releases.galeracluster.com/source/%{name}-%{version}.tar.gz
+
+Source1: garbd.service
+Source2: garbd-wrapper
+
+Patch0: cmake_paths.patch
+
+BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel
+Requires(pre): /usr/sbin/useradd
+Requires: nmap-ncat
+Requires: procps-ng
+
+%{?systemd_requires}
+
+
+%description
+Galera is a fast synchronous multi-master wsrep provider (replication engine)
+for transactional databases and similar applications. For more information
+about wsrep API see http://launchpad.net/wsrep. For a description of Galera
+replication engine see http://www.codership.com.
+
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+%{set_build_flags}
+
+
+%cmake . \
+ -DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \
+ -DINSTALL_LAYOUT=RPM \
+ -DCMAKE_RULE_MESSAGES:BOOL=OFF \
+ \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ \
+ -DINSTALL_DOCDIR="share/doc/%{name}/" \
+ -DINSTALL_GARBD="sbin" \
+ -DINSTALL_GARBD-SYSTEMD="sbin" \
+ -DINSTALL_CONFIGURATION="/etc/sysconfig/" \
+ -DINSTALL_SYSTEMD_SERVICE="lib/systemd/system" \
+ -DINSTALL_LIBDIR="%{_lib}/galera" \
+ -DINSTALL_MANPAGE="share/man/man8"
+
+cmake -B %_vpath_builddir -LAH
+
+%cmake_build
+
+
+%install
+%cmake_install
+
+# PATCH 1:
+# Change the Systemd service name from "garb" to "garbd"
+#
+# The Galera upstream uses name "garb" for the service while providing "garbd" alias
+# Fedora downstream packaging historically used "garbd" name for the service.
+#
+# Let's stick with the Fedora legacy naming, AND provide an alias to the Galera upstream name
+mv %{buildroot}/usr/lib/systemd/system/garb.service %{buildroot}/usr/lib/systemd/system/garbd.service
+sed -i 's/Alias=garbd.service/Alias=garb.service/g' %{buildroot}/usr/lib/systemd/system/garbd.service
+
+# PATCH 2:
+# Fix the hardcoded paths
+# In the Systemd service file:
+sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}/usr/lib/systemd/system/garbd.service
+# In the wrapper script:
+sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/sbin/garb-systemd
+
+# PATCH 4:
+# Use a dedicated user for the Systemd service
+# To fix an security issue reported by Systemd:
+#
+## systemd[1]: /usr/lib/systemd/system/garb.service:14: Special user nobody configured, this is not safe!
+## Subject: Special user nobody configured, this is not safe!
+## Defined-By: systemd
+## Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
+## Documentation: https://systemd.io/UIDS-GIDS
+##
+## The unit garb.service is configured to use User=nobody.
+##
+## This is not safe. The nobody user's main purpose on Linux-based
+## operating systems is to be the owner of files that otherwise cannot be mapped
+## to any local user. It's used by the NFS client and Linux user namespacing,
+## among others. By running a unit's processes under the identity of this user
+## they might possibly get read and even write access to such files that cannot
+## otherwise be mapped.
+##
+## It is strongly recommended to avoid running services under this user identity,
+## in particular on systems using NFS or running containers. Allocate a user ID
+## specific to this service, either statically via systemd-sysusers or dynamically
+## via the DynamicUser= service setting.
+sed -i 's/User=nobody/User=garb/g' %{buildroot}/usr/lib/systemd/system/garbd.service
+
+%pre
+/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || :
+
+%post
+/sbin/ldconfig
+%systemd_post garbd.service
+
+%preun
+%systemd_preun garbd.service
+
+%postun
+/sbin/ldconfig
+%systemd_postun_with_restart garbd.service
+
+
+%files
+%config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb
+
+%dir %{_docdir}/galera
+%dir %{_libdir}/galera
+
+%{_sbindir}/garbd
+#%{_sbindir}/garbd-wrapper
+
+# PATCH 3:
+# Make sure the wrapper script is executable
+%attr(755, -, -) %{_sbindir}/garb-systemd
+
+%{_mandir}/man8/garbd.8*
+
+%{_unitdir}/garbd.service
+
+%{_libdir}/galera/libgalera_smm.so
+
+%doc %{_docdir}/galera/AUTHORS
+%doc %{_docdir}/galera/COPYING
+%doc %{_docdir}/galera/LICENSE.asio
+%doc %{_docdir}/galera/README
+#%doc %{_docdir}/galera/README-MySQL
+
+
+%changelog
+* Fri Nov 19 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.9-2
+- Explicitly require the 'procps-ng' package
+- Otherwise it will not require it in the lightweight systems (e.g. containers)
+- and Galera won't work properly
+
+* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 26.4.9-1
+- Rebase to 26.4.9
+
+* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+ Related: rhbz#1991688
+
+* Thu Jul 15 2021 Michal Schorm <mschorm@redhat.com> - 26.4.8-2
+- Switch from SCONS build tooling to CMAKE build tooling
+- Use upstream variants of Systemd service file and Systemd service file wrapper srcipt
+
+* Thu Jun 03 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.8-1
+- Rebase to 26.4.8
+
+* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-3
+- Rebuilt for RHEL 9 BETA for openssl 3.0
+ Related: rhbz#1971065
+
+* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-2
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Tue Feb 23 2021 Michal Schorm <mschorm@redhat.com> - 26.4.7-1
+- Rebase to 26.4.7
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.6-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 26.4.6-2
+- Rebuilt for Boost 1.75
+
+* Wed Nov 04 2020 Michal Schorm <mschorm@redhat.com> - 26.4.6-1
+- Rebase to 26.4.6
+
+* Thu Sep 17 2020 Michal Schorm <mschorm@redhat.com> - 26.4.5-2
+- Extend the workaround also to ELN
+
+* Wed Sep 16 2020 Michal Schorm <mschorm@redhat.com> - 26.4.5-1
+- Rebase to 26.4.5
+
+* Wed Sep 16 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-5
+- Apply workaround for FTBFS on F33+
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.4-4
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.4-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jun 08 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-2
+- Second rebuild for Boost 1.73
+
+* Fri Jun 05 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-1
+- Rebase to 26.4.4
+ Resolves: rhbz#1546787
+
+* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 26.4.3-4
+- Rebuilt for Boost 1.73
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jan 18 2020 Michal Schorm <mschorm@redhat.com> - 26.4.3-2
+- Rebase to 26.4.3
+
+* Wed Nov 06 2019 Michal Schorm <mschorm@redhat.com> - 25.3.28-1
+- Rebase to 25.3.28
+
+* Thu Aug 01 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-3
+- Fix for #1735233 and #1737108
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.26-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Jul 19 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-1
+- Rebase to 25.3.26
+
+* Fri Jul 19 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-4
+- Use macro for setting up the compiler flags
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.25-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Tue Jan 29 2019 Jonathan Wakely <jwakely@redhat.com> - 25.3.25-2
+- Rebuilt for Boost 1.69
+
+* Tue Jan 01 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-1
+- Rebase to 25.3.25
+
+* Mon Jul 16 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-5
+- Require asio also on rhel
+
+* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-4
+- Add explicit gcc-c++ BR
+- Use python3-scons
+
+* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-3
+- Do not require asio on rhel
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.23-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Feb 16 2018 Michal Schorm <mschorm@redhat.com> - 25.3.23-1
+- Update to 25.3.23
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.22-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Fri Nov 24 2017 Honza Horak <hhorak@redhat.com> - 25.3.22-1
+- Update to 25.3.22
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-4
+- Rebuilt for Boost 1.64
+
+* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.16-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Sat Feb 18 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-2
+- Use asio-devel instead of bundled asio library
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Wed Jun 22 2016 Mike Bayer <mbayer@redhat.com> - 25.3.16-1
+- Update to 25.3.16
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.12-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 25.3.12-3
+- Rebuilt for Boost 1.60
+
+* Wed Sep 30 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 25.3.12-2
+- Remove use of -mtune=native which breaks build on secondary architectures
+
+* Fri Sep 25 2015 Richard W.M. Jones <rjones@redhat.com> - 25.3.12-1
+- Update to 25.3.12.
+- Should fix the build on 32 bit ARM (RHBZ#1241164).
+- Remove ExcludeArch (should have read the BZ more closely).
+
+* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 25.3.10-5
+- Rebuilt for Boost 1.59
+
+* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.10-4
+- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
+
+* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 25.3.10-3
+- rebuild for Boost 1.58
+
+* Wed Jul 08 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-2
+- Disable ARM builds (#1241164, #1239516)
+
+* Mon Jul 06 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-1
+- Update to version 25.3.10
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 25.3.5-10
+- Rebuild for boost 1.57.0
+
+* Thu Nov 27 2014 Richard W.M. Jones <rjones@redhat.com> - 25.3.5-9
+- Add aarch64 support.
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 25.3.5-6
+- Rebuild for boost 1.55.0
+
+* Wed Apr 30 2014 Dan HorĂ¡k <dan[at]danny.cz> - 25.3.5-5
+- set ExclusiveArch
+
+* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-4
+- Use strict_build_flags=0 to avoid -Werror
+- Remove unnecessary clean section
+
+* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-3
+- Include galera directories in file list
+- Set CPPFLAGS to optflags
+
+* Wed Apr 23 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-2
+- Fix client certificate verification (#1090604)
+
+* Thu Mar 27 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-1
+- Update to version 25.3.5
+
+* Mon Mar 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-2
+- Add systemd service
+
+* Sun Mar 09 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-1
+- Initial build
diff --git a/garbd-wrapper b/garbd-wrapper
new file mode 100755
index 0000000..ede76f7
--- /dev/null
+++ b/garbd-wrapper
@@ -0,0 +1,38 @@
+#!/usr/bin/sh
+# This script is simple wrapper around garbd, that parses startup configuration.
+# Its main purpose is to bridge the differences between initscript and systemd unit file.
+
+CONFIG_FILE=/etc/sysconfig/garb
+
+source $CONFIG_FILE
+
+# Check that node addresses and group name are configured
+if [ -z "$GALERA_NODES" ]; then
+ echo "List of GALERA_NODES is not configured" >&2
+ exit 1
+fi
+if [ -z "$GALERA_GROUP" ]; then
+ echo "GALERA_GROUP name is not configured" >&2
+ exit 1
+fi
+
+GALERA_PORT=${GALERA_PORT:-4567}
+
+# Find a working node
+for ADDRESS in ${GALERA_NODES} 0; do
+ HOST=$(echo $ADDRESS | cut -d \: -f 1)
+ PORT=$(echo $ADDRESS | cut -s -d \: -f 2)
+ PORT=${PORT:-$GALERA_PORT}
+ ncat --send-only --recv-only $HOST $PORT >/dev/null && break
+done
+if [ ${ADDRESS} == "0" ]; then
+ echo "None of the nodes in GALERA_NODES is accessible" >&2
+ exit 1
+fi
+
+OPTIONS="-a gcomm://$ADDRESS"
+[ -n "$GALERA_GROUP" ] && OPTIONS="$OPTIONS -g $GALERA_GROUP"
+[ -n "$GALERA_OPTIONS" ] && OPTIONS="$OPTIONS -o $GALERA_OPTIONS"
+[ -n "$LOG_FILE" ] && OPTIONS="$OPTIONS -l $LOG_FILE"
+
+exec /usr/sbin/garbd $OPTIONS
diff --git a/garbd.service b/garbd.service
new file mode 100644
index 0000000..9645fe2
--- /dev/null
+++ b/garbd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Galera Arbitrator Daemon
+Documentation=http://www.codership.com/wiki/doku.php?id=galera_arbitrator
+
+[Service]
+ExecStart=/usr/sbin/garbd-wrapper
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sources b/sources
new file mode 100644
index 0000000..ee339e6
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+52b29c5888257918ea4677ff440d5adc galera-26.4.9.tar.gz