From 2ad40253c9a251ddcadb4587793dcb0aab7859c7 Mon Sep 17 00:00:00 2001 From: Christian Wiese Date: Thu, 21 Apr 2011 22:05:48 +0200 Subject: [PATCH] mysql: fixed to use cmake build system (see note!) Note: This is nearly a complete rework of the mysql package because recent mysql releases are using cmake for building. In contrast to our former mysql package we use the default prefix instead of 'opt/mysql' now, to be more FHS friendly. --- database/mysql/mysql.conf | 64 +++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/database/mysql/mysql.conf b/database/mysql/mysql.conf index 397629e00..e856a62a6 100644 --- a/database/mysql/mysql.conf +++ b/database/mysql/mysql.conf @@ -2,7 +2,7 @@ # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../mysql/mysql.conf -# Copyright (C) 2007 - 2010 The OpenSDE Project +# Copyright (C) 2007 - 2011 The OpenSDE Project # Copyright (C) 2004 - 2006 The T2 SDE Project # Copyright (C) 1998 - 2003 Clifford Wolf # @@ -14,24 +14,64 @@ # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END --- -var_append extraconfopt " " "--with-berkeley-db" -var_append extraconfopt " " "--with-ssl" -var_append extraconfopt " " "--with-embedded-server" +# Select a predefined installation layout to avoid the installation +# of strange '$prefix/data' which is used when using the default +# STANDALONE layout. +var_append cmakeopt ' ' "-DINSTALL_LAYOUT=DEB" -# enable thread support for the client library if available -if [ "$SDECFG_PKG_GLIBC_TLS" == 1 ] ; then - var_append extraconfopt " " "--enable-thread-safe-client" +# tweaking install directories +var_append cmakeopt ' ' "-DINSTALL_INCLUDEDIR=$includedir/$pkg" +var_append cmakeopt ' ' "-DINSTALL_MYSQLSHAREDIR=$datadir/$pkg" +var_append cmakeopt ' ' "-DINSTALL_SUPPORTFILESDIR=$datadir/$pkg" +var_append cmakeopt ' ' "-DINSTALL_MYSQLTESTDIR=$datadir/$pkg/test" +var_append cmakeopt ' ' "-DINSTALL_PLUGINDIR=$libdir/$pkg/plugin" +var_append cmakeopt ' ' "-DINSTALL_SCRIPTDIR=$bindir" +var_append cmakeopt ' ' "-DINSTALL_SQLBENCHDIR=$datadir/$pkg" +var_append cmakeopt ' ' "-DINSTALL_MANDIR=$mandir" +var_append cmakeopt ' ' "-DINSTALL_INFODIR=$infodir" +var_append cmakeopt ' ' "-DINSTALL_DOCDIR=$docdir" +var_append cmakeopt ' ' "-DINSTALL_DOCREADMEDIR=$docdir" +var_append cmakeopt ' ' "-DINSTALL_MYSQLDATADIR=$localstatedir" +var_append cmakeopt ' ' "-DMYSQL_DATADIR=$localstatedir/lib/$pkg" +var_append cmakeopt ' ' "-DMYSQL_UNIX_ADDR=$localstatedir/lib/$pkg/mysql.sock" + +# Configure the source with the same build options used by Oracle to produce +# binary distributions for official MySQL releases. +var_insert cmakeopt ' ' "-DBUILD_CONFIG=mysql_release" + +# using community feature set +# alternative sets: xsmall, small, classic, large, xlarge +var_insert cmakeopt ' ' "-DFEATURE_SET='community'" + +# build the libmysqld embedded server library +var_append cmakeopt ' ' "-DWITH_EMBEDDED_SERVER=ON" + +# whether to use the readline library bundled with mysql +if ! pkginstalled -f readline; then + echo_status "Could not detect readline package (using bundled readline)" + var_append cmakeopt ' ' "-DWITH_READLINE=ON" +fi + +# SSL support +if ! pkginstalled -f openssl; then + echo_status "Could not detect openssl package (using bundled openssl)" + var_append cmakeopt ' ' "-DWITH_SSL=bundled" +else + var_append cmakeopt ' ' "-DWITH_SSL=system" fi -if [ $prefix_auto = 1 ] ; then - prefix="opt/mysql" - set_confopt +# zlib compression support +if ! pkginstalled -f zlib; then + echo_status "Could not detect zlib package (using bundled zlib)" + var_append cmakeopt ' ' "-DWITH_ZLIB=bundled" +else + var_append cmakeopt ' ' "-DWITH_ZLIB=system" fi if [ "$SDECFG_PKG_MYSQL_CLIENTONLY" = "1" ]; then var_append extraconfopt ' ' "--without-server" fi -hook_add postmake 5 "sed 's/\(.*MYSQL\)/#\1/' $root/$prefix/support-files/my-medium.cnf \ - > $root$sysconfdir/my.cnf" +#hook_add postmake 5 "sed 's/\(.*MYSQL\)/#\1/' $root/$prefix/support-files/my-medium.cnf \ +# > $root$sysconfdir/my.cnf"