galera-vl.spec 11 KB

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