Merge lp:~percona-core/percona-server/percona-server-tokudb-rc into lp:percona-server/5.6

Proposed by Tomislav Plavcic
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 614
Proposed branch: lp:~percona-core/percona-server/percona-server-tokudb-rc
Merge into: lp:percona-server/5.6
Diff against target: 1026 lines (+801/-13) (has conflicts)
12 files modified
VERSION (+5/-0)
build-ps/build-binary.sh (+30/-3)
build-ps/debian/changelog (+6/-0)
build-ps/debian/control.tokudb (+266/-0)
build-ps/debian/percona-server-tokudb-5.6.files (+3/-0)
build-ps/debian/percona-server-tokudb-5.6.postinst (+18/-0)
build-ps/debian/rules (+1/-1)
build-ps/debian/rules.tokudb (+279/-0)
build-ps/percona-server.spec (+178/-8)
scripts/mysqld_safe.sh (+13/-0)
sql/handler.h (+1/-0)
storage/innobase/include/univ.i (+1/-1)
Text conflict in VERSION
To merge this branch: bzr merge lp:~percona-core/percona-server/percona-server-tokudb-rc
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Approve
Laurynas Biveinis Pending
Review via email: mp+223199@code.launchpad.net

This proposal supersedes a proposal from 2014-06-13.

Description of the change

Release branch for Release 5.6.17-66.0 (TokuDB RC)

To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote : Posted in a previous version of this proposal

sql/handler.h change is spurious and will be reverted in trunk after this is merged.

mysqld_safe.sh patch means that jemalloc will always be loaded if found in the checked paths, regardless of TokuDB presence, with no option to avoid it. Was this agreed on somewhere?

review: Needs Information
Revision history for this message
Tomislav Plavcic (tplavcic) wrote : Posted in a previous version of this proposal

Hi Laurynas,
regarding the jemalloc loading I have sent you mail that I sent to Vadim and his response - as I had same concerns. But basically he says it's ok, although feel free to comment it more if you think different.

Revision history for this message
Tomislav Plavcic (tplavcic) wrote :

The problem with change in sql/handler.h is that without it it won't compile (see link below):
http://jenkins.percona.com/job/percona-server-5.6-redhat-binary-test/4/label_exp=centos6-64/consoleFull
So we need to see what to do about it - will also write comment on the tokudb mailing list - there was some thread about this.

Revision history for this message
Alexey Kopytov (akopytov) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'VERSION'
2--- VERSION 2014-06-11 13:45:54 +0000
3+++ VERSION 2014-06-16 07:08:31 +0000
4@@ -1,4 +1,9 @@
5 MYSQL_VERSION_MAJOR=5
6 MYSQL_VERSION_MINOR=6
7+<<<<<<< TREE
8 MYSQL_VERSION_PATCH=19
9 MYSQL_VERSION_EXTRA=-66.1
10+=======
11+MYSQL_VERSION_PATCH=17
12+MYSQL_VERSION_EXTRA=-66.0
13+>>>>>>> MERGE-SOURCE
14
15=== modified file 'build-ps/build-binary.sh'
16--- build-ps/build-binary.sh 2014-06-11 13:45:54 +0000
17+++ build-ps/build-binary.sh 2014-06-16 07:08:31 +0000
18@@ -24,6 +24,7 @@
19 CRYPTO_LIBRARY=''
20 TAG=''
21 #
22+CMAKE_BUILD_TYPE=''
23 COMMON_FLAGS=''
24 #
25 # Some programs that may be overriden
26@@ -164,6 +165,24 @@
27 export CC=${CC:-gcc}
28 export CXX=${CXX:-g++}
29
30+# TokuDB cmake flags
31+if test -d "$SOURCEDIR/storage/tokudb"
32+then
33+ CMAKE_OPTS="${CMAKE_OPTS:-} -DBUILD_TESTING=OFF -DUSE_GTAGS=OFF -DUSE_CTAGS=OFF -DUSE_ETAGS=OFF -DUSE_CSCOPE=OFF"
34+
35+ if test "x$CMAKE_BUILD_TYPE" != "xDebug"
36+ then
37+ CMAKE_OPTS="${CMAKE_OPTS:-} -DTOKU_DEBUG_PARANOID=OFF"
38+ else
39+ CMAKE_OPTS="${CMAKE_OPTS:-} -DTOKU_DEBUG_PARANOID=ON"
40+ fi
41+
42+ if [[ $CMAKE_OPTS == *WITH_VALGRIND=ON* ]]
43+ then
44+ CMAKE_OPTS="${CMAKE_OPTS:-} -DUSE_VALGRIND=ON"
45+ fi
46+fi
47+
48 #
49 if [ -n "$(which rpm)" ]; then
50 export COMMON_FLAGS=$(rpm --eval %optflags | sed -e "s|march=i386|march=i686|g")
51@@ -235,9 +254,17 @@
52 (
53 cd "$INSTALLDIR/usr/local/"
54
55- $TAR czf "$WORKDIR_ABS/$PRODUCT_FULL.tar.gz" \
56- --owner=0 --group=0 "$PRODUCT_FULL/"
57-
58+ find $PRODUCT_FULL ! -type d ! -iname "*tdb*.h" -a ! -iname "*toku*" | sort > $WORKDIR_ABS/tokudb_server.list
59+ $TAR --owner=0 --group=0 -czf "$WORKDIR_ABS/$PRODUCT_FULL.tar.gz" -T $WORKDIR_ABS/tokudb_server.list
60+ rm -f $WORKDIR_ABS/tokudb_server.list
61+
62+ if test -e "$PRODUCT_FULL/lib/mysql/plugin/ha_tokudb.so"
63+ then
64+ TARGETTOKU=$(echo $PRODUCT_FULL | sed 's/.Linux/.TokuDB.Linux/')
65+ find $PRODUCT_FULL ! -type d -iname "*toku*" -o -iname "*tdb*.h" > $WORKDIR_ABS/tokudb_plugin.list
66+ $TAR --owner=0 --group=0 -czf "$WORKDIR_ABS/$TARGETTOKU.tar.gz" -T $WORKDIR_ABS/tokudb_plugin.list
67+ rm -f $WORKDIR_ABS/tokudb_plugin.list
68+ fi
69 )
70
71 # Clean up
72
73=== modified file 'build-ps/debian/changelog'
74--- build-ps/debian/changelog 2014-06-11 13:45:54 +0000
75+++ build-ps/debian/changelog 2014-06-16 07:08:31 +0000
76@@ -1,3 +1,9 @@
77+percona-server-5.6 (5.6.17-rel66.0) unstable; urgency=low
78+
79+ * Added packaging changes regarding TokuDB
80+
81+ -- Tomislav Plavcic <tomislav.plavcic@percona.com> Mon, 26 May 2014 08:28:27 +0200
82+
83 percona-server-5.6 (5.6.17-rel65.0) unstable; urgency=low
84
85 * Fixed provides/breaks/replaces for client/server debian packages
86
87=== added file 'build-ps/debian/control.tokudb'
88--- build-ps/debian/control.tokudb 1970-01-01 00:00:00 +0000
89+++ build-ps/debian/control.tokudb 2014-06-16 07:08:31 +0000
90@@ -0,0 +1,266 @@
91+Source: percona-server-5.6
92+Section: database
93+Priority: extra
94+Maintainer: Percona Server Development Team <mysql-dev@percona.com>
95+Uploaders: George Lorch <george.lorch@percona.com>,
96+ Alexey Bychko <alexey.bychko@percona.com>
97+Build-Depends: libtool (>= 1.4.2-7),
98+ procps,
99+ debhelper (>= 7.0.50~),
100+ file (>= 3.28),
101+ libncurses5-dev (>= 5.0-6),
102+ perl (>= 5.6.0),
103+ libwrap0-dev (>= 7.6-8.3),
104+ zlib1g-dev (>= 1:1.1.3-5),
105+ libreadline-dev,
106+ psmisc,
107+ po-debconf,
108+ chrpath,
109+ ghostscript,
110+ gawk,
111+ bison,
112+ lsb-release,
113+ cmake,
114+ gcc (>= 4.4),
115+ g++ (>= 4.4),
116+ libaio-dev[linux-any],
117+ libpam-dev,
118+ libssl-dev
119+Standards-Version: 3.9.4
120+Homepage: http://www.percona.com/software/percona-server/
121+Vcs-Bzr: lp:percona-server/5.6
122+
123+Package: percona-server-tokudb-5.6
124+Section: database
125+Architecture: any
126+Depends: percona-server-server-5.6 (= ${binary:Version}), libjemalloc1 (>= 3.3.0), ${misc:Depends}
127+Description: TokuDB engine plugin for Percona Server
128+ .
129+ TokuDB is a storage engine for MySQL and MariaDB that is specifically
130+ designed for high performance on write-intensive workloads. It achieves
131+ this via Fractal Tree indexing. TokuDB is a scalable, ACID and MVCC compliant
132+ storage engine that provides indexing-based query improvements, offers online
133+ schema modifications, and reduces slave lag for both hard disk drives and flash memory.
134+ .
135+ This package includes the TokuDB plugin library.
136+
137+Package: libperconaserverclient18.1
138+Section: libs
139+Architecture: any
140+Depends: percona-server-common-5.6, ${misc:Depends}, ${shlibs:Depends}
141+Replaces: libpercona-server-client16, libperconaserverclient18
142+Description: Percona Server database client library
143+ Percona Server is a fast, stable and true multi-user,
144+ multi-threaded SQL database server. SQL (Structured Query Language)
145+ is the most popular database query language in the world. The main
146+ goals of Percona Server are speed, robustness and ease of use.
147+ .
148+ This package includes the client library.
149+
150+Package: libperconaserverclient18.1-dev
151+Architecture: any
152+Section: libdevel
153+Depends: libperconaserverclient18.1 (= ${binary:Version}),
154+ zlib1g-dev, ${misc:Depends}
155+Breaks: libperconaserverclient18-dev,
156+ libperconaserverclient16-dev,
157+ libperconaserverclient15-dev,
158+ libperconaserverclient14-dev,
159+ libperconaserverclient12-dev,
160+ libperconaserverclient10-dev,
161+ libmysqlclient-dev,
162+ libmysqlclient18-dev,
163+ libmariadbclient-dev
164+Replaces: libperconaserverclient18-dev,
165+ libperconaserverclient16-dev,
166+ libperconaserverclient15-dev,
167+ libperconaserverclient14-dev,
168+ libperconaserverclient12-dev,
169+ libperconaserverclient10-dev,
170+ libpercona-xtradb-client-dev,
171+ libmariadbclient-dev
172+Provides: libmysqlclient-dev
173+Description: Percona Server database development files
174+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
175+ database server. SQL (Structured Query Language) is the most popular
176+ database query language in the world. The main goals of Percona Server are
177+ speed, robustness and ease of use.
178+ .
179+ This package includes development libraries and header files.
180+
181+Package: percona-server-common-5.6
182+Section: database
183+Architecture: any
184+Depends: ${misc:Depends}
185+Description: Percona Server database common files (e.g. /etc/mysql/my.cnf)
186+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
187+ database server. SQL (Structured Query Language) is the most popular database
188+ query language in the world. The main goals of Percona Server are speed,
189+ robustness and ease of use.
190+ .
191+ This package includes files needed by all versions of the client library
192+ (e.g. /etc/mysql/my.cnf).
193+
194+Package: percona-server-client-5.6
195+Architecture: any
196+Depends: debianutils (>=1.6),
197+ libdbi-perl,
198+ percona-server-common-5.6 (>= ${source:Version}),
199+ libperconaserverclient18.1 (>= ${source:Version}),
200+ ${shlibs:Depends},
201+ ${misc:Depends}
202+Provides: mysql-client,
203+ virtual-mysql-client,
204+ virtual-mysql-client-core
205+Breaks: mysql-client-5.0,
206+ mysql-client-core-5.1,
207+ mysql-client-core-5.5,
208+ mysql-client-5.1,
209+ mysql-client-5.5,
210+ mysql-client-5.6,
211+ percona-xtradb-client-5.0,
212+ percona-server-client-5.1,
213+ percona-server-client-5.5,
214+ mariadb-client,
215+ mariadb-client-core-5.5,
216+ mariadb-client-5.5,
217+ virtual-mysql-client,
218+ virtual-mysql-client-core
219+Replaces: mysql-client-5.0,
220+ mysql-client-core-5.1,
221+ mysql-client-core-5.5,
222+ mysql-client-5.1,
223+ mysql-client-5.5,
224+ mysql-client-5.6,
225+ percona-xtradb-client-5.0,
226+ percona-server-client-5.1,
227+ percona-server-client-5.5,
228+ mariadb-client,
229+ mariadb-client-core-5.5,
230+ mariadb-client-5.5,
231+ virtual-mysql-client,
232+ virtual-mysql-client-core
233+Description: Percona Server database client binaries
234+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
235+ database server. SQL (Structured Query Language) is the most popular database
236+ query language in the world. The main goals of Percona Server are speed,
237+ robustness and ease of use.
238+ .
239+ This package includes the client binaries and the additional tools
240+ innotop and mysqlreport.
241+
242+Package: percona-server-server-5.6
243+Architecture: any
244+Suggests: tinyca
245+Pre-Depends: percona-server-common-5.6 (>= ${source:Version}),
246+ adduser (>= 3.4.0),
247+ debconf
248+Depends: percona-server-client-5.6 (>= ${source:Version}),
249+ libdbi-perl,
250+ libdbd-mysql-perl,
251+ perl (>= 5.6),
252+ ${shlibs:Depends},
253+ ${misc:Depends},
254+ psmisc,
255+ passwd,
256+ lsb-base (>= 3.0-10)
257+Provides: mysql-server,
258+ virtual-mysql-server,
259+ virtual-mysql-server-core
260+Breaks: mysql-server-5.0,
261+ mysql-server-5.1,
262+ mysql-server-5.5,
263+ mysql-server-5.6,
264+ mysql-server-core-5.1,
265+ percona-xtradb-server-5.0,
266+ percona-server-server-5.1,
267+ percona-server-server-5.5,
268+ mariadb-server,
269+ mariadb-server-core-5.5,
270+ mariadb-server-5.5,
271+ virtual-mysql-server,
272+ virtual-mysql-server-core
273+Replaces: mysql-server-5.0,
274+ mysql-server-5.1,
275+ mysql-server-5.5,
276+ mysql-server-5.6,
277+ mysql-server-core-5.1,
278+ percona-xtradb-server-5.0,
279+ percona-server-server-5.1,
280+ percona-server-server-5.5,
281+ mariadb-server,
282+ mariadb-server-core-5.5,
283+ mariadb-server-5.5,
284+ virtual-mysql-server,
285+ virtual-mysql-server-core
286+Description: Percona Server database server binaries
287+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
288+ database server. SQL (Structured Query Language) is the most popular database
289+ query language in the world. The main goals of Percona Server are speed,
290+ robustness and ease of use.
291+ .
292+ This package includes the server binaries.
293+
294+Package: percona-server-server
295+Section: database
296+Architecture: any
297+Depends: percona-server-server-5.6, ${misc:Depends}
298+Description: Percona Server database server
299+ (metapackage depending on the latest version)
300+ This is an empty package that depends on the current "best" version of
301+ percona-server-server (currently percona-server-server-5.6), as determined
302+ by the Percona Server maintainers. Install this package if in doubt
303+ about which Percona Server version you need. That will install the version
304+ recommended by the package maintainers.
305+ .
306+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
307+ database server. SQL (Structured Query Language) is the most popular database
308+ query language in the world. The main goals of Percona Server are speed,
309+ robustness and ease of use.
310+
311+Package: percona-server-client
312+Section: database
313+Architecture: any
314+Depends: percona-server-client-5.6, ${misc:Depends}
315+Description: Percona Server database client
316+ (metapackage depending on the latest version)
317+ This is an empty package that depends on the current "best" version of
318+ percona-server-client (currently percona-server-client-5.6), as determined
319+ by the Percona Server maintainers. Install this package if in doubt
320+ about which Percona Server version you want, as this is the one we consider
321+ to be in the best shape.
322+
323+Package: percona-server-test-5.6
324+Architecture: any
325+Depends: percona-server-client-5.6 (>= ${source:Version}),
326+ percona-server-server-5.6 (>= ${source:Version}),
327+ ${misc:Depends},
328+ ${shlibs:Depends}
329+Description: Percona Server database test suite
330+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
331+ database server. SQL (Structured Query Language) is the most popular database
332+ query language in the world. The main goals of Percona Server are speed,
333+ robustness and ease of use.
334+ .
335+ This package includes the Percona Server test framework that provides
336+ a means for verifying that Percona Server and its client programs
337+ operate according to expectations
338+
339+Package: percona-server-source-5.6
340+Architecture: any
341+Depends: ${misc:Depends}, ${shlibs:Depends}
342+Description: Percona Server 5.6 source
343+ This package includes the source code to Percona Server as configured before
344+ building.
345+
346+Package: percona-server-5.6-dbg
347+Architecture: any
348+Section: debug
349+Depends: percona-server-server-5.6 (= ${binary:Version}), ${misc:Depends}
350+Description: Debugging package for Percona Server
351+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
352+ database server. SQL (Structured Query Language) is the most popular database
353+ query language in the world. The main goals of Percona Server are speed,
354+ robustness and ease of use.
355+ .
356+ This package contains the debugging symbols for the Percona Server binaries.
357
358=== added file 'build-ps/debian/percona-server-tokudb-5.6.files'
359--- build-ps/debian/percona-server-tokudb-5.6.files 1970-01-01 00:00:00 +0000
360+++ build-ps/debian/percona-server-tokudb-5.6.files 2014-06-16 07:08:31 +0000
361@@ -0,0 +1,3 @@
362+usr/lib/mysql/plugin/ha_tokudb.so
363+usr/bin/tokuftdump
364+usr/include/tdb-internal.h
365
366=== added file 'build-ps/debian/percona-server-tokudb-5.6.postinst'
367--- build-ps/debian/percona-server-tokudb-5.6.postinst 1970-01-01 00:00:00 +0000
368+++ build-ps/debian/percona-server-tokudb-5.6.postinst 2014-06-16 07:08:31 +0000
369@@ -0,0 +1,18 @@
370+#!/bin/bash -e
371+
372+# Some postinstall info about TokuDB
373+if [ -z "$2" ]; then
374+ echo -e "\n\n * This release of Percona Server is distributed with TokuDB storage engine."
375+ echo -e " * Run the following commands to enable the TokuDB storage engine in Percona Server:\n"
376+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';\""
377+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so';\""
378+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so';\""
379+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so';\""
380+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so';\""
381+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so';\""
382+ echo -e "\tmysql -e \"INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so';\""
383+ echo -e "\n * See http://www.percona.com/doc/percona-server/5.6/tokudb/tokudb_intro.html for more details\n\n"
384+fi
385+
386+#DEBHELPER#
387+exit 0
388
389=== modified file 'build-ps/debian/rules'
390--- build-ps/debian/rules 2014-06-11 13:45:54 +0000
391+++ build-ps/debian/rules 2014-06-16 07:08:31 +0000
392@@ -137,7 +137,7 @@
393 rm -rf $(builddir)
394
395 debconf-updatepo
396- rm -f $(EXPORTED_SOURCE_TARBALL)
397+ # rm -f $(EXPORTED_SOURCE_TARBALL)
398 dh_clean -v
399
400
401
402=== added file 'build-ps/debian/rules.tokudb'
403--- build-ps/debian/rules.tokudb 1970-01-01 00:00:00 +0000
404+++ build-ps/debian/rules.tokudb 2014-06-16 07:08:31 +0000
405@@ -0,0 +1,279 @@
406+#!/usr/bin/make -f
407+
408+export DH_VERBOSE=1
409+export DEB_BUILD_HARDENING=1
410+
411+PACKAGE=percona-server-5.6
412+PS_VERSION_EXTRA = '@@PERCONA_VERSION_EXTRA@@'
413+REVISION = '@@REVISION@@'
414+COMPILATION_COMMENT_RELEASE = "Percona Server (GPL), Release $(PS_VERSION_EXTRA), Revision $(REVISION)"
415+
416+TMP=$(CURDIR)/debian/tmp/
417+prefix=/usr
418+
419+ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH)
420+ARCH_OS = $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS)
421+NCPU = $(shell grep -c processor /proc/cpuinfo)
422+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
423+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
424+
425+export MYSQL_BUILD_CC=$(DEB_HOST_GNU_TYPE)-gcc$(USE_THIS_GCC_VERSION)
426+export MYSQL_BUILD_CXX=$(DEB_HOST_GNU_TYPE)-g++$(USE_THIS_GCC_VERSION)
427+
428+DEB_SOURCE_PACKAGE ?= $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':'))
429+DEB_VERSION ?= $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
430+DEB_NOEPOCH_VERSION ?= $(shell echo $(DEB_VERSION) | cut -d: -f2-)
431+DEB_UPSTREAM_VERSION ?= $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//')
432+DEB_UPSTREAM_VERSION_MAJOR_MINOR := $(shell echo $(DEB_UPSTREAM_VERSION) | sed -r -n 's/^([0-9]+\.[0-9]+).*/\1/p')
433+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
434+
435+EXPORTED_SOURCE_TARBALL = debian/percona-server-source-5.6.tar.gz
436+
437+DISTRIBUTION = $(shell lsb_release -i -s)
438+
439+MYSQL_SRC = $(shell pwd)
440+
441+#MAKE_TEST_TARGET=test-mtr
442+ifneq ($(findstring fulltest,$(DEB_BUILD_OPTIONS)),)
443+# make test-bt is the testsuite run by the MySQL build team
444+# before a release, but it is long
445+ MAKE_TEST_TARGET=test-bt
446+endif
447+
448+USE_ASSEMBLER=--enable-assembler
449+
450+ifneq (,$(filter $(ARCH), amd64 i386))
451+ TESTSUITE_FAIL_CMD=exit 1
452+else
453+ TESTSUITE_FAIL_CMD=true
454+endif
455+
456+builddir = builddir
457+
458+configure: patch configure-stamp
459+
460+configure-stamp:
461+ @echo "RULES.$@"
462+ dh_testdir
463+
464+ifneq ($(ARCH_OS),hurd)
465+ if [ ! -d /proc/self ]; then echo "/proc IS NEEDED" 1>&2; exit 1; fi
466+endif
467+
468+ [ ! -d python-for-subunit2junitxml ] || rm -rf python-for-subunit2junitxml
469+
470+ ( test -d $(builddir) || mkdir $(builddir) ) && cd $(builddir) && \
471+ sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/bin:/usr/bin"} \
472+ CC=$${MYSQL_BUILD_CC:-gcc} \
473+ CFLAGS=$${MYSQL_BUILD_CFLAGS:-"-O2 -g -fno-strict-aliasing"} \
474+ CXX=$${MYSQL_BUILD_CXX:-g++} \
475+ CXXFLAGS=$${MYSQL_BUILD_CXXFLAGS:-"-O3 -g -felide-constructors -fno-exceptions -fno-rtti -fno-strict-aliasing"} \
476+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
477+ \
478+ -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
479+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
480+ -DWITH_LIBWRAP=ON \
481+ -DWITH_ZLIB=system \
482+ -DWITH_SSL=system \
483+ -DCOMPILATION_COMMENT=$(COMPILATION_COMMENT_RELEASE) \
484+ -DSYSTEM_TYPE="debian-linux-gnu" \
485+ -DINSTALL_LAYOUT=RPM \
486+ -DINSTALL_LIBDIR=lib/$(DEB_HOST_MULTIARCH) \
487+ -DINSTALL_PLUGINDIR=lib/mysql/plugin \
488+ -DWITH_EMBEDDED_SERVER=OFF \
489+ -DWITH_INNODB_MEMCACHED=ON \
490+ -DWITH_ARCHIVE_STORAGE_ENGINE=ON \
491+ -DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
492+ -DWITH_FEDERATED_STORAGE_ENGINE=ON \
493+ -DWITH_PAM=ON -DWITH_EXTRA_CHARSETS=all \
494+ -DWITH_VALGRIND=OFF -DUSE_VALGRIND=OFF -DDEBUG_EXTNAME=OFF -DBUILD_TESTING=OFF -DUSE_GTAGS=OFF \
495+ -DUSE_CTAGS=OFF -DUSE_ETAGS=OFF -DUSE_CSCOPE=OFF -DTOKU_DEBUG_PARANOID=OFF ..'
496+
497+ touch $@
498+
499+build: build-arch build-indep
500+build-arch: build-stamp
501+build-indep: build-stamp
502+
503+build-stamp: configure
504+ @echo "RULES.$@"
505+ dh_testdir
506+
507+ [ -f $(EXPORTED_SOURCE_TARBALL) ] || tar -zcf $(EXPORTED_SOURCE_TARBALL) \
508+ --exclude=debian . \
509+ --transform="s,^\./,percona-server-5.6/,"
510+
511+ cd $(builddir) && $(MAKE) -j$(NCPU) VERBOSE=1
512+
513+ifeq ($(findstring nocheck,$(DEB_BUILD_OPTIONS)),)
514+ # Don't know why the following is necessary...
515+ cp unittest/unit.pl $(builddir)/unittest/
516+ cp -r mysql-test/* $(builddir)/mysql-test/
517+ cp -r sql/share/* $(builddir)/sql/share/
518+ cp -r scripts/*sql $(builddir)/scripts/
519+ if [ ! -f testsuite-stamp ] ; then \
520+ (cd $(builddir) && $(MAKE) test-unit) || $(TESTSUITE_FAIL_CMD) ; \
521+ cd $(builddir) && $(MAKE) $(MAKE_TEST_TARGET) || $(TESTSUITE_FAIL_CMD) ; \
522+ fi
523+endif
524+
525+ touch testsuite-stamp
526+
527+ touch build-stamp
528+
529+clean: clean-patched
530+ rm -rf debian/patched
531+
532+clean-patched:
533+ @echo "RULES.clean-patched"
534+ dh_testdir
535+ dh_testroot
536+ rm -f configure-stamp*
537+ rm -f build-stamp*
538+ rm -f testsuite-stamp
539+
540+ [ ! -f Makefile ] || $(MAKE) clean
541+ [ ! -d mysql-test/var ] || rm -rf mysql-test/var
542+ [ ! -d python-for-subunit2junitxml ] || rm -rf python-for-subunit2junitxml
543+
544+ rm -rf $(builddir)
545+
546+ debconf-updatepo
547+ # rm -f $(EXPORTED_SOURCE_TARBALL)
548+ dh_clean -v
549+
550+
551+install: build
552+ @echo "RULES.$@"
553+ dh_testdir
554+ dh_testroot
555+ dh_prep
556+ dh_installdirs
557+
558+ # make install (trailing slash needed for innobase)
559+ (cd $(builddir) && $(MAKE) install DESTDIR=$(TMP)/)
560+
561+ # After installing, remove rpath to make lintian happy.
562+ set +e; \
563+ find ./debian/tmp/ -type f -print0 \
564+ | xargs -0 --no-run-if-empty chrpath -k 2>/dev/null \
565+ | fgrep RPATH= \
566+ | cut -d: -f 1 \
567+ | xargs --no-run-if-empty chrpath -d; \
568+ set -e
569+
570+ # libperconaserverclient: move shared libraries (but not the rest like libheap.a & co)
571+ # libmysqlclient_r is now a symlink to libmysqlclient. But it is
572+ # created wrong by the cmake build system and points at
573+ # libmysqlclient.so instead of the corresponding versioned lib.
574+ for i in `ls $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libperconaserverclient.so*` ; do \
575+ rlib=`basename $$i | sed -e 's/libperconaserverclient\./libperconaserverclient_r./'` ;\
576+ ln -sf `basename $$i` $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/$$rlib ;\
577+ done
578+
579+ # libmysqlclient-dev: forgotten header file since 3.23.25?
580+ #cp $(BUILDDIR)/include/my_config.h $(TMP)/usr/include/mysql/
581+ #cp include/my_dir.h $(TMP)/usr/include/mysql/
582+ # install libmysqld built with -FPIC
583+ install -d -m 0755 -o root -g root $(TMP)/usr/lib/percona-server
584+ #install -m 0644 -o root -g root $(BUILDDIR_PIC)/libmysqld/libmysqld.a $(TMP)/usr/lib/mysql/libmysqld_pic.a
585+ # mysql_config won't report the -fPIC, so give libmysqld-pic users a way to get their flags
586+ #install -m 0755 -o root -g root $(BUILDDIR_PIC)/scripts/mysql_config $(TMP)/usr/bin/mysql_config_pic
587+
588+ # mysql-common: We now provide our own config file.
589+ install -d $(TMP)/etc/mysql
590+ #install -m 0644 debian/additions/my.cnf $(TMP)/etc/mysql/my.cnf
591+
592+ # mysql-client
593+ #FIXME install -m 0755 debian/additions/mysqlreport $(TMP)/usr/bin/
594+ #FIXME install -m 0755 debian/additions/innotop/innotop $(TMP)/usr/bin/
595+ #FIXME install -m 0644 debian/additions/innotop/innotop.1 $(TMP)/usr/share/man/man1/
596+
597+ # mysql-server
598+ mkdir -p $(TMP)/usr/share/doc/percona-server-5.6/examples
599+ mv $(TMP)/usr/share/mysql/*cnf $(TMP)/usr/share/doc/percona-server-5.6/examples/
600+ rm -vf $(TMP)/usr/share/mysql/mi_test_all* \
601+ $(TMP)/usr/share/mysql/mysql-log-rotate \
602+ $(TMP)/usr/share/mysql/mysql.server \
603+ $(TMP)/usr/share/mysql/binary-configure
604+ nm -n $(builddir)/sql/mysqld |gzip -9 > $(TMP)/usr/share/doc/percona-server-5.6/mysqld.sym.gz
605+ # FIXME install -m 0755 debian/additions/echo_stderr $(TMP)/usr/share/mysql/
606+ install -m 0755 debian/additions/debian-start $(TMP)/etc/mysql/
607+ install -m 0755 debian/additions/debian-start.inc.sh $(TMP)/usr/share/mysql/
608+
609+ # install AppArmor profile
610+ # FIXME install -D -m 644 debian/apparmor-profile $(TMP)/etc/apparmor.d/usr.sbin.mysqld
611+ # install Apport hook
612+ # FIXME install -D -m 644 debian/mysql-server-5.6.py $(TMP)/usr/share/apport/package-hooks/source_mysql-5.6.py
613+
614+ install -D -m 0644 $(EXPORTED_SOURCE_TARBALL) $(TMP)/usr/src/percona-server/`basename $(EXPORTED_SOURCE_TARBALL)`
615+
616+ dh_movefiles
617+
618+# Build architecture-independent files here.
619+binary-indep: build install
620+ @echo "RULES.binary-indep"
621+ dh_testdir -i
622+ dh_testroot -i
623+ dh_installdebconf -i
624+ dh_installdocs -i
625+ dh_installexamples -i
626+ dh_installmenu -i
627+ dh_installlogrotate -i
628+ dh_installinit -i
629+ dh_installcron -i
630+ dh_installman -i
631+ dh_installinfo -i
632+ dh_installlogcheck -i
633+ dh_installchangelogs -i
634+ dh_link -i
635+ dh_compress -i
636+ dh_fixperms -i
637+ dh_installdeb -i
638+ dh_perl -i
639+ dh_gencontrol -i
640+ dh_md5sums -i
641+ dh_builddeb -i
642+
643+binary-arch: build install
644+ @echo "RULES.binary-arch"
645+ dh_testdir
646+ dh_testroot
647+
648+ dh_installdebconf -a
649+ dh_installdocs -a
650+ dh_installexamples -a
651+ dh_installmenu -a
652+ dh_installlogrotate -a --name mysql-server
653+ if [ "$(DISTRIBUTION)" = "Ubuntu" ]; then if [ "$(DISTRELEASE)" != "lucid"]; then dh_apparmor -pmysql-server-5.5 --profile-name=usr.sbin.mysqld; fi; fi
654+ # Start mysql in runlevel 19 before 20 where apache, proftpd etc gets
655+ # started which might depend on a running database server.
656+ dh_installinit -a --name=mysql -- defaults 19 21
657+ dh_installcron -a --name mysql-server
658+ dh_installman -a
659+ dh_installinfo -a
660+ dh_installlogcheck -a
661+ dh_installchangelogs -a
662+ dh_strip -a --dbg-package=percona-server-5.6-dbg
663+ dh_lintian
664+ dh_link -a # .so muss nach .so.1.2.3 installier werden!
665+ dh_compress -a
666+ dh_fixperms -a
667+ dh_makeshlibs -a
668+ dh_installdeb -a
669+ dh_perl -a
670+ #dh_shlibdeps -a -l debian/libmysqlclient16/usr/lib -L libmysqlclient16
671+ dh_shlibdeps -a
672+ dh_gencontrol -a
673+ dh_md5sums -a
674+ dh_builddeb -a
675+
676+binary: binary-indep binary-arch
677+
678+override_dh_auto_install:
679+ dh_auto_install
680+
681+.PHONY: clean clean-patched configure build binary binary-indep binary-arch install patch
682+
683+override_dh_installinit:
684+ dh_installinit --name=mysql --error-handler=:
685
686=== modified file 'build-ps/percona-server.spec'
687--- build-ps/percona-server.spec 2014-06-11 13:45:54 +0000
688+++ build-ps/percona-server.spec 2014-06-16 07:08:31 +0000
689@@ -30,6 +30,19 @@
690 %define percona_server_version @@PERCONA_VERSION@@
691 %define revision @@REVISION@@
692
693+#
694+%bcond_with tokudb
695+#
696+%if %{with tokudb}
697+ %define TOKUDB_FLAGS -DWITH_VALGRIND=OFF -DUSE_VALGRIND=OFF -DDEBUG_EXTNAME=OFF -DBUILD_TESTING=OFF -DUSE_GTAGS=OFF -DUSE_CTAGS=OFF -DUSE_ETAGS=OFF -DUSE_CSCOPE=OFF
698+ %define TOKUDB_DEBUG_ON -DTOKU_DEBUG_PARANOID=ON
699+ %define TOKUDB_DEBUG_OFF -DTOKU_DEBUG_PARANOID=OFF
700+%else
701+ %define TOKUDB_FLAGS %{nil}
702+ %define TOKUDB_DEBUG_ON %{nil}
703+ %define TOKUDB_DEBUG_OFF %{nil}
704+%endif
705+#
706 %define mysqld_user mysql
707 %define mysqld_group mysql
708 %define mysqldatadir /var/lib/mysql
709@@ -227,6 +240,9 @@
710 Distribution: %{distro_description}
711 License: Copyright (c) 2000, 2010, %{mysql_vendor}. All rights reserved. Use is subject to license terms. Under %{license_type} license as shown in the Description field.
712 Source: http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-%{mysql_version}-%{percona_server_version}/source/%{src_dir}.tar.gz
713+%if %{with tokudb}
714+Source1: http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-%{mysql_version}-%{percona_server_version}/source/%{src_dir}.tokudb.tar.gz
715+%endif
716 URL: http://www.percona.com/
717 Packager: Percona MySQL Development Team <mysqldev@percona.com>
718 Vendor: %{percona_server_vendor}
719@@ -273,11 +289,26 @@
720 If you want to access and work with the database, you have to install
721 package "Percona-Server-client%{product_suffix}" as well!
722
723+%if %{with tokudb}
724+# ----------------------------------------------------------------------------
725+%package -n Percona-Server-tokudb%{product_suffix}
726+Summary: Percona Server - TokuDB
727+Group: Applications/Databases
728+Requires: Percona-Server-server%{product_suffix} = %{version}-%{release}
729+Requires: Percona-Server-shared%{product_suffix} = %{version}-%{release}
730+Requires: Percona-Server-client%{product_suffix} = %{version}-%{release}
731+Requires: jemalloc >= 3.3.0
732+Provides: tokudb-plugin = %{version}-%{release}
733+
734+%description -n Percona-Server-tokudb%{product_suffix}
735+This package contains the TokuDB plugin for Percona Server %{version}-%{release}
736+%endif
737+
738 # ----------------------------------------------------------------------------
739 %package -n Percona-Server-client%{product_suffix}
740 Summary: Percona Server - Client
741 Group: Applications/Databases
742-Requires: Percona-Server-shared%{product_suffix}
743+Requires: Percona-Server-shared%{product_suffix}
744 Provides: mysql-client MySQL-client mysql MySQL
745 Conflicts: Percona-SQL-client-50 Percona-Server-client-51 Percona-Server-client-55
746
747@@ -331,6 +362,9 @@
748 ##############################################################################
749 %prep
750 %setup -n %{src_dir}
751+%if %{with tokudb}
752+%setup -n %{src_dir} -T -D -b 1
753+%endif
754 ##############################################################################
755 %build
756
757@@ -350,7 +384,11 @@
758 RPM_OPT_FLAGS=
759 %endif
760 #
761+%if %{with tokudb}
762+RPM_OPT_FLAGS=
763+%else
764 RPM_OPT_FLAGS=$(echo ${RPM_OPT_FLAGS} | sed -e 's|-march=i386|-march=i686|g')
765+%endif
766 #
767 export PATH=${MYSQL_BUILD_PATH:-$PATH}
768 export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
769@@ -399,7 +437,8 @@
770 -DINSTALL_SUPPORTFILESDIR=share/percona-server \
771 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
772 -DFEATURE_SET="%{feature_set}" \
773- -DCOMPILATION_COMMENT="%{compilation_comment_debug}"
774+ -DCOMPILATION_COMMENT="%{compilation_comment_debug}" %{TOKUDB_FLAGS} %{TOKUDB_DEBUG_ON}
775+
776 echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
777 make %{?_smp_mflags}
778 )
779@@ -419,7 +458,8 @@
780 -DINSTALL_SUPPORTFILESDIR=share/percona-server \
781 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
782 -DFEATURE_SET="%{feature_set}" \
783- -DCOMPILATION_COMMENT="%{compilation_comment_release}"
784+ -DCOMPILATION_COMMENT="%{compilation_comment_release}" %{TOKUDB_FLAGS} %{TOKUDB_DEBUG_OFF}
785+
786 echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
787 make %{?_smp_mflags}
788 )
789@@ -452,7 +492,7 @@
790 %install
791
792 RBR=$RPM_BUILD_ROOT
793-MBD=$RPM_BUILD_DIR/percona-server-%{mysql_version}-%{percona_server_version}
794+MBD=$RPM_BUILD_DIR/%{src_dir}
795
796 # Ensure that needed directories exists
797 install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
798@@ -484,7 +524,9 @@
799 # Install logrotate and autostart
800 install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
801 install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
802-
803+#
804+%{__rm} -f $RBR/%{_prefix}/README*
805+#
806 # Delete the symlinks to the libraries from the libdir. These are created by
807 # ldconfig(8) afterwards.
808 rm -f $RBR%{_libdir}/libmysqlclient*.so.18
809@@ -898,6 +940,30 @@
810 echo "=====" >> $STATUS_HISTORY
811
812
813+%if %{with tokudb}
814+# ----------------------------------------------------------------------------
815+%post -n Percona-Server-tokudb%{product_suffix}
816+
817+if [ $1 -eq 1 ] ; then
818+ echo ""
819+ echo "* This release of Percona Server is distributed with TokuDB storage engine."
820+ echo "* Run the following commands to enable the TokuDB storage engine in Percona Server:"
821+ echo ""
822+ echo "mysql -e \"INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';\""
823+ echo "mysql -e \"INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so';\""
824+ echo "mysql -e \"INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so';\""
825+ echo "mysql -e \"INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so';\""
826+ echo "mysql -e \"INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so';\""
827+ echo "mysql -e \"INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so';\""
828+ echo "mysql -e \"INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so';\""
829+ echo ""
830+ echo "* See http://www.percona.com/doc/percona-server/5.6/tokudb/tokudb_intro.html for more details"
831+ echo ""
832+fi
833+%endif
834+# ----------------------------------------------------------------------------
835+
836+
837 # ----------------------------------------------------------------------
838 # Clean up the BuildRoot after build is done
839 # ----------------------------------------------------------------------
840@@ -982,8 +1048,57 @@
841 %attr(755, root, root) %{_sbindir}/mysqld-debug
842 %attr(755, root, root) %{_sbindir}/rcmysql
843 %attr(644, root, root) %{_libdir}/mysql/plugin/daemon_example.ini
844-%attr(755, root, root) %{_libdir}/mysql/plugin/*.so*
845-%attr(755, root, root) %{_libdir}/mysql/plugin/debug/*.so*
846+
847+#plugins
848+%attr(755, root, root) %{_libdir}/mysql/plugin/adt_null.so
849+%attr(755, root, root) %{_libdir}/mysql/plugin/auth.so
850+%attr(755, root, root) %{_libdir}/mysql/plugin/auth_socket.so
851+%attr(755, root, root) %{_libdir}/mysql/plugin/auth_test_plugin.so
852+%attr(755, root, root) %{_libdir}/mysql/plugin/innodb_engine.so
853+%attr(755, root, root) %{_libdir}/mysql/plugin/libdaemon_example.so
854+%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.*
855+%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.*
856+%attr(755, root, root) %{_libdir}/mysql/plugin/libmemcached.so
857+%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.*
858+%attr(755, root, root) %{_libdir}/mysql/plugin/mypluglib.so
859+%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_client.so
860+%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_interface.so
861+%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_server.so
862+%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_master.so
863+%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_slave.so
864+%attr(755, root, root) %{_libdir}/mysql/plugin/validate_password.so
865+%attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam.so
866+%attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam_compat.so
867+%attr(755, root, root) %{_libdir}/mysql/plugin/dialog.so
868+%attr(755, root, root) %{_libdir}/mysql/plugin/handlersocket.so
869+
870+# %attr(755, root, root) %{_libdir}/mysql/plugin/debug/*.so*
871+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/adt_null.so
872+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth.so
873+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_pam.so
874+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_pam_compat.so
875+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_socket.so
876+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_test_plugin.so
877+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/dialog.so
878+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/innodb_engine.so
879+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libdaemon_example.so
880+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libfnv1a_udf.*
881+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libfnv_udf.*
882+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libmemcached.so
883+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libmurmur_udf.*
884+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mypluglib.so
885+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_client.so
886+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_interface.so
887+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_server.so
888+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_master.so
889+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_slave.so
890+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/validate_password.so
891+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/handlersocket.so
892+# Audit Log and Scalability Metrics files
893+%attr(755, root, root) %{_libdir}/mysql/plugin/audit_log.so
894+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/audit_log.so
895+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/scalability_metrics.so
896+%attr(755, root, root) %{_libdir}/mysql/plugin/scalability_metrics.so
897
898 %if %{WITH_TCMALLOC}
899 %attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target}
900@@ -992,7 +1107,48 @@
901 %attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
902 %attr(755, root, root) %{_sysconfdir}/init.d/mysql
903
904-%attr(755, root, root) %{_datadir}/percona-server/
905+# %attr(755, root, root) %{_datadir}/percona-server/
906+%attr(755, root, root) %{_datadir}/percona-server/binary-configure
907+%attr(755, root, root) %{_datadir}/percona-server/bulgarian
908+%attr(755, root, root) %{_datadir}/percona-server/charsets
909+%attr(755, root, root) %{_datadir}/percona-server/czech
910+%attr(755, root, root) %{_datadir}/percona-server/danish
911+%attr(755, root, root) %{_datadir}/percona-server/dictionary.txt
912+%attr(755, root, root) %{_datadir}/percona-server/dutch
913+%attr(755, root, root) %{_datadir}/percona-server/english
914+%attr(755, root, root) %{_datadir}/percona-server/errmsg-utf8.txt
915+%attr(755, root, root) %{_datadir}/percona-server/estonian
916+%attr(755, root, root) %{_datadir}/percona-server/fill_help_tables.sql
917+%attr(755, root, root) %{_datadir}/percona-server/french
918+%attr(755, root, root) %{_datadir}/percona-server/german
919+%attr(755, root, root) %{_datadir}/percona-server/greek
920+%attr(755, root, root) %{_datadir}/percona-server/hungarian
921+%attr(755, root, root) %{_datadir}/percona-server/innodb_memcached_config.sql
922+%attr(755, root, root) %{_datadir}/percona-server/italian
923+%attr(755, root, root) %{_datadir}/percona-server/japanese
924+%attr(755, root, root) %{_datadir}/percona-server/korean
925+%attr(755, root, root) %{_datadir}/percona-server/magic
926+%attr(755, root, root) %{_datadir}/percona-server/my-default.cnf
927+%attr(755, root, root) %{_datadir}/percona-server/mysqld_multi.server
928+%attr(755, root, root) %{_datadir}/percona-server/mysql-log-rotate
929+%attr(755, root, root) %{_datadir}/percona-server/mysql_security_commands.sql
930+%attr(755, root, root) %{_datadir}/percona-server/mysql.server
931+%attr(755, root, root) %{_datadir}/percona-server/mysql_system_tables_data.sql
932+%attr(755, root, root) %{_datadir}/percona-server/mysql_system_tables.sql
933+%attr(755, root, root) %{_datadir}/percona-server/mysql_test_data_timezone.sql
934+%attr(755, root, root) %{_datadir}/percona-server/norwegian
935+%attr(755, root, root) %{_datadir}/percona-server/norwegian-ny
936+%attr(755, root, root) %{_datadir}/percona-server/polish
937+%attr(755, root, root) %{_datadir}/percona-server/portuguese
938+%attr(755, root, root) %{_datadir}/percona-server/romanian
939+%attr(755, root, root) %{_datadir}/percona-server/russian
940+%attr(755, root, root) %{_datadir}/percona-server/SELinux
941+%attr(755, root, root) %{_datadir}/percona-server/serbian
942+%attr(755, root, root) %{_datadir}/percona-server/slovak
943+%attr(755, root, root) %{_datadir}/percona-server/solaris
944+%attr(755, root, root) %{_datadir}/percona-server/spanish
945+%attr(755, root, root) %{_datadir}/percona-server/swedish
946+%attr(755, root, root) %{_datadir}/percona-server/ukrainian
947
948 # ----------------------------------------------------------------------------
949 %files -n Percona-Server-client%{product_suffix}
950@@ -1044,6 +1200,16 @@
951 %{_libdir}/*.so
952
953 # ----------------------------------------------------------------------------
954+%if %{with tokudb}
955+%files -n Percona-Server-tokudb%{product_suffix}
956+%attr(-, root, root)
957+%{_bindir}/tokuftdump
958+%{_includedir}/tdb-internal.h
959+%{_libdir}/mysql/plugin/ha_tokudb.so
960+%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ha_tokudb.so
961+%endif
962+
963+# ----------------------------------------------------------------------------
964 %files -n Percona-Server-shared%{product_suffix}
965 %defattr(-, root, root, 0755)
966 # Shared libraries (omit for architectures that don't support them)
967@@ -1076,6 +1242,10 @@
968 %doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
969
970 %changelog
971+* Mon May 26 2014 Tomislav Plavcic <tomislav.plavcic@percona.com>
972+
973+- Added packaging changes regarding TokuDB
974+
975 * Thu Feb 10 2011 Ignacio Nin <ignacio.nin@percona.com>
976
977 - Removed lines which prevented -debuginfo packages from being built.
978
979=== modified file 'scripts/mysqld_safe.sh'
980--- scripts/mysqld_safe.sh 2014-03-16 08:15:10 +0000
981+++ scripts/mysqld_safe.sh 2014-06-16 07:08:31 +0000
982@@ -375,6 +375,19 @@
983
984
985 #
986+# Add jemalloc to ld_preload - needed for TokuDB
987+#
988+for libjemall in "/usr/lib64" "/usr/lib/x86_64-linux-gnu" "/usr/lib"
989+do
990+if test -f "$libjemall/libjemalloc.so.1"
991+then
992+ add_mysqld_ld_preload "$libjemall/libjemalloc.so.1"
993+ break
994+fi
995+done
996+
997+
998+#
999 # First, try to find BASEDIR and ledir (where mysqld is)
1000 #
1001
1002
1003=== modified file 'sql/handler.h'
1004--- sql/handler.h 2014-06-04 14:48:06 +0000
1005+++ sql/handler.h 2014-06-16 07:08:31 +0000
1006@@ -395,6 +395,7 @@
1007 DB_TYPE_MEMCACHE,
1008 DB_TYPE_FALCON,
1009 DB_TYPE_MARIA,
1010+ DB_TYPE_TOKUDB=41,
1011 /** Performance schema engine. */
1012 DB_TYPE_PERFORMANCE_SCHEMA,
1013 DB_TYPE_FIRST_DYNAMIC=42,
1014
1015=== modified file 'storage/innobase/include/univ.i'
1016--- storage/innobase/include/univ.i 2014-06-11 13:45:54 +0000
1017+++ storage/innobase/include/univ.i 2014-06-16 07:08:31 +0000
1018@@ -47,7 +47,7 @@
1019 #define INNODB_VERSION_BUGFIX MYSQL_VERSION_PATCH
1020
1021 #ifndef PERCONA_INNODB_VERSION
1022-#define PERCONA_INNODB_VERSION 65.0
1023+#define PERCONA_INNODB_VERSION 66.0
1024 #endif
1025
1026 /* Enable UNIV_LOG_ARCHIVE in XtraDB */

Subscribers

People subscribed via source and target branches