galera-vl.spec 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. %bcond_with systemd
  2. %bcond_with python3
  3. %bcond_without cmake
  4. %define mariadb_version 10.6.7
  5. %if %{with python3}
  6. %global scons scons-3
  7. %else
  8. %global scons scons
  9. %endif
  10. Summary: Synchronous multi-master wsrep provider (replication engine)
  11. Name: galera
  12. Version: 26.4.11
  13. Release: 1%{?_dist_release}%{?with_systemd:.systemd}
  14. %global galera_api_version %(echo %{version} | cut -d . -f 1,2)
  15. Group: servers
  16. Vendor: Project Vine
  17. Distribution: Vine Linux
  18. License: GPLv2
  19. URL: http://galeracluster.com/
  20. # Actually, the truth is, we do use galera source tarball provided by MariaDB on
  21. # following URL (without macros):
  22. # https://mirror.vpsfree.cz/mariadb/mariadb-10.2.13/galera-25.3.23/src/galera-25.3.23.tar.gz
  23. Source0: https://downloads.mariadb.com/MariaDB/mariadb-%{mariadb_version}/galera-%{version}/src/%{name}-%{version}.tar.gz
  24. Source1: garbd.service
  25. Source2: garbd-wrapper
  26. Source3: garbd.init
  27. Patch0: galera-python3.patch
  28. BuildRequires: libboost-devel libboost-filesystem libboost-program-options
  29. BuildRequires: check-devel openssl-devel gcc-c++ asio-devel
  30. %if %{with cmake}
  31. BuildRequires: cmake ninja
  32. %else
  33. BuildRequires: scons
  34. %endif
  35. %if %{with systemd}
  36. BuildRequires: systemd
  37. %endif
  38. Requires: nmap
  39. Provides: galera(%{galera_api_version})
  40. %if %{with systemd}
  41. Requires(post): systemd
  42. Requires(preun): systemd
  43. Requires(postun): systemd
  44. %else
  45. Requires(post): chkconfig
  46. Requires(preun): chkconfig initscripts
  47. %endif
  48. %description
  49. Galera is a fast synchronous multi-master wsrep provider (replication engine)
  50. for transactional databases and similar applications. For more information
  51. about wsrep API see http://launchpad.net/wsrep. For a description of Galera
  52. replication engine see http://www.codership.com.
  53. %debug_package
  54. %prep
  55. %setup -q
  56. %if ! %{with cmake}
  57. %if %{with python3}
  58. %patch0 -p1
  59. %endif
  60. %endif
  61. %build
  62. %if %{with cmake}
  63. %global build_ldflags %(echo %{build_ldflags} | sed -e 's/-Wl,--as-needed//')
  64. %endif
  65. %{set_build_flags}
  66. # Workaround for version 26.4.7
  67. export CXXFLAGS="$CXXFLAGS -Wno-error=format-extra-args"
  68. # ... and for 32 bit arches
  69. export CXXFLAGS="$CXXFLAGS -Wno-error=format"
  70. export CFLAGS="$CFLAGS -Wno-error=format-extra-args -Wno-error=format"
  71. # end of workaroound
  72. %if %{with cmake}
  73. %cmake \
  74. -GNinja \
  75. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  76. -DCMAKE_SKIP_RPATH:BOOL=ON
  77. %cmake_build
  78. %else
  79. %{scons} %{?_smp_mflags} strict_build_flags=0
  80. %endif
  81. %install
  82. %if %{with systemd}
  83. install -Dpm644 %{SOURCE1} %{buildroot}%{_unitdir}/garbd.service
  84. install -Dpm755 %{SOURCE2} %{buildroot}%{_sbindir}/garbd-wrapper
  85. %else
  86. install -Dpm644 %{SOURCE3} %{buildroot}%{_initdir}/garbd
  87. %endif
  88. %if %{with cmake}
  89. %cmake_install
  90. pushd %{_vpath_builddir}
  91. mkdir -p %{buildroot}%{_libdir}/galera
  92. mv -f %{buildroot}/usr/lib/libgalera_smm.so %{buildroot}%{_libdir}/galera/
  93. for f in \
  94. galera/src/libgalera_smm_static.so galera/src/libgalera.so \
  95. gcs/src/libgcs4garb.so gcs/src/libgcs.so \
  96. gcache/src/libgcache.so \
  97. gcomm/src/libgcomm.so \
  98. %ifarch x86_64
  99. galerautils/src/libgalerautils_hw_crc32c.so \
  100. %endif
  101. galerautils/src/libgalerautilsxx.so galerautils/src/libgalerautils.so
  102. do
  103. install -Dpm755 $f %{buildroot}%{_libdir}/galera/
  104. done
  105. popd
  106. mkdir -p %{buildroot}%{_sbindir}
  107. mv -f %{buildroot}%{_bindir}/* %{buildroot}%{_sbindir}/
  108. mv -f %{buildroot}%{_datadir}/* %{buildroot}/usr/doc/
  109. mv -f %{buildroot}/usr/man %{buildroot}%{_mandir}
  110. rm -rf rpmdoc
  111. mv -f %{buildroot}/usr/doc ./rpmdoc
  112. install -D -m 644 garb/files/garb.cnf %{buildroot}%{_sysconfdir}/sysconfig/garb
  113. mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
  114. cat <<EOF > %{buildroot}%{_sysconfdir}/ld.so.conf.d/galera.conf
  115. %{_libdir}/galera
  116. EOF
  117. %else
  118. install -D -m 755 garb/garbd %{buildroot}%{_sbindir}/garbd
  119. install -D -m 755 libgalera_smm.so %{buildroot}%{_libdir}/galera/libgalera_smm.so
  120. install -D -m 644 garb/files/garb.cnf %{buildroot}%{_sysconfdir}/sysconfig/garb
  121. install -D -m 644 COPYING %{buildroot}%{_docdir}/galera/COPYING
  122. install -D -m 644 asio/LICENSE_1_0.txt %{buildroot}%{_docdir}/galera/LICENSE.asio
  123. install -D -m 644 scripts/packages/README %{buildroot}%{_docdir}/galera/README
  124. install -D -m 644 scripts/packages/README-MySQL %{buildroot}%{_docdir}/galera/README-MySQL
  125. %endif
  126. %if %{with cmake}
  127. %check
  128. export LD_LIBRARY_PATH=%{buildroot}%{_libdir}/galera
  129. %ctest
  130. %endif
  131. %post
  132. %if %{with systemd}
  133. %systemd_post garbd.service
  134. %else
  135. /sbin/chkconfig --add garbd
  136. %endif
  137. %preun
  138. %if %{with systemd}
  139. %systemd_preun garbd.service
  140. %else
  141. if [ $1 = 0 -o -x /bin/systemctl ]; then
  142. /sbin/service garbd stop >/dev/null 2>/dev/null ||:
  143. /sbin/chkconfig --del garbd
  144. fi
  145. %endif
  146. %postun
  147. %if %{with systemd}
  148. %systemd_postun_with_restart garbd.service
  149. %endif
  150. %files
  151. %license rpmdoc/COPYING
  152. %license rpmdoc/LICENSE.asio
  153. %doc rpmdoc/AUTHORS rpmdoc/README rpmdoc/garb*
  154. %config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb
  155. %{_sysconfdir}/ld.so.conf.d/galera.conf
  156. %dir %{_libdir}/galera
  157. %{_libdir}/galera/*
  158. %{_sbindir}/garbd
  159. %{_mandir}/man8/*
  160. %if %{with systemd}
  161. %{_sbindir}/garbd-wrapper
  162. %{_unitdir}/garbd.service
  163. %else
  164. %{_initdir}/garbd
  165. %endif
  166. %changelog
  167. * Sun Feb 13 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.11-1
  168. - new upstream release.
  169. * Sat Aug 07 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.9-1
  170. - new upstream release.
  171. * Sat May 08 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.8-1
  172. - new upstream release.
  173. - dropped ldconfig scriptlets.
  174. - switched buildsystem to cmake and ninja.
  175. * Tue Feb 23 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.7-1
  176. - new upstream release.
  177. * Sat Feb 20 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.6-1
  178. - new upstream release.
  179. * Wed Aug 12 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.5-1
  180. - new upstream release.
  181. * Thu May 14 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.4-1
  182. - new upstream release.
  183. * Sat Apr 25 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.3-2
  184. - rebuilt with boost-1.72.0.
  185. * Wed Nov 06 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.3-1
  186. - new upstream release.
  187. * Fri Aug 30 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 26.4.2-1
  188. - updated to 26.4.2 for MariaDB-10.4.
  189. * Sun May 05 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 25.3.25-4
  190. - initial build for Vine Linux.
  191. * Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.25-3
  192. - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
  193. * Tue Jan 29 2019 Jonathan Wakely <jwakely@redhat.com> - 25.3.25-2
  194. - Rebuilt for Boost 1.69
  195. * Tue Jan 01 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-1
  196. - Rebase to 25.3.25
  197. * Mon Jul 16 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-5
  198. - Require asio also on rhel
  199. * Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-4
  200. - Add explicit gcc-c++ BR
  201. - Use python3-scons
  202. * Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-3
  203. - Do not require asio on rhel
  204. * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.23-2
  205. - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  206. * Fri Feb 16 2018 Michal Schorm <mschorm@redhat.com> - 25.3.23-1
  207. - Update to 25.3.23
  208. * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.22-2
  209. - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  210. * Fri Nov 24 2017 Honza Horak <hhorak@redhat.com> - 25.3.22-1
  211. - Update to 25.3.22
  212. * Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-6
  213. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
  214. * Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-5
  215. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
  216. * Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-4
  217. - Rebuilt for Boost 1.64
  218. * Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.16-3
  219. - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
  220. * Sat Feb 18 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-2
  221. - Use asio-devel instead of bundled asio library
  222. * Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-2
  223. - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
  224. * Wed Jun 22 2016 Mike Bayer <mbayer@redhat.com> - 25.3.16-1
  225. - Update to 25.3.16
  226. * Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.12-4
  227. - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
  228. * Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 25.3.12-3
  229. - Rebuilt for Boost 1.60
  230. * Wed Sep 30 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 25.3.12-2
  231. - Remove use of -mtune=native which breaks build on secondary architectures
  232. * Fri Sep 25 2015 Richard W.M. Jones <rjones@redhat.com> - 25.3.12-1
  233. - Update to 25.3.12.
  234. - Should fix the build on 32 bit ARM (RHBZ#1241164).
  235. - Remove ExcludeArch (should have read the BZ more closely).
  236. * Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 25.3.10-5
  237. - Rebuilt for Boost 1.59
  238. * Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.10-4
  239. - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
  240. * Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 25.3.10-3
  241. - rebuild for Boost 1.58
  242. * Wed Jul 08 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-2
  243. - Disable ARM builds (#1241164, #1239516)
  244. * Mon Jul 06 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-1
  245. - Update to version 25.3.10
  246. * Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-11
  247. - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
  248. * Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 25.3.5-10
  249. - Rebuild for boost 1.57.0
  250. * Thu Nov 27 2014 Richard W.M. Jones <rjones@redhat.com> - 25.3.5-9
  251. - Add aarch64 support.
  252. * Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-8
  253. - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
  254. * Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-7
  255. - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
  256. * Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 25.3.5-6
  257. - Rebuild for boost 1.55.0
  258. * Wed Apr 30 2014 Dan Horák <dan[at]danny.cz> - 25.3.5-5
  259. - set ExclusiveArch
  260. * Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-4
  261. - Use strict_build_flags=0 to avoid -Werror
  262. - Remove unnecessary clean section
  263. * Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-3
  264. - Include galera directories in file list
  265. - Set CPPFLAGS to optflags
  266. * Wed Apr 23 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-2
  267. - Fix client certificate verification (#1090604)
  268. * Thu Mar 27 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-1
  269. - Update to version 25.3.5
  270. * Mon Mar 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-2
  271. - Add systemd service
  272. * Sun Mar 09 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-1
  273. - Initial build