aboutsummaryrefslogtreecommitdiffstats
path: root/main/mariadb/APKBUILD
blob: 6b3b0ff244f70c685cd0e232ac86ca19b92d0444 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mariadb
pkgver=10.1.11
pkgrel=1
pkgdesc="A fast SQL database server"
url="http://www.mariadb.org"
pkgusers="mysql"
pkggroups="mysql"
arch="all"
license="GPL"
depends="$pkgname-common"
depends_dev="openssl-dev zlib-dev"
makedepends="cmake openssl-dev zlib-dev readline-dev libaio-dev ncurses-dev
	linux-headers"
install="$pkgname.pre-install"
source="https://downloads.mariadb.org/interstitial/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz
	$pkgname.initd
	musl-fix-inttype.patch
	fix-mysql-install-db-path.patch
	0001-Fix-segfault-with-musl-libc-due-to-bad-use-of-strerr.patch
	"

subpackages="$pkgname-doc $pkgname-dev $pkgname-common $pkgname-libs
	$pkgname-client $pkgname-bench $pkgname-test:mytest
	mysql mysql-client:_compat_client mysql-bench:_compat_bench"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
			*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	cmake . -DBUILD_CONFIG=mysql_release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DSYSCONFDIR=/etc/mysql \
		-DMYSQL_DATADIR=/var/lib/mysql \
		-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
		-DDEFAULT_CHARSET=utf8 \
		-DDEFAULT_COLLATION=utf8_general_ci \
		-DENABLED_LOCAL_INFILE=ON \
		-DINSTALL_INFODIR=share/mysql/docs \
		-DINSTALL_MANDIR=share/man \
		-DINSTALL_PLUGINDIR=lib/mysql/plugin \
		-DINSTALL_SCRIPTDIR=bin \
		-DINSTALL_INCLUDEDIR=include/mysql \
		-DINSTALL_DOCREADMEDIR=share/mysql \
		-DINSTALL_SUPPORTFILESDIR=share/mysql \
		-DINSTALL_MYSQLSHAREDIR=share/mysql \
		-DINSTALL_DOCDIR=share/mysql/docs \
		-DINSTALL_SHAREDIR=share/mysql \
		-DWITH_READLINE=ON \
		-DWITH_ZLIB=system \
		-DWITH_SSL=system \
		-DWITH_LIBWRAP=OFF \
		-DWITH_JEMALLOC=no \
		-DWITH_EXTRA_CHARSETS=complex \
		-DWITH_EMBEDDED_SERVER=ON \
		-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
		-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
		-DWITH_INNOBASE_STORAGE_ENGINE=1 \
		-DWITH_PARTITION_STORAGE_ENGINE=1 \
		-DPLUGIN_TOKUDB=NO \
		-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
		-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
		-DWITHOUT_PBXT_STORAGE_ENGINE=1 \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir/" install || return 1

	install -Dm 755 "$startdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1

	# use small example config as default, which has tcp disabled
	install -Dm 640 -o mysql  "$pkgdir"/usr/share/mysql/my-medium.cnf \
		"$pkgdir"/etc/mysql/my.cnf || return 1

	# libmysqlclient_r is no more.  Upstream tries to replace it with
	# symlinks but that really doesn't work (wrong soname in particular).
	# We'll keep just the devel libmysqlclient_r.so link, so that
	# rebuilding without any source change is enough to get rid of
	# dependency on libmysqlclient_r.
	rm -f "$pkgdir"/usr/lib/libmysqlclient_r.so*
	ln -s libmysqlclient.so "$pkgdir"/usr/lib/libmysqlclient_r.so

	# mysql-test includes one executable that doesn't belong under
	# /usr/share, so move it and provide a symlink
	mv "$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process \
		"$pkgdir"/usr/bin
	ln -s ../../../../bin/my_safe_process \
		"$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process
}

dev(){
	default_dev
	replaces="libmysqlclient mysql-dev"
	provides="mysql-dev=$pkgver-r$pkgrel"
}

libs() {
	pkgdesc="MariaDB client library"
	replaces="mariadb libmysqlclient"
	depends="mariadb-common"
	mkdir -p "$subpkgdir"/usr/lib \
		"$subpkgdir"/usr/share/mysql \
		|| return 1
	mv "$pkgdir"/usr/lib/libmysqlclient.so* \
		"$subpkgdir"/usr/lib/ \
		|| return 1
}

common() {
	pkgdesc="MariaDB common files for boh server and client"
	replaces="mysql-common"
	depends=
	mkdir -p "$subpkgdir"/usr/share/mysql
	mv "$pkgdir"/etc "$subpkgdir"/ || return 1
	local lang="charsets danish english french greek italian korean norwegian-ny
		portuguese russian slovak swedish czech dutch estonian german
		hungarian japanese norwegian polish romanian serbian spanish
		ukrainian"
	for l in $lang; do
		mv "$pkgdir"/usr/share/mysql/$l \
			"$subpkgdir"/usr/share/mysql/ || return 1
	done
}

mytest() {
	pkgdesc="The test suite distributed with MariaDB"
	mkdir -p "$subpkgdir"/usr/bin || return 1
	mv "$pkgdir"/usr/bin/mysql_client_test \
		"$pkgdir"/usr/mysql-test \
		"$pkgdir"/usr/bin/my_safe_process \
		"$subpkgdir"/usr/bin/ \
		|| return 1
}

client() {
	pkgdesc="client for the MariaDB database"
	depends="mariadb-common"
	install=""
	local bins="myisam_ftdump mysql mysqlaccess mysqladmin mysqlbug
		mysqlcheck mysqldump mysqldumpslow mysql_find_rows
		mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid"
	mkdir -p "$subpkgdir"/usr/bin/ || return 1
	for i in $bins; do
		mv "$pkgdir"/usr/bin/${i} "$subpkgdir"/usr/bin/ || return 1
	done
}

bench() {
	pkgdesc="MariaDB benchmark scripts and data"
	replaces="mariadb"
	mkdir -p "$subpkgdir"/usr/share/
	mv "$pkgdir"/usr/sql-bench "$subpkgdir"/usr/share
}

_compat() {
	pkgdesc="Dummy package for $1 migration"
	depends="$2"
	mkdir -p "$subpkgdir"
}

mysql() { _compat mysql mariadb; }
_compat_client() { _compat mysql-client mariadb-client; }
_compat_bench() { _compat mysql-bench mariadb-client; }

md5sums="c199608ae4282f16007dc8c270ff2439  mariadb-10.1.11.tar.gz
2cf887d864e05947f5b831bd7ca06b74  mariadb.initd
14adb188bde2359d94a5d661ab793cee  musl-fix-inttype.patch
b233fb7015a9659f5b825cd8010d2b52  fix-mysql-install-db-path.patch
b32eed97ab575140685eeae4a56205a2  0001-Fix-segfault-with-musl-libc-due-to-bad-use-of-strerr.patch"
sha256sums="cd32927370343b4f14bcc6073bca163623c27843ae7bc59c8c6a9ebeda0325ce  mariadb-10.1.11.tar.gz
49bab0ec69432d5c56c53ff83488bfa5eb2859bc95a12e8fc7f12d1f0403f0c6  mariadb.initd
2a66efddb9c5e8076da3d9c602bbfb9413917ab4b5d1015459f550da8ac10c87  musl-fix-inttype.patch
0f4d97cc9d512fc43cdb4b2f2a6dc16b37cb72a18c7d7a3e23e11a116d119904  fix-mysql-install-db-path.patch
2253fa4b0470d4bcfb183967f7658f04867a31b3ce1ffbe22926a52bf595c616  0001-Fix-segfault-with-musl-libc-due-to-bad-use-of-strerr.patch"
sha512sums="5963aa4a7ce468ae46296cd4f83ed5922b1c00274a5d678ad6d0c36754c6e3edb3adc7286d398aac31a5652fca6c5d5480320e4ebae5b4a78619b4bd358bd80b  mariadb-10.1.11.tar.gz
53d28d688fc9b45684f8368971c01424e5388d39dfaad8b2c432c54d5fabadf2388786303e92c5ca734cb95b4618863c23f7be2a618efc97854536c3a9dc1240  mariadb.initd
17ee255222ec9d7601554e607586ac1d0a0b818a4547e30a2739e7163df0439357b011f6848fbff4d28e93830256165a29ce8b20f25256d493d4605f253061ef  musl-fix-inttype.patch
f85e96490de56aa4e6115f931bf256bef4e1b93cadbe4ac947d6abdc03072bf2d0872e0268ae37cd98edf13538ece73e9f8b6efa8133bab23168a825c5066ab1  fix-mysql-install-db-path.patch
ff1390b4718cfa6cd02947a82a404ea51483678a5cb52651c3b9d243dbc17c3b37df1013aeab618fa1077f930e75ac104168d7853880b0e2e95a32a9bcd5a2f2  0001-Fix-segfault-with-musl-libc-due-to-bad-use-of-strerr.patch"