[Buildroot] [PATCH v2] new package: mysql server and client v5.1 and v5.5
heiko at zuerker.org
heiko at zuerker.org
Sat Jul 9 13:18:42 UTC 2011
From: Heiko Zuerker <smiley73 at users.sourceforge.net>
Signed-off-by: Heiko Zuerker <smiley73 at users.sourceforge.net>
---
package/Config.in | 2 +-
package/mysql/Config.in | 89 +++++++++++
.../mysql_client-5.1.53-ac_cache_check.patch | 156 ++++++++++++++++++++
...ql_client-5.1.53-configure-ps-cache-check.patch | 39 +++++
...ysql_client-5.1.53-use-new-readline-iface.patch | 21 +++
.../mysql-5.5.12/mysql-5.5.11-tool-path.patch | 41 +++++
package/mysql/mysql.mk | 150 +++++++++++++++++++
package/mysql_client/Config.in | 10 --
.../mysql_client-5.1.53-ac_cache_check.patch | 156 --------------------
...ql_client-5.1.53-configure-ps-cache-check.patch | 39 -----
...ysql_client-5.1.53-use-new-readline-iface.patch | 21 ---
package/mysql_client/mysql_client.mk | 46 ------
12 files changed, 497 insertions(+), 273 deletions(-)
create mode 100644 package/mysql/Config.in
create mode 100644 package/mysql/mysql-5.1.56/mysql_client-5.1.53-ac_cache_check.patch
create mode 100644 package/mysql/mysql-5.1.56/mysql_client-5.1.53-configure-ps-cache-check.patch
create mode 100644 package/mysql/mysql-5.1.56/mysql_client-5.1.53-use-new-readline-iface.patch
create mode 100644 package/mysql/mysql-5.5.12/mysql-5.5.11-tool-path.patch
create mode 100644 package/mysql/mysql.mk
delete mode 100644 package/mysql_client/Config.in
delete mode 100644 package/mysql_client/mysql_client-5.1.53-ac_cache_check.patch
delete mode 100644 package/mysql_client/mysql_client-5.1.53-configure-ps-cache-check.patch
delete mode 100644 package/mysql_client/mysql_client-5.1.53-use-new-readline-iface.patch
delete mode 100644 package/mysql_client/mysql_client.mk
diff --git a/package/Config.in b/package/Config.in
index 09aa76a..45d1715 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -254,7 +254,6 @@ endmenu
menu "Database"
source "package/berkeleydb/Config.in"
-source "package/mysql_client/Config.in"
source "package/sqlite/Config.in"
endmenu
@@ -369,6 +368,7 @@ endmenu
endmenu
menu "Miscellaneous"
+source "package/mysql/Config.in"
source "package/shared-mime-info/Config.in"
endmenu
diff --git a/package/mysql/Config.in b/package/mysql/Config.in
new file mode 100644
index 0000000..b4f41e4
--- /dev/null
+++ b/package/mysql/Config.in
@@ -0,0 +1,89 @@
+config BR2_PACKAGE_MYSQL
+ bool "MySQL"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_NCURSES
+ select BR2_PACKAGE_READLINE
+ help
+ MySQL client and optional server
+
+menu "MySQL options"
+depends on BR2_PACKAGE_MYSQL
+
+choice
+ prompt "MySQL Version"
+ default BR2_PACKAGE_MYSQL_51
+ help
+ The version of MySQL
+
+config BR2_PACKAGE_MYSQL_51
+ bool "5.1.x"
+ select BR2_TARGET_SYSLINUX
+
+config BR2_PACKAGE_MYSQL_55
+ bool "5.5.x"
+
+endchoice
+
+config BR2_PACKAGE_MYSQL_SERVER
+ bool "Build the MySQL Server"
+ depends on BR2_INSTALL_LIBSTDCPP && BR2_PACKAGE_MYSQL
+ help
+ MySQL server
+
+config BR2_PACKAGE_MYSQL_DATADIR
+ string "The MySQL data directory"
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ default "/var/mysql"
+ help
+ This directory will contain the database files
+
+config BR2_PACKAGE_MYSQL_STORAGE_ARCHIVE
+ bool "Archive Storage Engine"
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_STORAGE_BLACKHOLE
+ bool "Blackhole Storage Engine"
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_STORAGE_FEDERATED
+ bool "Federated Storage Engine"
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_STORAGE_INNOBASE
+ bool "Innobase Storage Engine"
+ default y
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_STORAGE_PARTITION
+ bool "Partition Storage Engine"
+ default y
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_STORAGE_PERFSCHEMA
+ bool "Perfschema Storage Engine"
+ default y
+ depends on BR2_PACKAGE_MYSQL_SERVER
+ depends on BR2_PACKAGE_MYSQL_55
+
+config BR2_PACKAGE_MYSQL_LOWMEM
+ depends on BR2_PACKAGE_MYSQL_51
+ bool "Compile for low memory consumption"
+
+config BR2_PACKAGE_MYSQL_EMBEDDED
+ bool "Build the embedded server (libmysqld)"
+
+config BR2_PACKAGE_MYSQL_NO_NDBBINLOG
+ bool "Disable ndb binlog"
+
+config BR2_PACKAGE_MYSQL_REMOVE_TEST_PROGS
+ bool "Remove test programs"
+
+endmenu
+
+comment "Mysql requires a toolchain with C++ support enabled"
+ depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/mysql/mysql-5.1.56/mysql_client-5.1.53-ac_cache_check.patch b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-ac_cache_check.patch
new file mode 100644
index 0000000..c3b55ba
--- /dev/null
+++ b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-ac_cache_check.patch
@@ -0,0 +1,156 @@
+Patch borrowed from
+http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493.
+
+It allows to override through ac_cv_* variables various checks that
+cannot be performed when cross-compiling.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+---
+ storage/innodb_plugin/plug.in | 59 ++++++++++++++++++++++++++++--------------
+ 1 file changed, 40 insertions(+), 19 deletions(-)
+
+Index: mysql-5.1.53/storage/innodb_plugin/plug.in
+===================================================================
+--- mysql-5.1.53.orig/storage/innodb_plugin/plug.in
++++ mysql-5.1.53/storage/innodb_plugin/plug.in
+@@ -53,9 +53,10 @@
+ esac
+ AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+
+- AC_MSG_CHECKING(whether GCC atomic builtins are available)
++ AC_CACHE_CHECK([whether GCC atomic builtins are available],
++ [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS],
+ # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
+- AC_TRY_RUN(
++ [AC_TRY_RUN(
+ [
+ int main()
+ {
+@@ -95,18 +96,23 @@
+ }
+ ],
+ [
+- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
+- [GCC atomic builtins are available])
+ AC_MSG_RESULT(yes)
++ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes
+ ],
+ [
+ AC_MSG_RESULT(no)
++ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no
+ ]
+- )
++ )])
++ if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then
++ AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
++ [GCC atomic builtins are available])
++ fi
+
+- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
++ AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins],
++ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC],
+ # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
+- AC_TRY_RUN(
++ [AC_TRY_RUN(
+ [
+ #include <pthread.h>
+ #include <string.h>
+@@ -126,14 +132,18 @@
+ }
+ ],
+ [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
+- [pthread_t can be used by GCC atomic builtins])
+ AC_MSG_RESULT(yes)
++ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes
+ ],
+ [
+ AC_MSG_RESULT(no)
++ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no
+ ]
+- )
++ )])
++ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then
++ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
++ [pthread_t can be used by GCC atomic builtins])
++ fi
+
+ AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
+ # either define HAVE_IB_SOLARIS_ATOMICS or not
+@@ -148,9 +158,10 @@
+ are available])
+ )
+
+- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
++ AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions],
++ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS],
+ # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
+- AC_TRY_RUN(
++ [AC_TRY_RUN(
+ [
+ #include <pthread.h>
+ #include <string.h>
+@@ -181,28 +192,33 @@
+ }
+ ],
+ [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
+- [pthread_t can be used by solaris atomics])
+ AC_MSG_RESULT(yes)
++ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes
+ ],
+ [
+ AC_MSG_RESULT(no)
++ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no
+ ]
+- )
++ )])
++ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then
++ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
++ [pthread_t can be used by solaris atomics])
++ fi
+
+ # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
+ # to use in the source
+ AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
+
+ # Check for x86 PAUSE instruction
+- AC_MSG_CHECKING(for x86 PAUSE instruction)
++ AC_CACHE_CHECK([for x86 PAUSE instruction],
++ [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION],
+ # We have to actually try running the test program, because of a bug
+ # in Solaris on x86_64, where it wrongly reports that PAUSE is not
+ # supported when trying to run an application. See
+ # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
+ # We use ib_ prefix to avoid collisoins if this code is added to
+ # mysql's configure.in.
+- AC_TRY_RUN(
++ [AC_TRY_RUN(
+ [
+ int main() {
+ __asm__ __volatile__ ("pause");
+@@ -210,16 +226,21 @@
+ }
+ ],
+ [
+- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+ AC_MSG_RESULT(yes)
++ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes
+ ],
+ [
+ AC_MSG_RESULT(no)
++ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+ ],
+ [
+ AC_MSG_RESULT(no)
++ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+ ]
+- )
++ )])
++ if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then
++ AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
++ fi
+ ])
+
+ # vim: set ft=config:
diff --git a/package/mysql/mysql-5.1.56/mysql_client-5.1.53-configure-ps-cache-check.patch b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-configure-ps-cache-check.patch
new file mode 100644
index 0000000..336e80e
--- /dev/null
+++ b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-configure-ps-cache-check.patch
@@ -0,0 +1,39 @@
+Patch borrowed from
+http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/mysql/files/configure-ps-cache-check.patch
+
+It allows to specify through ac_cv_FIND_PROC how ps should be used on
+the target to find the PID of a program.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+---
+ configure.in | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+Index: mysql-5.1.53/configure.in
+===================================================================
+--- mysql-5.1.53.orig/configure.in
++++ mysql-5.1.53/configure.in
+@@ -462,8 +462,8 @@
+ # then Make, then shell. The autoconf substitution uses single quotes, so
+ # no unprotected single quotes should appear in the expression.
+ AC_PATH_PROG(PS, ps, ps)
+-AC_MSG_CHECKING("how to check if pid exists")
+-PS=$ac_cv_path_PS
++AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC],
++[
+ # Linux style
+ if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null
+ then
+@@ -502,8 +502,9 @@
+ AC_MSG_ERROR([Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual.])
+ esac
+ fi
+-AC_SUBST(FIND_PROC)
+-AC_MSG_RESULT("$FIND_PROC")
++ac_cv_FIND_PROC="$FIND_PROC"
++])
++AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC])
+
+ # Check if a pid is valid
+ AC_PATH_PROG(KILL, kill, kill)
diff --git a/package/mysql/mysql-5.1.56/mysql_client-5.1.53-use-new-readline-iface.patch b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-use-new-readline-iface.patch
new file mode 100644
index 0000000..c590656
--- /dev/null
+++ b/package/mysql/mysql-5.1.56/mysql_client-5.1.53-use-new-readline-iface.patch
@@ -0,0 +1,21 @@
+Tell MySQL to use the new readline interface even when an external
+readline is being used.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+---
+ configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: mysql-5.1.53/configure.in
+===================================================================
+--- mysql-5.1.53.orig/configure.in
++++ mysql-5.1.53/configure.in
+@@ -2689,6 +2689,7 @@
+ # this way we avoid linking commercial source with GPL readline
+ readline_link="-lreadline"
+ want_to_use_readline="yes"
++ AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
+ elif [test "$mysql_cv_libedit_interface" = "yes"]
+ then
+ # Use libedit
diff --git a/package/mysql/mysql-5.5.12/mysql-5.5.11-tool-path.patch b/package/mysql/mysql-5.5.12/mysql-5.5.11-tool-path.patch
new file mode 100644
index 0000000..70f0e24
--- /dev/null
+++ b/package/mysql/mysql-5.5.12/mysql-5.5.11-tool-path.patch
@@ -0,0 +1,41 @@
+Make sure the binaries required for compilation are found in the current directory
+and we don't have to add ./ to the path.
+
+Signed-off-by: Heiko Zuerker <smiley73 at users.sourceforge.net>
+
+diff -ruN mysql-5.5.11.orig//extra/CMakeLists.txt mysql-5.5.11/extra/CMakeLists.txt
+--- mysql-5.5.11.orig//extra/CMakeLists.txt 2011-03-31 08:36:18.000000000 -0500
++++ mysql-5.5.11/extra/CMakeLists.txt 2011-05-14 20:17:05.000000000 -0500
+@@ -33,7 +33,7 @@
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqld_error.h
+ ${PROJECT_BINARY_DIR}/sql/share/english/errmsg.sys
+- COMMAND comp_err
++ COMMAND ./comp_err
+ --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
+ --out-dir=${PROJECT_BINARY_DIR}/sql/share/
+ --header_file=${PROJECT_BINARY_DIR}/include/mysqld_error.h
+diff -ruN mysql-5.5.11.orig//scripts/CMakeLists.txt mysql-5.5.11/scripts/CMakeLists.txt
+--- mysql-5.5.11.orig//scripts/CMakeLists.txt 2011-03-31 08:36:18.000000000 -0500
++++ mysql-5.5.11/scripts/CMakeLists.txt 2011-05-14 20:18:12.000000000 -0500
+@@ -47,7 +47,7 @@
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.c
+ ${CAT_COMMAND}
+- COMMAND comp_sql
++ COMMAND ./comp_sql
+ mysql_fix_privilege_tables
+ mysql_fix_privilege_tables.sql
+ mysql_fix_privilege_tables_sql.c
+diff -ruN mysql-5.5.11.orig//sql/CMakeLists.txt mysql-5.5.11/sql/CMakeLists.txt
+--- mysql-5.5.11.orig//sql/CMakeLists.txt 2011-03-31 08:36:18.000000000 -0500
++++ mysql-5.5.11/sql/CMakeLists.txt 2011-05-14 20:18:58.000000000 -0500
+@@ -189,7 +189,7 @@
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
+- COMMAND gen_lex_hash > lex_hash.h
++ COMMAND ./gen_lex_hash > lex_hash.h
+ DEPENDS gen_lex_hash
+ )
+
diff --git a/package/mysql/mysql.mk b/package/mysql/mysql.mk
new file mode 100644
index 0000000..d87eeed
--- /dev/null
+++ b/package/mysql/mysql.mk
@@ -0,0 +1,150 @@
+#############################################################
+#
+# MySQL Server & Client
+#
+# MySQL is not very cross-compile friendly...
+# We first need to compile mysql-host in order to get the
+# binaries for gen_lex_hash, comp_sql and comp_err.
+# These binaries are required for the build process and need
+# to be compile for the host, not the target.
+#
+#############################################################
+
+ifeq ($(BR2_PACKAGE_MYSQL_51),y)
+ MYSQL_MAIN_VERSION = 5.1
+ MYSQL_VERSION = $(MYSQL_MAIN_VERSION).57
+endif
+
+ifeq ($(BR2_PACKAGE_MYSQL_55),y)
+ MYSQL_MAIN_VERSION = 5.5
+ MYSQL_VERSION = $(MYSQL_MAIN_VERSION).12
+endif
+
+MYSQL_SOURCE = mysql-$(MYSQL_VERSION).tar.gz
+MYSQL_SITE = http://mirror.services.wisc.edu/mysql/Downloads/MySQL-$(MYSQL_MAIN_VERSION)
+MYSQL_INSTALL_TARGET = YES
+MYSQL_INSTALL_STAGING = YES
+MYSQL_DEPENDENCIES = readline ncurses host-mysql
+MYSQL_AUTORECONF=YES
+HOST_MYSQL_AUTORECONF=YES
+
+# Generic section
+define MYSQL_REMOVE_TEST_PROGS
+ rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench
+endef
+
+define MYSQL_ADD_MYSQL_LIB_PATH
+ echo "/usr/lib/mysql" >> $(TARGET_DIR)/etc/ld.so.conf
+endef
+
+ifeq ($(BR2_PACKAGE_MYSQL_REMOVE_TEST_PROGS),y)
+ MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_REMOVE_TEST_PROGS
+endif
+
+MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_ADD_MYSQL_LIB_PATH
+
+MYSQL_POST_CONFIGURE_HOOKS += MYSQL_COPY_HOST_BINARIES
+
+define MYSQL_COPY_HOST_BINARIES
+ cp $(@D)/../host-mysql-$(MYSQL_VERSION)/sql/gen_lex_hash $(@D)/sql/
+ cp $(@D)/../host-mysql-$(MYSQL_VERSION)/scripts/comp_sql $(@D)/scripts/
+ cp $(@D)/../host-mysql-$(MYSQL_VERSION)/extra/comp_err $(@D)/extra/
+ # set the file dates far into the future to prevent recompilation
+ touch -t "203012120101" $(@D)/sql/gen_lex_hash
+ touch -t "203012120101" $(@D)/scripts/comp_sql
+ touch -t "203012120101" $(@D)/extra/comp_err
+endef
+
+define HOST_MYSQL_BUILD_CMDS
+ make -C $(@D)/vio
+ make -C $(@D)/mysys
+ make -C $(@D)/strings
+ make -C $(@D)/dbug
+ make -C $(@D)/regex
+ make -C $(@D)/sql gen_lex_hash
+ make -C $(@D)/scripts comp_sql
+ make -C $(@D)/extra comp_err
+endef
+
+# no need to really install anything, since we just need to copy
+# the 3 binaries required for the build process.
+define HOST_MYSQL_INSTALL_CMDS
+ exit 0
+endef
+
+# MySQL 5.1
+ifeq ($(BR2_PACKAGE_MYSQL_51),y)
+ HOST_MYSQL_CONF_OPT = \
+ --program-prefix="" \
+ --without-libedit \
+ --without-readline \
+ --without-docs \
+ --without-man \
+ --without-ndb-binlog
+
+ MYSQL_CONF_ENV = \
+ ac_cv_sys_restartable_syscalls=yes \
+ ac_cv_path_PS=/bin/ps \
+ ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
+ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
+ mysql_cv_new_rl_interface=yes \
+ ac_cv_c_stack_direction=-1
+
+ MYSQL_CONF_OPT = \
+ --program-prefix="" \
+ --without-libedit \
+ --without-readline \
+ --enable-thread-safe-client \
+ $(if $(BR2_HAVE_DOCUMENTATION),,--without-docs --without-man) \
+ $(if $(BR2_PACKAGE_MYSQL_SERVER),,--without-server) \
+ $(if $(BR2_PACKAGE_MYSQL_LOWMEM),--with-low-memory) \
+ $(if $(BR2_PACKAGE_MYSQL_NO_NDBBINLOG),--without-ndb-binlog) \
+ $(if $(BR2_PACKAGE_MYSQL_EMBEDDED),--with-embedded-server) \
+ --localstatedir=$(BR2_PACKAGE_MYSQL_DATADIR)
+
+ ifeq ($(BR2_PACKAGE_OPENSSL),y)
+ MYSQL_CONF_OPT += --with-ssl
+ MYSQL_DEPENDENCIES += openssl
+ endif
+
+$(eval $(call AUTOTARGETS,package,mysql))
+$(eval $(call AUTOTARGETS,package,mysql,host))
+
+endif
+
+# MySQL 5.5
+ifeq ($(BR2_PACKAGE_MYSQL_55),y)
+ HOST_MYSQL_CONF_OPT = \
+ -DSTACK_DIRECTION=1 \
+ -DWITH_LIBEDIT=OFF \
+ -DWITH_READLINE=OFF \
+ -DDISABLE_SHARED=ON \
+ -DMYSQL_DATADIR=$(BR2_PACKAGE_MYSQL_DATADIR)
+
+ MYSQL_CONF_OPT = \
+ -DSTACK_DIRECTION=1 \
+ -DWITH_LIBEDIT=OFF \
+ -DWITH_READLINE=OFF\
+ -DENABLE_DEBUG_SYNC=OFF \
+ $(if $(BR2_PACKAGE_MYSQL_SERVER),,-DWITHOUT_SERVER=ON) \
+ $(if $(BR2_PACKAGE_MYSQL_EMBEDDED),-DWITH_EMBEDDED_SERVER=ON) \
+ $(if $(BR2_PACKAGE_MYSQL_STORAGE_ARCHIVE),-DWITH_ARCHIVE_STORAGE_ENGINE=ON,-DWITH_ARCHIVE_STORAGE_ENGINE=OFF) \
+ $(if $(BR2_PACKAGE_MYSQL_STORAGE_BLACKHOLE),-DWITH_BLACKHOLE_STORAGE_ENGINE=ON,-DWITH_BLACKHOLE_STORAGE_ENGINE=OFF) \
+ $(if $(BR2_PACKAGE_MYSQL_STORAGE_FEDERATED),-DWITH_INNOBASE_STORAGE_ENGINE=ON,-DWITH_INNOBASE_STORAGE_ENGINE=OFF) \
+ $(if $(BR2_PACKAGE_MYSQL_STORAGE_FEDERATED),-DWITH_PARTITION_STORAGE_ENGINE=ON,-DWITH_PARTITION_STORAGE_ENGINE=OFF) \
+ $(if $(BR2_PACKAGE_MYSQL_STORAGE_FEDERATED),-DWITH_PERFSCHEMA_STORAGE_ENGINE=ON,-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF) \
+ -DINSTALL_LAYOUT=RPM \
+ -DSYSCONFDIR=/etc \
+ -DMYSQL_DATADIR=$(BR2_PACKAGE_MYSQL_DATADIR)
+
+ ifeq ($(BR2_PACKAGE_OPENSSL),y)
+ MYSQL_CONF_OPT += -DWITH_SSL=yes
+ MYSQL_DEPENDENCIES += openssl
+ endif
+
+$(eval $(call CMAKETARGETS,package,mysql))
+$(eval $(call CMAKETARGETS,package,mysql,host))
+
+endif
diff --git a/package/mysql_client/Config.in b/package/mysql_client/Config.in
deleted file mode 100644
index f07fdb4..0000000
--- a/package/mysql_client/Config.in
+++ /dev/null
@@ -1,10 +0,0 @@
-config BR2_PACKAGE_MYSQL_CLIENT
- bool "MySQL client"
- depends on BR2_INSTALL_LIBSTDCPP
- select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_READLINE
- help
- MySQL client
-
-comment "Mysql client requires a toolchain with C++ support enabled"
- depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/mysql_client/mysql_client-5.1.53-ac_cache_check.patch b/package/mysql_client/mysql_client-5.1.53-ac_cache_check.patch
deleted file mode 100644
index c3b55ba..0000000
--- a/package/mysql_client/mysql_client-5.1.53-ac_cache_check.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-Patch borrowed from
-http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493.
-
-It allows to override through ac_cv_* variables various checks that
-cannot be performed when cross-compiling.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
-
----
- storage/innodb_plugin/plug.in | 59 ++++++++++++++++++++++++++++--------------
- 1 file changed, 40 insertions(+), 19 deletions(-)
-
-Index: mysql-5.1.53/storage/innodb_plugin/plug.in
-===================================================================
---- mysql-5.1.53.orig/storage/innodb_plugin/plug.in
-+++ mysql-5.1.53/storage/innodb_plugin/plug.in
-@@ -53,9 +53,10 @@
- esac
- AC_SUBST(INNODB_DYNAMIC_CFLAGS)
-
-- AC_MSG_CHECKING(whether GCC atomic builtins are available)
-+ AC_CACHE_CHECK([whether GCC atomic builtins are available],
-+ [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS],
- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
-- AC_TRY_RUN(
-+ [AC_TRY_RUN(
- [
- int main()
- {
-@@ -95,18 +96,23 @@
- }
- ],
- [
-- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
-- [GCC atomic builtins are available])
- AC_MSG_RESULT(yes)
-+ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes
- ],
- [
- AC_MSG_RESULT(no)
-+ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no
- ]
-- )
-+ )])
-+ if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then
-+ AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
-+ [GCC atomic builtins are available])
-+ fi
-
-- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
-+ AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins],
-+ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC],
- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
-- AC_TRY_RUN(
-+ [AC_TRY_RUN(
- [
- #include <pthread.h>
- #include <string.h>
-@@ -126,14 +132,18 @@
- }
- ],
- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
-- [pthread_t can be used by GCC atomic builtins])
- AC_MSG_RESULT(yes)
-+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes
- ],
- [
- AC_MSG_RESULT(no)
-+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no
- ]
-- )
-+ )])
-+ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then
-+ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
-+ [pthread_t can be used by GCC atomic builtins])
-+ fi
-
- AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
- # either define HAVE_IB_SOLARIS_ATOMICS or not
-@@ -148,9 +158,10 @@
- are available])
- )
-
-- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
-+ AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions],
-+ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS],
- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
-- AC_TRY_RUN(
-+ [AC_TRY_RUN(
- [
- #include <pthread.h>
- #include <string.h>
-@@ -181,28 +192,33 @@
- }
- ],
- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
-- [pthread_t can be used by solaris atomics])
- AC_MSG_RESULT(yes)
-+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes
- ],
- [
- AC_MSG_RESULT(no)
-+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no
- ]
-- )
-+ )])
-+ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then
-+ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
-+ [pthread_t can be used by solaris atomics])
-+ fi
-
- # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
- # to use in the source
- AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
-
- # Check for x86 PAUSE instruction
-- AC_MSG_CHECKING(for x86 PAUSE instruction)
-+ AC_CACHE_CHECK([for x86 PAUSE instruction],
-+ [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION],
- # We have to actually try running the test program, because of a bug
- # in Solaris on x86_64, where it wrongly reports that PAUSE is not
- # supported when trying to run an application. See
- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
- # We use ib_ prefix to avoid collisoins if this code is added to
- # mysql's configure.in.
-- AC_TRY_RUN(
-+ [AC_TRY_RUN(
- [
- int main() {
- __asm__ __volatile__ ("pause");
-@@ -210,16 +226,21 @@
- }
- ],
- [
-- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
- AC_MSG_RESULT(yes)
-+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes
- ],
- [
- AC_MSG_RESULT(no)
-+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
- ],
- [
- AC_MSG_RESULT(no)
-+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
- ]
-- )
-+ )])
-+ if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then
-+ AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
-+ fi
- ])
-
- # vim: set ft=config:
diff --git a/package/mysql_client/mysql_client-5.1.53-configure-ps-cache-check.patch b/package/mysql_client/mysql_client-5.1.53-configure-ps-cache-check.patch
deleted file mode 100644
index 336e80e..0000000
--- a/package/mysql_client/mysql_client-5.1.53-configure-ps-cache-check.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Patch borrowed from
-http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/mysql/files/configure-ps-cache-check.patch
-
-It allows to specify through ac_cv_FIND_PROC how ps should be used on
-the target to find the PID of a program.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
-
----
- configure.in | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-Index: mysql-5.1.53/configure.in
-===================================================================
---- mysql-5.1.53.orig/configure.in
-+++ mysql-5.1.53/configure.in
-@@ -462,8 +462,8 @@
- # then Make, then shell. The autoconf substitution uses single quotes, so
- # no unprotected single quotes should appear in the expression.
- AC_PATH_PROG(PS, ps, ps)
--AC_MSG_CHECKING("how to check if pid exists")
--PS=$ac_cv_path_PS
-+AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC],
-+[
- # Linux style
- if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null
- then
-@@ -502,8 +502,9 @@
- AC_MSG_ERROR([Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual.])
- esac
- fi
--AC_SUBST(FIND_PROC)
--AC_MSG_RESULT("$FIND_PROC")
-+ac_cv_FIND_PROC="$FIND_PROC"
-+])
-+AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC])
-
- # Check if a pid is valid
- AC_PATH_PROG(KILL, kill, kill)
diff --git a/package/mysql_client/mysql_client-5.1.53-use-new-readline-iface.patch b/package/mysql_client/mysql_client-5.1.53-use-new-readline-iface.patch
deleted file mode 100644
index c590656..0000000
--- a/package/mysql_client/mysql_client-5.1.53-use-new-readline-iface.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Tell MySQL to use the new readline interface even when an external
-readline is being used.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
-
----
- configure.in | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: mysql-5.1.53/configure.in
-===================================================================
---- mysql-5.1.53.orig/configure.in
-+++ mysql-5.1.53/configure.in
-@@ -2689,6 +2689,7 @@
- # this way we avoid linking commercial source with GPL readline
- readline_link="-lreadline"
- want_to_use_readline="yes"
-+ AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
- elif [test "$mysql_cv_libedit_interface" = "yes"]
- then
- # Use libedit
diff --git a/package/mysql_client/mysql_client.mk b/package/mysql_client/mysql_client.mk
deleted file mode 100644
index 9cd088c..0000000
--- a/package/mysql_client/mysql_client.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#############################################################
-#
-# MySQL 5.1 Client
-#
-#############################################################
-MYSQL_CLIENT_VERSION = 5.1.53
-MYSQL_CLIENT_SOURCE = mysql-$(MYSQL_CLIENT_VERSION).tar.gz
-MYSQL_CLIENT_SITE = http://downloads.mysql.com/archives/mysql-5.1/
-MYSQL_CLIENT_INSTALL_TARGET = YES
-MYSQL_CLIENT_INSTALL_STAGING = YES
-MYSQL_CLIENT_DEPENDENCIES = readline ncurses
-MYSQL_CLIENT_AUTORECONF=YES
-
-MYSQL_CLIENT_CONF_ENV = \
- ac_cv_sys_restartable_syscalls=yes \
- ac_cv_path_PS=/bin/ps \
- ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
- ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
- ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
- ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
- mysql_cv_new_rl_interface=yes
-
-MYSQL_CLIENT_CONF_OPT = \
- --program-prefix="" \
- --without-ndb-binlog \
- --without-server \
- --without-docs \
- --without-man \
- --without-libedit \
- --without-readline \
- --with-low-memory \
- --enable-thread-safe-client \
- $(ENABLE_DEBUG)
-
-define MYSQL_CLIENT_REMOVE_TEST_PROGS
- rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench
-endef
-
-define MYSQL_CLIENT_ADD_MYSQL_LIB_PATH
- echo "/usr/lib/mysql" >> $(TARGET_DIR)/etc/ld.so.conf
-endef
-
-MYSQL_CLIENT_POST_INSTALL_TARGET_HOOKS += MYSQL_CLIENT_REMOVE_TEST_PROGS
-MYSQL_CLIENT_POST_INSTALL_TARGET_HOOKS += MYSQL_CLIENT_ADD_MYSQL_LIB_PATH
-
-$(eval $(call AUTOTARGETS,package,mysql_client))
--
1.6.4.2
More information about the buildroot
mailing list