diff options
| author | Florian Smeets <flo@FreeBSD.org> | 2012-12-28 19:17:48 +0000 |
|---|---|---|
| committer | Florian Smeets <flo@FreeBSD.org> | 2012-12-28 19:17:48 +0000 |
| commit | 52e3d62d02ba337859edf603fa3eae977da578be (patch) | |
| tree | 6d210192d550018b47aea4c6c83dc42dd881acda /databases/percona55-server | |
| parent | f9c1f92b5f56d4499bd9d8420881cad537e63877 (diff) | |
Notes
Diffstat (limited to 'databases/percona55-server')
23 files changed, 708 insertions, 0 deletions
diff --git a/databases/percona55-server/Makefile b/databases/percona55-server/Makefile new file mode 100644 index 000000000000..2f4d90a29dfa --- /dev/null +++ b/databases/percona55-server/Makefile @@ -0,0 +1,101 @@ +# $FreeBSD$ + +PORTNAME?= percona +PORTVERSION= 5.5.28.29.2 +PORTREVISION?= 0 +CATEGORIES= databases ipv6 +MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.5/LATEST/source/ +MASTER_SITE_SUBDIR= MySQL-5.5 +PKGNAMESUFFIX?= -server +DISTNAME= Percona-Server-5.5.28-rel29.2 + +MAINTAINER= ale@FreeBSD.org +COMMENT?= Multithreaded SQL database (server) + +SLAVEDIRS= databases/percona55-client +USE_CMAKE= yes +USE_BISON= build +MAKE_JOBS_SAFE= yes + +OPTIONS_DEFINE= OPENSSL FASTMTX +OPTIONS_DEFAULT= OPENSSL +FASTMTX_DESC= Replace mutexes with spinlocks + +DATADIR= ${PREFIX}/share/mysql +USE_LDCONFIG= ${PREFIX}/lib/mysql + +CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ + -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ + -DINSTALL_INCLUDEDIR="include/mysql" \ + -DINSTALL_INFODIR="info" \ + -DINSTALL_LIBDIR="lib/mysql" \ + -DINSTALL_MANDIR="man" \ + -DINSTALL_MYSQLDATADIR="/var/db/mysql" \ + -DINSTALL_MYSQLSHAREDIR="share/mysql" \ + -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ + -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ + -DINSTALL_SBINDIR="libexec" \ + -DINSTALL_SCRIPTDIR="bin" \ + -DINSTALL_SHAREDIR="share" \ + -DINSTALL_SQLBENCHDIR="share/mysql" \ + -DINSTALL_SUPPORTFILESDIR="share/mysql" \ + -DWITH_LIBEDIT=0 \ + -DWITH_LIBWRAP=1 \ + -DHAVE_PAM=0 + +.ifdef USE_MYSQL +.error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. +.endif + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPENSSL} +CMAKE_ARGS+= -DWITH_SSL=bundled +.endif +.if ${PORT_OPTIONS:MFASTMTX} +CMAKE_ARGS+= -DWITH_FAST_MUTEXES=1 +.endif + +# MySQL-Server part +.if !defined(CLIENT_ONLY) +USE_MYSQL= yes +WANT_MYSQL_VER= 55p + +LATEST_LINK= percona55-server + +CONFLICTS_INSTALL= mysql-server-[345].* percona-server-5.[0-46-9].* + +USE_RC_SUBR= mysql-server + +USERS= mysql +GROUPS= mysql + +INFO= mysql + +MAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ + mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ + mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ + mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ + mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ + mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 + +MAN8= mysqld.8 + +CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" + +post-install: +.if !defined(PACKAGE_BUILDING) + @${CAT} ${PKGMESSAGE} +.endif +.endif + +post-patch: + @${REINPLACE_CMD} 's/*.1/${MAN1}/' ${WRKSRC}/man/CMakeLists.txt + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "arm" +BROKEN= Does not compile on arm +.endif + +.include <bsd.port.post.mk> diff --git a/databases/percona55-server/distinfo b/databases/percona55-server/distinfo new file mode 100644 index 000000000000..523f99dcfb6f --- /dev/null +++ b/databases/percona55-server/distinfo @@ -0,0 +1,2 @@ +SHA256 (Percona-Server-5.5.28-rel29.2.tar.gz) = 4f2ca2b4bf8ebdde0d5c643cc382fd7242492c084715b5c7d83619a9ff7a40a4 +SIZE (Percona-Server-5.5.28-rel29.2.tar.gz) = 22250160 diff --git a/databases/percona55-server/files/mysql-server.in b/databases/percona55-server/files/mysql-server.in new file mode 100644 index 000000000000..fa701dcca45b --- /dev/null +++ b/databases/percona55-server/files/mysql-server.in @@ -0,0 +1,75 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: mysql +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable mysql: +# mysql_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable MySQL. +# mysql_limits (bool): Set to "NO" by default. +# Set it to yes to run `limits -e -U mysql` +# just before mysql starts. +# mysql_dbdir (str): Default to "/var/db/mysql" +# Base database directory. +# mysql_pidfile (str): Custum PID file path and name. +# Default to "${mysql_dbdir}/${hostname}.pid". +# mysql_args (str): Custom additional arguments to be passed +# to mysqld_safe (default empty). +# + +. /etc/rc.subr + +name="mysql" +rcvar=mysql_enable + +load_rc_config $name + +: ${mysql_enable="NO"} +: ${mysql_limits="NO"} +: ${mysql_dbdir="/var/db/mysql"} + +mysql_user="mysql" +mysql_limits_args="-e -U ${mysql_user}" +pidfile=${mysql_pidfile:-"${mysql_dbdir}/`/bin/hostname`.pid"} +command="/usr/sbin/daemon" +command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}" +procname="%%PREFIX%%/libexec/mysqld" +start_precmd="${name}_prestart" +start_postcmd="${name}_poststart" +mysql_install_db="%%PREFIX%%/bin/mysql_install_db" +mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force" + +mysql_create_auth_tables() +{ + eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null + [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir} +} + +mysql_prestart() +{ + if [ ! -d "${mysql_dbdir}/mysql/." ]; then + mysql_create_auth_tables || return 1 + fi + if checkyesno mysql_limits; then + eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null + else + return 0 + fi +} + +mysql_poststart() +{ + local timeout=15 + while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do + timeout=$(( timeout - 1 )) + sleep 1 + done + return 0 +} + +run_rc_command "$1" diff --git a/databases/percona55-server/files/patch-CMakeLists.txt b/databases/percona55-server/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..c0a8713402cb --- /dev/null +++ b/databases/percona55-server/files/patch-CMakeLists.txt @@ -0,0 +1,38 @@ +--- CMakeLists.txt.orig 2010-12-03 18:58:24.000000000 +0100 ++++ CMakeLists.txt 2010-12-23 18:02:02.000000000 +0100 +@@ -293,7 +293,6 @@ + + ADD_SUBDIRECTORY(extra) + IF(NOT WITHOUT_SERVER) +- ADD_SUBDIRECTORY(tests) + ADD_SUBDIRECTORY(client) + ADD_SUBDIRECTORY(sql) + ADD_SUBDIRECTORY(sql/share) +@@ -301,14 +300,10 @@ + OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF) + IF(WITH_EMBEDDED_SERVER) + ADD_SUBDIRECTORY(libmysqld) +- ADD_SUBDIRECTORY(libmysqld/examples) + ENDIF(WITH_EMBEDDED_SERVER) + +- ADD_SUBDIRECTORY(mysql-test) +- ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess) + ADD_SUBDIRECTORY(support-files) + ADD_SUBDIRECTORY(scripts) +- ADD_SUBDIRECTORY(sql-bench) + IF(UNIX) + ADD_SUBDIRECTORY(man) + ENDIF() +@@ -343,6 +338,7 @@ + # + # RPM installs documentation directly from the source tree + # ++IF(FALSE) + IF(NOT INSTALL_LAYOUT MATCHES "RPM") + INSTALL(FILES COPYING LICENSE.mysql + DESTINATION ${INSTALL_DOCREADMEDIR} +@@ -367,3 +363,4 @@ + PATTERN "sp-imp-spec.txt" EXCLUDE + ) + ENDIF() ++ENDIF() diff --git a/databases/percona55-server/files/patch-client_CMakeLists.txt b/databases/percona55-server/files/patch-client_CMakeLists.txt new file mode 100644 index 000000000000..2c5864188b98 --- /dev/null +++ b/databases/percona55-server/files/patch-client_CMakeLists.txt @@ -0,0 +1,61 @@ +--- client/CMakeLists.txt.orig 2011-09-09 17:56:40.000000000 +0200 ++++ client/CMakeLists.txt 2011-10-07 11:06:21.000000000 +0200 +@@ -27,17 +27,20 @@ + + ADD_DEFINITIONS(${READLINE_DEFINES}) + ADD_DEFINITIONS(${SSL_DEFINES}) ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc) + TARGET_LINK_LIBRARIES(mysql mysqlclient) + IF(UNIX) + TARGET_LINK_LIBRARIES(mysql ${READLINE_LIBRARY}) + ENDIF(UNIX) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) + SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex) + + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c) + TARGET_LINK_LIBRARIES(mysqlcheck mysqlclient) + +@@ -46,17 +49,21 @@ + + MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c) + TARGET_LINK_LIBRARIES(mysqlimport mysqlclient) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c) + TARGET_LINK_LIBRARIES(mysqlshow mysqlclient) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) + TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc) + TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient) + +@@ -66,13 +73,14 @@ + MYSQL_ADD_EXECUTABLE(mysqlslap mysqlslap.c) + SET_SOURCE_FILES_PROPERTIES(mysqlslap.c PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqlslap mysqlclient) ++ENDIF() + + # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". + IF(WIN32) + MYSQL_ADD_EXECUTABLE(echo echo.c) + ENDIF(WIN32) + +-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin ++SET_TARGET_PROPERTIES (mysql_upgrade mysql_plugin + PROPERTIES HAS_CXX TRUE) + + ADD_DEFINITIONS(-DHAVE_DLOPEN) diff --git a/databases/percona55-server/files/patch-cmake_plugin.cmake b/databases/percona55-server/files/patch-cmake_plugin.cmake new file mode 100644 index 000000000000..c151ea35f4ee --- /dev/null +++ b/databases/percona55-server/files/patch-cmake_plugin.cmake @@ -0,0 +1,10 @@ +--- cmake/plugin.cmake.orig 2011-09-09 17:56:39.000000000 +0200 ++++ cmake/plugin.cmake 2011-10-07 10:56:37.000000000 +0200 +@@ -195,7 +195,6 @@ + OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}") + # Install dynamic library + MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR} COMPONENT Server) +- INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug) + # Add installed files to list for RPMs + FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files + "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n" diff --git a/databases/percona55-server/files/patch-extra_CMakeLists.txt b/databases/percona55-server/files/patch-extra_CMakeLists.txt new file mode 100644 index 000000000000..f8f555f5e0e8 --- /dev/null +++ b/databases/percona55-server/files/patch-extra_CMakeLists.txt @@ -0,0 +1,12 @@ +--- extra/CMakeLists.txt.orig 2010-12-23 17:38:06.000000000 +0100 ++++ extra/CMakeLists.txt 2010-12-23 17:38:51.000000000 +0100 +@@ -75,7 +75,9 @@ + MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c) + TARGET_LINK_LIBRARIES(resolve_stack_dump mysys) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c) + TARGET_LINK_LIBRARIES(mysql_waitpid mysys) + ENDIF() ++ENDIF() + diff --git a/databases/percona55-server/files/patch-extra_yassl_taocrypt_src_integer.cpp b/databases/percona55-server/files/patch-extra_yassl_taocrypt_src_integer.cpp new file mode 100644 index 000000000000..e94bf77c990d --- /dev/null +++ b/databases/percona55-server/files/patch-extra_yassl_taocrypt_src_integer.cpp @@ -0,0 +1,11 @@ +--- extra/yassl/taocrypt/src/integer.cpp.orig 2012-04-02 09:37:09.000000000 +0200 ++++ extra/yassl/taocrypt/src/integer.cpp 2012-04-02 09:37:41.000000000 +0200 +@@ -73,7 +73,7 @@ + CPP_TYPENAME AlignedAllocator<T>::pointer AlignedAllocator<T>::allocate( + size_type n, const void *) + { +- if (n > max_size()) ++ if (n > AlignedAllocator<T>::max_size()) + return 0; + if (n == 0) + return 0; diff --git a/databases/percona55-server/files/patch-include_CMakeLists.txt b/databases/percona55-server/files/patch-include_CMakeLists.txt new file mode 100644 index 000000000000..2478ae5fa6e3 --- /dev/null +++ b/databases/percona55-server/files/patch-include_CMakeLists.txt @@ -0,0 +1,10 @@ +--- include/CMakeLists.txt.orig 2011-01-19 23:37:08.000000000 +0100 ++++ include/CMakeLists.txt 2011-02-07 22:40:32.698758463 +0100 +@@ -57,5 +57,7 @@ + ${HEADERS_GEN_CONFIGURE} + ) + ++IF(FALSE) + INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development) + INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/mysql COMPONENT Development FILES_MATCHING PATTERN "*.h") ++ENDIF() diff --git a/databases/percona55-server/files/patch-include_my_compare.h b/databases/percona55-server/files/patch-include_my_compare.h new file mode 100644 index 000000000000..093c8ae37789 --- /dev/null +++ b/databases/percona55-server/files/patch-include_my_compare.h @@ -0,0 +1,11 @@ +--- include/my_compare.h.orig 2011-05-10 09:46:46.000000000 +0200 ++++ include/my_compare.h 2011-05-10 09:47:01.000000000 +0200 +@@ -39,7 +39,7 @@ + But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH. + */ + +-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */ ++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */ + #define HA_MAX_KEY_SEG 16 /* Max segments for key */ + + #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6) diff --git a/databases/percona55-server/files/patch-include_myisam.h b/databases/percona55-server/files/patch-include_myisam.h new file mode 100644 index 000000000000..450645400dd5 --- /dev/null +++ b/databases/percona55-server/files/patch-include_myisam.h @@ -0,0 +1,11 @@ +--- include/myisam.h.orig 2009-02-16 23:04:54.000000000 +0100 ++++ include/myisam.h 2009-02-16 23:10:08.000000000 +0100 +@@ -48,7 +48,7 @@ + The following defines can be increased if necessary. + But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH. + */ +-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */ ++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */ + #define MI_MAX_KEY_SEG 16 /* Max segments for key */ + + #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8) diff --git a/databases/percona55-server/files/patch-libmysql_CMakeLists.txt b/databases/percona55-server/files/patch-libmysql_CMakeLists.txt new file mode 100644 index 000000000000..7f11bedc9e43 --- /dev/null +++ b/databases/percona55-server/files/patch-libmysql_CMakeLists.txt @@ -0,0 +1,36 @@ +--- libmysql/CMakeLists.txt.orig 2010-12-03 18:58:26.000000000 +0100 ++++ libmysql/CMakeLists.txt 2010-12-23 22:01:37.000000000 +0100 +@@ -153,13 +153,14 @@ + + # Merge several convenience libraries into one big mysqlclient + # and link them together into shared library. +-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) ++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development NOINSTALL) + + # Visual Studio users need debug static library for debug projects + IF(MSVC) + INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug) + ENDIF() + ++IF(FALSE) + IF(UNIX) + MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) + SET(DOT_VERSION ".${VERSION}") +@@ -174,9 +175,11 @@ + ENDMACRO() + INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development) + ENDIF() ++ENDIF() + + IF(NOT DISABLE_SHARED) +- MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS} COMPONENT SharedLibraries) ++ MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS} COMPONENT SharedLibraries NOINSTALL) ++IF(FALSE) + IF(UNIX) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) +@@ -223,3 +226,4 @@ + ENDFOREACH() + ENDIF() + ENDIF() ++ENDIF() diff --git a/databases/percona55-server/files/patch-libservices_CMakeLists.txt b/databases/percona55-server/files/patch-libservices_CMakeLists.txt new file mode 100644 index 000000000000..fcbcea7aed21 --- /dev/null +++ b/databases/percona55-server/files/patch-libservices_CMakeLists.txt @@ -0,0 +1,9 @@ +--- libservices/CMakeLists.txt.orig 2010-12-23 17:13:03.000000000 +0100 ++++ libservices/CMakeLists.txt 2010-12-23 17:13:17.000000000 +0100 +@@ -22,4 +22,6 @@ + my_thread_scheduler_service.c) + + ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) ++IF(FALSE) + INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) ++ENDIF() diff --git a/databases/percona55-server/files/patch-man_CMakeLists.txt b/databases/percona55-server/files/patch-man_CMakeLists.txt new file mode 100644 index 000000000000..7849c77af111 --- /dev/null +++ b/databases/percona55-server/files/patch-man_CMakeLists.txt @@ -0,0 +1,11 @@ +--- man/CMakeLists.txt.orig 2011-10-22 14:36:06.000000000 +0200 ++++ man/CMakeLists.txt 2011-10-22 14:36:23.000000000 +0200 +@@ -15,8 +15,6 @@ + + # Copy man pages + FILE(GLOB MAN1_FILES *.1) +-FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1) +-FILE(GLOB MAN1_NDB ndb*.1) + FILE(GLOB MAN8_FILES *.8) + FILE(GLOB MAN8_NDB ndb*.8) + IF(MAN1_FILES) diff --git a/databases/percona55-server/files/patch-mysys_default.c b/databases/percona55-server/files/patch-mysys_default.c new file mode 100644 index 000000000000..816105371bdf --- /dev/null +++ b/databases/percona55-server/files/patch-mysys_default.c @@ -0,0 +1,31 @@ +--- mysys/default.c.orig 2010-11-02 23:01:13.000000000 +0100 ++++ mysys/default.c 2010-11-10 16:39:51.000000000 +0100 +@@ -70,7 +70,7 @@ + + /* Which directories are searched for options (and in which order) */ + +-#define MAX_DEFAULT_DIRS 6 ++#define MAX_DEFAULT_DIRS 7 + #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */ + static const char **default_directories = NULL; + +@@ -711,7 +711,7 @@ + { + MY_STAT stat_info; + if (!my_stat(name,&stat_info,MYF(0))) +- return 1; ++ return 0; + /* + Ignore world-writable regular files. + This is mainly done to protect us to not read a file created by +@@ -1153,7 +1153,10 @@ + + #if defined(DEFAULT_SYSCONFDIR) + if (DEFAULT_SYSCONFDIR[0]) ++ { + errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); ++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ } + #endif /* DEFAULT_SYSCONFDIR */ + + #endif diff --git a/databases/percona55-server/files/patch-scripts_CMakeLists.txt b/databases/percona55-server/files/patch-scripts_CMakeLists.txt new file mode 100644 index 000000000000..de410a1d3549 --- /dev/null +++ b/databases/percona55-server/files/patch-scripts_CMakeLists.txt @@ -0,0 +1,37 @@ +--- scripts/CMakeLists.txt.orig 2011-07-13 21:09:03.000000000 +0200 ++++ scripts/CMakeLists.txt 2011-09-01 09:48:22.000000000 +0200 +@@ -266,6 +266,8 @@ + GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) + STRING(REGEX REPLACE "^lib" "" lib "${lib}") + SET(${var} "${${var}}-l${lib} " ) ++ ELSEIF(lib STREQUAL "-pthread") ++ SET(${var} "${${var}}-pthread " ) + ELSE() + SET(${var} "${${var}}-l${lib} " ) + ENDIF() +@@ -316,16 +318,11 @@ + # On Unix, most of the files end up in the bin directory + SET(mysql_config_COMPONENT COMPONENT Development) + SET(BIN_SCRIPTS +- msql2mysql +- mysql_config + mysql_fix_extensions + mysql_setpermission + mysql_secure_installation + mysql_zap +- mysqlaccess +- mysqlaccess.conf + mysql_convert_table_format +- mysql_find_rows + mysqlhotcopy + mysqldumpslow + mysqld_multi +@@ -334,7 +331,7 @@ + FOREACH(file ${BIN_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh +- ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY) + ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file} + ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY) diff --git a/databases/percona55-server/files/patch-scripts_mysqld_safe.sh b/databases/percona55-server/files/patch-scripts_mysqld_safe.sh new file mode 100644 index 000000000000..2a30469922f0 --- /dev/null +++ b/databases/percona55-server/files/patch-scripts_mysqld_safe.sh @@ -0,0 +1,24 @@ +--- scripts/mysqld_safe.sh.orig 2007-10-08 10:39:23.000000000 +0200 ++++ scripts/mysqld_safe.sh 2007-10-08 10:40:52.000000000 +0200 +@@ -242,10 +242,10 @@ + + if test -z "$MYSQL_HOME" + then +- if test -r "$MY_BASEDIR_VERSION/my.cnf" && test -r "$DATADIR/my.cnf" ++ if test -r "$MY_BASEDIR_VERSION/etc/my.cnf" && test -r "$DATADIR/my.cnf" + then + log_error "WARNING: Found two instances of my.cnf - +-$MY_BASEDIR_VERSION/my.cnf and ++$MY_BASEDIR_VERSION/etc/my.cnf and + $DATADIR/my.cnf + IGNORING $DATADIR/my.cnf" + +@@ -254,7 +254,7 @@ + then + log_error "WARNING: Found $DATADIR/my.cnf + The data directory is a deprecated location for my.cnf, please move it to +-$MY_BASEDIR_VERSION/my.cnf" ++$MY_BASEDIR_VERSION/etc/my.cnf" + MYSQL_HOME=$DATADIR + else + MYSQL_HOME=$MY_BASEDIR_VERSION diff --git a/databases/percona55-server/files/patch-sql_CMakeLists.txt b/databases/percona55-server/files/patch-sql_CMakeLists.txt new file mode 100644 index 000000000000..e4d1b520c529 --- /dev/null +++ b/databases/percona55-server/files/patch-sql_CMakeLists.txt @@ -0,0 +1,18 @@ +--- sql/CMakeLists.txt.orig 2010-12-23 17:31:28.000000000 +0100 ++++ sql/CMakeLists.txt 2010-12-23 17:33:36.000000000 +0100 +@@ -245,6 +245,7 @@ + + IF(INSTALL_LAYOUT STREQUAL "STANDALONE") + ++IF(FALSE) + # We need to create empty directories (data/test) the installation. + # This does not work with current CPack due to http://www.cmake.org/Bug/view.php?id=8767 + # Avoid completely empty directories and install dummy file instead. +@@ -286,6 +287,7 @@ + INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql COMPONENT DataFiles) + ENDIF() + ENDIF() ++ENDIF() + + ADD_CUSTOM_TARGET(show-dist-name + COMMAND ${CMAKE_COMMAND} -E echo "${CPACK_PACKAGE_FILE_NAME}" diff --git a/databases/percona55-server/files/patch-sql_sys_vars.cc b/databases/percona55-server/files/patch-sql_sys_vars.cc new file mode 100644 index 000000000000..e8f0caff4aff --- /dev/null +++ b/databases/percona55-server/files/patch-sql_sys_vars.cc @@ -0,0 +1,38 @@ +--- sql/sys_vars.cc.orig 2012-06-15 17:03:32.000000000 +0200 ++++ sql/sys_vars.cc 2012-06-15 17:16:23.000000000 +0200 +@@ -900,7 +900,7 @@ + "connection before closing it", + SESSION_VAR(net_interactive_timeout), + CMD_LINE(REQUIRED_ARG), +- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); ++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); + + static Sys_var_ulong Sys_join_buffer_size( + "join_buffer_size", +@@ -1401,7 +1401,7 @@ + "Number of seconds to wait for more data from a connection before " + "aborting the read", + SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG), +- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1), ++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1), + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), + ON_UPDATE(fix_net_read_timeout)); + +@@ -1416,7 +1416,7 @@ + "Number of seconds to wait for a block to be written to a connection " + "before aborting the write", + SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG), +- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1), ++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1), + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), + ON_UPDATE(fix_net_write_timeout)); + +@@ -2257,7 +2257,7 @@ + "The number of seconds the server waits for activity on a " + "connection before closing it", + SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG), +- VALID_RANGE(1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT)), ++ VALID_RANGE(1, INT_MAX32/1000), + DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); + + /** propagates changes to the relevant flag of @@optimizer_switch */ diff --git a/databases/percona55-server/files/patch-support-files_CMakeLists.txt b/databases/percona55-server/files/patch-support-files_CMakeLists.txt new file mode 100644 index 000000000000..159e1fa71ba2 --- /dev/null +++ b/databases/percona55-server/files/patch-support-files_CMakeLists.txt @@ -0,0 +1,12 @@ +--- support-files/CMakeLists.txt.orig 2010-12-23 17:38:19.000000000 +0100 ++++ support-files/CMakeLists.txt 2010-12-23 17:41:11.000000000 +0100 +@@ -74,7 +74,9 @@ + INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles) + ENDIF() + ++IF(FALSE) + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) ++ENDIF() + CONFIGURE_FILE(MySQL-shared-compat.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/MySQL-shared-compat.spec @ONLY) + CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.spec @ONLY) + CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.${VERSION}.spec @ONLY) diff --git a/databases/percona55-server/pkg-descr b/databases/percona55-server/pkg-descr new file mode 100644 index 000000000000..9d0e268ad067 --- /dev/null +++ b/databases/percona55-server/pkg-descr @@ -0,0 +1,3 @@ +Percona Server is an enhanced drop-in replacement for MySQL + +WWW: http://www.percona.com/ diff --git a/databases/percona55-server/pkg-message b/databases/percona55-server/pkg-message new file mode 100644 index 000000000000..7e30302334e6 --- /dev/null +++ b/databases/percona55-server/pkg-message @@ -0,0 +1,7 @@ +************************************************************************ + +Remember to run mysql_upgrade (with the optional --datadir=<dbdir> flag) +the first time you start the MySQL server after an upgrade from an +earlier version. + +************************************************************************ diff --git a/databases/percona55-server/pkg-plist b/databases/percona55-server/pkg-plist new file mode 100644 index 000000000000..c389fb45c068 --- /dev/null +++ b/databases/percona55-server/pkg-plist @@ -0,0 +1,140 @@ +@stopdaemon mysql-server +bin/innochecksum +bin/my_print_defaults +bin/myisam_ftdump +bin/myisamchk +bin/myisamlog +bin/myisampack +bin/mysql_convert_table_format +bin/mysql_fix_extensions +bin/mysql_install_db +bin/mysql_plugin +bin/mysql_secure_installation +bin/mysql_setpermission +bin/mysql_tzinfo_to_sql +bin/mysql_upgrade +bin/mysql_zap +bin/mysqlbug +bin/mysqld_multi +bin/mysqld_safe +bin/mysqldumpslow +bin/mysqlhotcopy +bin/mysqltest +bin/perror +bin/replace +bin/resolve_stack_dump +bin/resolveip +lib/mysql/libmysqld.a +lib/mysql/plugin/adt_null.so +lib/mysql/plugin/auth.so +lib/mysql/plugin/auth_test_plugin.so +lib/mysql/plugin/daemon_example.ini +lib/mysql/plugin/ha_archive.so +lib/mysql/plugin/ha_blackhole.so +lib/mysql/plugin/ha_example.so +lib/mysql/plugin/ha_federated.so +lib/mysql/plugin/libdaemon_example.so +lib/mysql/plugin/mypluglib.so +lib/mysql/plugin/qa_auth_client.so +lib/mysql/plugin/qa_auth_interface.so +lib/mysql/plugin/qa_auth_server.so +lib/mysql/plugin/semisync_master.so +lib/mysql/plugin/semisync_slave.so +libexec/mysqld +%%DATADIR%%/binary-configure +%%DATADIR%%/charsets/Index.xml +%%DATADIR%%/charsets/README +%%DATADIR%%/charsets/armscii8.xml +%%DATADIR%%/charsets/ascii.xml +%%DATADIR%%/charsets/cp1250.xml +%%DATADIR%%/charsets/cp1251.xml +%%DATADIR%%/charsets/cp1256.xml +%%DATADIR%%/charsets/cp1257.xml +%%DATADIR%%/charsets/cp850.xml +%%DATADIR%%/charsets/cp852.xml +%%DATADIR%%/charsets/cp866.xml +%%DATADIR%%/charsets/dec8.xml +%%DATADIR%%/charsets/geostd8.xml +%%DATADIR%%/charsets/greek.xml +%%DATADIR%%/charsets/hebrew.xml +%%DATADIR%%/charsets/hp8.xml +%%DATADIR%%/charsets/keybcs2.xml +%%DATADIR%%/charsets/koi8r.xml +%%DATADIR%%/charsets/koi8u.xml +%%DATADIR%%/charsets/latin1.xml +%%DATADIR%%/charsets/latin2.xml +%%DATADIR%%/charsets/latin5.xml +%%DATADIR%%/charsets/latin7.xml +%%DATADIR%%/charsets/macce.xml +%%DATADIR%%/charsets/macroman.xml +%%DATADIR%%/charsets/swe7.xml +%%DATADIR%%/config.huge.ini +%%DATADIR%%/config.medium.ini +%%DATADIR%%/config.small.ini +%%DATADIR%%/czech/errmsg.sys +%%DATADIR%%/danish/errmsg.sys +%%DATADIR%%/dutch/errmsg.sys +%%DATADIR%%/english/errmsg.sys +%%DATADIR%%/errmsg-utf8.txt +%%DATADIR%%/estonian/errmsg.sys +%%DATADIR%%/fill_help_tables.sql +%%DATADIR%%/french/errmsg.sys +%%DATADIR%%/german/errmsg.sys +%%DATADIR%%/greek/errmsg.sys +%%DATADIR%%/hungarian/errmsg.sys +%%DATADIR%%/italian/errmsg.sys +%%DATADIR%%/japanese/errmsg.sys +%%DATADIR%%/korean/errmsg.sys +%%DATADIR%%/magic +%%DATADIR%%/my-huge.cnf +%%DATADIR%%/my-innodb-heavy-4G.cnf +%%DATADIR%%/my-large.cnf +%%DATADIR%%/my-medium.cnf +%%DATADIR%%/my-small.cnf +%%DATADIR%%/mysql-log-rotate +%%DATADIR%%/mysql.server +%%DATADIR%%/mysql_system_tables.sql +%%DATADIR%%/mysql_system_tables_data.sql +%%DATADIR%%/mysql_test_data_timezone.sql +%%DATADIR%%/mysqld_multi.server +%%DATADIR%%/ndb-config-2-node.ini +%%DATADIR%%/norwegian-ny/errmsg.sys +%%DATADIR%%/norwegian/errmsg.sys +%%DATADIR%%/polish/errmsg.sys +%%DATADIR%%/portuguese/errmsg.sys +%%DATADIR%%/romanian/errmsg.sys +%%DATADIR%%/russian/errmsg.sys +%%DATADIR%%/serbian/errmsg.sys +%%DATADIR%%/slovak/errmsg.sys +%%DATADIR%%/spanish/errmsg.sys +%%DATADIR%%/swedish/errmsg.sys +%%DATADIR%%/ukrainian/errmsg.sys +@dirrm lib/mysql/plugin +@dirrmtry lib/mysql +@dirrm %%DATADIR%%/charsets +@dirrm %%DATADIR%%/czech +@dirrm %%DATADIR%%/danish +@dirrm %%DATADIR%%/dutch +@dirrm %%DATADIR%%/english +@dirrm %%DATADIR%%/estonian +@dirrm %%DATADIR%%/french +@dirrm %%DATADIR%%/german +@dirrm %%DATADIR%%/greek +@dirrm %%DATADIR%%/hungarian +@dirrm %%DATADIR%%/italian +@dirrm %%DATADIR%%/japanese +@dirrm %%DATADIR%%/korean +@dirrm %%DATADIR%%/norwegian +@dirrm %%DATADIR%%/norwegian-ny +@dirrm %%DATADIR%%/polish +@dirrm %%DATADIR%%/portuguese +@dirrm %%DATADIR%%/romanian +@dirrm %%DATADIR%%/russian +@dirrm %%DATADIR%%/serbian +@dirrm %%DATADIR%%/slovak +@dirrm %%DATADIR%%/spanish +@dirrm %%DATADIR%%/swedish +@dirrm %%DATADIR%%/ukrainian +@dirrm %%DATADIR%% +@cwd /var +@dirrmtry db/mysql |
