[Buildroot] [PATCH 1/1] Update MySQL client package
Jerzy Grzegorek
jerzy.grzegorek at trzebnica.net
Sat Jan 18 09:41:34 UTC 2014
Hi Marcelo,
> From: Marcelo Gutierrez <kuyurix at gmail.com>
>
> Added MySQL server support. The patches are based on buildroot-2013.11
>
> Signed-off-by: Marcelo Gutierrez (UTN/FRH) <kuyurix at gmail.com>
> ---
> package/mysql_client/Config.in | 12 ++++-
> package/mysql_client/S60mysqld | 25 +++++++++
> package/mysql_client/misc.m4.patch | 11 ++++
> package/mysql_client/mysql_client.mk | 53 ++++++++++++++++++--
> .../mysql_server/mysql_client-crosscompiling.patch | 23 +++++++++
The patch files should be named <packagename>-<number>-<description>.patch
Please use more descriptive patch names.
Regards,
Jerzy
> 5 files changed, 119 insertions(+), 5 deletions(-)
> create mode 100644 package/mysql_client/S60mysqld
> create mode 100644 package/mysql_client/misc.m4.patch
> create mode 100644 package/mysql_client/mysql_server/mysql_client-crosscompiling.patch
>
> diff --git a/package/mysql_client/Config.in b/package/mysql_client/Config.in
> index 543bed1..1ee6067 100644
> --- a/package/mysql_client/Config.in
> +++ b/package/mysql_client/Config.in
> @@ -6,8 +6,16 @@ config BR2_PACKAGE_MYSQL_CLIENT
> select BR2_PACKAGE_NCURSES
> select BR2_PACKAGE_READLINE
> help
> - MySQL client
> + The MySQL Open Source Database System
>
> -comment "MySQL client needs a toolchain w/ C++, threads"
> +comment "MySQL server and MySQL client needs a toolchain w/ C++, threads"
> depends on BR2_USE_MMU
> depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
> +
> +if BR2_PACKAGE_MYSQL_CLIENT
> +
> +config BR2_PACKAGE_MYSQL_CLIENT_SERVER
> + bool "MySQL server"
> +
> +endif
> +
> diff --git a/package/mysql_client/S60mysqld b/package/mysql_client/S60mysqld
> new file mode 100644
> index 0000000..38e1c41
> --- /dev/null
> +++ b/package/mysql_client/S60mysqld
> @@ -0,0 +1,25 @@
> +#!/bin/sh
> +#
> +# Starts mysqld.
> +#
> +
> +case "$1" in
> + start)
> + /usr/bin/mysqld_safe &
> + ;;
> + stop)
> + if test -f /var/lib/mysql/mysqld.pid ; then
> + PID=`cat /var/lib/mysql/mysqld.pid`
> + kill $PID
> + fi
> + ;;
> + restart)
> + $0 stop
> + $0 start
> + ;;
> + *)
> + echo "Usage: /etc/init.d/mysqld {start|stop|restart}"
> + ;;
> +esac
> +
> +exit 0
> diff --git a/package/mysql_client/misc.m4.patch b/package/mysql_client/misc.m4.patch
> new file mode 100644
> index 0000000..afa23f2
> --- /dev/null
> +++ b/package/mysql_client/misc.m4.patch
> @@ -0,0 +1,11 @@
> +--- mysql-5.1.70.orig/config/ac-macros/misc.m4
> ++++ mysql-5.1.70/config/ac-macros/misc.m4
> +@@ -477,7 +477,7 @@
> + exit(ptr_f(&a) < 0);
> + }
> + ], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
> +- ac_cv_c_stack_direction=)])
> ++ ac_cv_c_stack_direction=0)])
> + AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
> + ])dnl
> +
> diff --git a/package/mysql_client/mysql_client.mk b/package/mysql_client/mysql_client.mk
> index fe24ae7..c100eba 100644
> --- a/package/mysql_client/mysql_client.mk
> +++ b/package/mysql_client/mysql_client.mk
> @@ -4,15 +4,26 @@
> #
> ################################################################################
>
> -MYSQL_CLIENT_VERSION = 5.1.70
> +MYSQL_CLIENT_VERSION_MAJOR = 5.1
> +MYSQL_CLIENT_VERSION = $(MYSQL_CLIENT_VERSION_MAJOR).70
> MYSQL_CLIENT_SOURCE = mysql-$(MYSQL_CLIENT_VERSION).tar.gz
> -MYSQL_CLIENT_SITE = http://downloads.skysql.com/archives/mysql-5.1
> +MYSQL_CLIENT_SITE = http://downloads.skysql.com/archives/mysql-$(MYSQL_CLIENT_VERSION_MAJOR)
> MYSQL_CLIENT_INSTALL_STAGING = YES
> MYSQL_CLIENT_DEPENDENCIES = readline ncurses
> MYSQL_CLIENT_AUTORECONF = YES
> MYSQL_CLIENT_LICENSE = GPLv2
> MYSQL_CLIENT_LICENSE_FILES = README COPYING
>
> +
> +ifeq ($(BR2_PACKAGE_MYSQL_CLIENT_SERVER),y)
> +MYSQL_CLIENT_DEPENDENCIES += host-mysql_client
> +HOST_MYSQL_CLIENT_DEPENDENCIES =
> +HOST_MYSQL_CLIENT_AUTORECONF = YES
> +
> +HOST_MYSQL_CLIENT_CONF_OPT = \
> + --with-embedded-server
> +endif
> +
> MYSQL_CLIENT_CONF_ENV = \
> ac_cv_sys_restartable_syscalls=yes \
> ac_cv_path_PS=/bin/ps \
> @@ -24,15 +35,50 @@ MYSQL_CLIENT_CONF_ENV = \
>
> MYSQL_CLIENT_CONF_OPT = \
> --without-ndb-binlog \
> - --without-server \
> --without-docs \
> --without-man \
> --without-libedit \
> --without-readline \
> + --without-libedit \
> + --disable-dependency-tracking \
> --with-low-memory \
> + --with-atomic-ops=up \
> --enable-thread-safe-client \
> + --without-query-cache \
> + --without-plugin-partition \
> + --without-plugin-daemon_example \
> + --without-plugin-ftexample \
> + --without-plugin-archive \
> + --without-plugin-blackhole \
> + --without-plugin-example \
> + --without-plugin-federated \
> + --without-plugin-ibmdb2i \
> + --without-plugin-innobase \
> + --without-plugin-innodb_plugin \
> + --without-plugin-ndbcluster \
> $(ENABLE_DEBUG)
>
> +ifeq ($(BR2_PACKAGE_MYSQL_CLIENT_SERVER),y)
> + MYSQL_CLIENT_CONF_OPT += --with-embedded-server
> +
> +define MYSQL_CLIENT_FIX_SERVER
> + support/scripts/apply-patches.sh $(@D) package/mysql_client/mysql_server mysql_client-crosscompiling.patch
> +endef
> +
> +MYSQL_CLIENT_POST_PATCH_HOOKS += MYSQL_CLIENT_FIX_SERVER
> +
> +define HOST_MYSQL_CLIENT_BUILD_CMDS
> + $(MAKE) -C $(@D)
> +endef
> +
> +define HOST_MYSQL_CLIENT_INSTALL_CMDS
> + cp $(@D)/sql/gen_lex_hash $(@D)/../mysql_client-$(MYSQL_CLIENT_VERSION)/sql/mysql-gen_lex_hash
> +endef
> +
> +else
> +MYSQL_CLIENT_CONF_OPT += --without-server
> +endif
> +
> define MYSQL_CLIENT_REMOVE_TEST_PROGS
> rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench
> endef
> @@ -45,3 +91,4 @@ MYSQL_CLIENT_POST_INSTALL_TARGET_HOOKS += MYSQL_CLIENT_REMOVE_TEST_PROGS
> MYSQL_CLIENT_POST_INSTALL_TARGET_HOOKS += MYSQL_CLIENT_ADD_MYSQL_LIB_PATH
>
> $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> diff --git a/package/mysql_client/mysql_server/mysql_client-crosscompiling.patch b/package/mysql_client/mysql_server/mysql_client-crosscompiling.patch
> new file mode 100644
> index 0000000..ab9454b
> --- /dev/null
> +++ b/package/mysql_client/mysql_server/mysql_client-crosscompiling.patch
> @@ -0,0 +1,23 @@
> +--- mysql-5.1.70/sql/Makefile.am
> ++++ mysql-5.1.70.patch/sql/Makefile.am
> +@@ -177,7 +177,7 @@
> + # this avoid the rebuild of the built files in a source dist
> + lex_hash.h: gen_lex_hash.cc lex.h
> + $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT)
> +- ./gen_lex_hash$(EXEEXT) > $@-t
> ++ ./mysql-gen_lex_hash$(EXEEXT) > $@-t
> + $(MV) $@-t $@
> +
> + # For testing of udf_example.so
> +
> +--- mysql-5.1.70/sql/Makefile.in
> ++++ mysql-5.1.70.patch/sql/Makefile.in
> +@@ -1310,7 +1310,7 @@
> + # this avoid the rebuild of the built files in a source dist
> + lex_hash.h: gen_lex_hash.cc lex.h
> + $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT)
> +- ./gen_lex_hash$(EXEEXT) > $@-t
> ++ ./mysql-gen_lex_hash$(EXEEXT) > $@-t
> + $(MV) $@-t $@
> +
> + # We might have some stuff not built in this build, but that we want to install
More information about the buildroot
mailing list