buildout.cfg 6.12 KB
Newer Older
1 2 3 4 5
# MariaDB - a database server that offers drop-in replacement functionality for MySQL.
# http://mariadb.org/

[buildout]
extends =
6
  ../binutils/buildout.cfg
7
  ../bzip2/buildout.cfg
8
  ../cmake/buildout.cfg
9
  ../groonga/buildout.cfg
10
  ../jemalloc/buildout.cfg
11
  ../libaio/buildout.cfg
12
  ../libxml2/buildout.cfg
13
  ../lz4/buildout.cfg
Łukasz Nowak's avatar
Łukasz Nowak committed
14
  ../ncurses/buildout.cfg
15
  ../openssl/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
16
  ../patch/buildout.cfg
17
  ../pcre/buildout.cfg
18
  ../pkgconfig/buildout.cfg
Łukasz Nowak's avatar
Łukasz Nowak committed
19
  ../readline/buildout.cfg
20
  ../snappy/buildout.cfg
21
  ../xz-utils/buildout.cfg
22
  ../zlib/buildout.cfg
23
  ../unixodbc/buildout.cfg
24
  ../zstd/buildout.cfg
25 26 27 28

parts =
  mariadb

29
[mariadb-10.4]
30
recipe = slapos.recipe.cmmi
31
shared = true
32
url = https://archive.mariadb.org//mariadb-${:version}/source/mariadb-${:version}.tar.gz
33 34
version = 10.4.25
md5sum = 76e6ee973adb7deb15d7936f710eb5a4
35
pre-configure =
36
  set '\bSET(PLUGIN_AUTH_PAM YES CACHE BOOL "")' cmake/build_configurations/mysql_release.cmake
37 38
  grep -q "$@"
  sed -i "/$1/d" "$2"
39 40
configure-command = ${cmake:location}/bin/cmake
configure-options =
Julien Muchembled's avatar
Julien Muchembled committed
41
  -DCMAKE_INSTALL_PREFIX=@@LOCATION@@
42 43 44 45 46 47 48
  -DBUILD_CONFIG=mysql_release
  -DDEFAULT_CHARSET=utf8
  -DDEFAULT_COLLATION=utf8_unicode_ci
  -DWITH_SSL=system
  -DWITH_ZLIB=system
  -DWITH_READLINE=0
  -DWITH_PIC=1
49
  -DWITH_PCRE=system
50
  -DENABLE_DTRACE=0
51 52
  -DWITH_EXTRA_CHARSETS=complex
  -DWITH_EMBEDDED_SERVER=0
53
  -DWITH_JEMALLOC=yes
54
  -DWITH_INNODB_BZIP2=ON
55
  -DWITH_INNODB_LZ4=ON
56
  -DWITH_INNODB_LZMA=ON
57 58 59 60
  -DWITH_INNODB_SNAPPY=ON
  -DWITH_ROCKSDB_LZ4=ON
  -DWITH_ROCKSDB_snappy=ON
  -DWITH_ROCKSDB_ZSTD=ON
61
  -DWITH_SAFEMALLOC=OFF
62 63 64
  -DPLUGIN_DAEMON_EXAMPLE=NO
  -DPLUGIN_EXAMPLE=NO
  -DPLUGIN_MROONGA=NO
65 66 67
  -DCMAKE_C_FLAGS="${:CMAKE_CFLAGS}"
  -DCMAKE_CXX_FLAGS="${:CMAKE_CFLAGS}"
  -DCMAKE_INSTALL_RPATH=${:CMAKE_LIBRARY_PATH}
68 69
  -DCMAKE_INCLUDE_PATH=${unixodbc:location}/include
  -DCMAKE_LIBRARY_PATH=${unixodbc:location}/lib
70 71 72 73
# for RocksDB - see
#  https://lore.kernel.org/linux-btrfs/ed3642c2-682e-08a1-f18d-2d63409b7631@nexedi.com/T/
  -DWITH_FALLOCATE=NO
##
74
CMAKE_CFLAGS = -I${bzip2:location}/include -I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${readline5:location}/include -I${xz-utils:location}/include -I${zlib:location}/include -I${unixodbc:location}/include -I${lz4:location}/include -I${snappy:location}/include -I${zstd:location}/include
75
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${readline5:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib:${unixodbc:location}/lib:${lz4:location}/lib:${snappy:location}/lib:${zstd:location}/lib
76 77
environment =
  CMAKE_PROGRAM_PATH=${cmake:location}/bin
78
  CMAKE_INCLUDE_PATH=${bzip2:location}/include:${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${readline5:location}/include:${xz-utils:location}/include:${zlib:location}/include:${unixodbc:location}/include:${lz4:location}/include:${snappy:location}/include:${zstd:location}/include
79
  CMAKE_LIBRARY_PATH=${:CMAKE_LIBRARY_PATH}
80
  LDFLAGS=-L${bzip2:location}/lib -L${jemalloc:location}/lib -L${libaio:location}/lib -L${pcre:location}/lib -L${xz-utils:location}/lib -L${zlib:location}/lib -L${unixodbc:location}/lib -L${lz4:location}/lib -L${snappy:location}/lib -L${zstd:location}/lib
81
  PATH=${patch:location}/bin:%(PATH)s
82 83
patch-options = -p1
patches =
84
  https://sources.debian.org/data/main/m/mariadb-10.3/1:10.3.34-0+deb10u1/debian/patches/0024-Revert-to-using-system-pcre-library.patch#1c6a0f2634f5a56122299674b77b1131
85
post-install =
Julien Muchembled's avatar
Julien Muchembled committed
86
  ldd=`ldd %(location)s/lib/plugin/ha_rocksdb.so`
87 88 89
  for x in ${lz4:location} ${snappy:location} ${zstd:location}
  do echo "$ldd" |grep -qF " $x/lib/"
  done
90
  set -- wsrep-lib/wsrep-API/*/wsrep_api.h
Julien Muchembled's avatar
Julien Muchembled committed
91 92
  install -DpT $1 %(location)s/$1
  cp -a wsrep-lib/include %(location)s/wsrep-lib
93

94
[mroonga-mariadb]
95
# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users.
96 97 98 99
# https://mroonga.org/
#
# To use mroonga, configure mariadb instance to use ${mroonga-mariadb:plugin-dir}
# as plugin-dir ( https://mariadb.com/kb/en/server-system-variables/#plugin_dir )
100
recipe = slapos.recipe.cmmi
101
shared = true
102 103
url = https://packages.groonga.org/source/mroonga/mroonga-12.07.tar.gz
md5sum = bee7506e08deda9a607d85ed03b8b62e
104
pre-configure =
105 106
  rm -rf fake_mariadb_source
  mkdir -p fake_mariadb_source
107 108 109
  cd fake_mariadb_source
  ln -s ${mariadb:location}/wsrep-lib
  cp -a ${mariadb:location}/include/mysql/server include
110 111
  chmod -R u+w include  # so that buildout can delete this compile-dir after install
  mv include/private sql
112
  mkdir -p ${:plugin-dir}
113
configure-options =
114
  --with-mysql-source=fake_mariadb_source
115
  --with-mysql-config=${mariadb:location}/bin/mysql_config
116 117
  --disable-static
  --disable-document
118
post-install =
119
  cp -rs ${mariadb:location}/lib/plugin/* ${:plugin-dir}
120
plugin-dir = @@LOCATION@@/lib/plugin
121
install-sql = @@LOCATION@@/share/mroonga/install.sql
122
make-targets = plugindir=${:plugin-dir} install
123 124
patch-options = -p1
patches =
125
  ${:_profile_base_location_}/mroonga_boolean.patch#c818568fe35ca6a4298f18e575d962a0
126
environment =
127
  PATH=${binutils:location}/bin:${groonga:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
128
  CPPFLAGS=-I${groonga:location}/include/groonga -I${pcre:location}/include
129
  LDFLAGS=-L${groonga:location}/lib
130
  PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig:${groonga-normalizer-mysql:location}/lib/pkgconfig
131 132


133
### XXX keep using mariadb 10.3 because 10.4 causes crash
134
### (we just override here for easier revert)
135 136
[mariadb-10.3]
<= mariadb-10.4
137 138
version = 10.3.35
md5sum = b7a2e69d103eda3dd61c8bad8775c7bd
139
post-install =
Julien Muchembled's avatar
Julien Muchembled committed
140
  ldd=`ldd %(location)s/lib/plugin/ha_rocksdb.so`
141 142 143
  for x in ${lz4:location} ${snappy:location} ${zstd:location}
  do echo "$ldd" |grep -qF " $x/lib/"
  done
Julien Muchembled's avatar
Julien Muchembled committed
144 145
  mkdir -p %(location)s/include/wsrep &&
  cp -p wsrep/wsrep_api.h %(location)s/include/wsrep
146

147 148
[mariadb]
location = ${mariadb-10.3:location}
149
### /XXX keep using mariadb 10.3 because 10.4 causes crash