diff options
Diffstat (limited to 'support-files')
-rw-r--r-- | support-files/MacOSX/ReadMe.txt | 2 | ||||
-rw-r--r-- | support-files/Makefile.am | 22 | ||||
-rw-r--r-- | support-files/compiler_warnings.supp | 23 | ||||
-rwxr-xr-x | support-files/config.huge.ini.sh | 212 | ||||
-rwxr-xr-x | support-files/config.medium.ini.sh | 124 | ||||
-rwxr-xr-x | support-files/config.small.ini.sh | 65 | ||||
-rw-r--r-- | support-files/my-huge.cnf.sh | 8 | ||||
-rw-r--r-- | support-files/my-innodb-heavy-4G.cnf.sh | 11 | ||||
-rw-r--r-- | support-files/my-large.cnf.sh | 8 | ||||
-rw-r--r-- | support-files/my-medium.cnf.sh | 8 | ||||
-rw-r--r-- | support-files/my-small.cnf.sh | 6 | ||||
-rw-r--r-- | support-files/mysql.m4 | 108 | ||||
-rw-r--r-- | support-files/mysql.server.sh | 7 | ||||
-rw-r--r-- | support-files/mysql.spec.sh | 480 |
14 files changed, 854 insertions, 230 deletions
diff --git a/support-files/MacOSX/ReadMe.txt b/support-files/MacOSX/ReadMe.txt index 485dbaeaa37..b3dcba21705 100644 --- a/support-files/MacOSX/ReadMe.txt +++ b/support-files/MacOSX/ReadMe.txt @@ -1,7 +1,7 @@ You can find information about how to install on Mac OS X at - http://dev.mysql.com/doc/refman/5.0/en/mac-os-x-installation.html + http://dev.mysql.com/doc/refman/5.1/en/mac-os-x-installation.html The MySQL Reference Manual is also available in various formats on http://dev.mysql.com/doc; if you're interested in the DocBook XML diff --git a/support-files/Makefile.am b/support-files/Makefile.am index b9d6fde742a..77eddea3227 100644 --- a/support-files/Makefile.am +++ b/support-files/Makefile.am @@ -26,26 +26,38 @@ EXTRA_DIST = mysql.spec.sh \ mysql-log-rotate.sh \ mysql.server.sh \ mysqld_multi.server.sh \ + config.huge.ini.sh \ + config.medium.ini.sh \ + config.small.ini.sh \ binary-configure.sh \ - magic \ + magic mysql.m4 \ MySQL-shared-compat.spec.sh \ ndb-config-2-node.ini.sh \ compiler_warnings.supp SUBDIRS = MacOSX RHEL4-SElinux -pkgdata_DATA = my-small.cnf \ +# Default same as 'pkgdatadir', but we can override it +pkgsuppdir = $(datadir)/@PACKAGE@ + +pkgsupp_DATA = my-small.cnf \ my-medium.cnf \ my-large.cnf \ my-huge.cnf \ + config.huge.ini \ + config.medium.ini \ + config.small.ini \ my-innodb-heavy-4G.cnf \ mysql-log-rotate \ binary-configure \ ndb-config-2-node.ini -pkgdata_SCRIPTS = mysql.server \ +pkgsupp_SCRIPTS = mysql.server \ mysqld_multi.server +aclocaldir = $(datadir)/aclocal +aclocal_DATA = mysql.m4 + noinst_DATA = mysql-@VERSION@.spec \ MySQL-shared-compat.spec @@ -53,6 +65,9 @@ CLEANFILES = my-small.cnf \ my-medium.cnf \ my-large.cnf \ my-huge.cnf \ + config.huge.ini \ + config.medium.ini \ + config.small.ini \ my-innodb-heavy-4G.cnf \ mysql.spec \ mysql-@VERSION@.spec \ @@ -104,6 +119,7 @@ SUFFIXES = .sh -e 's!@''SHARED_LIB_VERSION''@!@SHARED_LIB_VERSION@!' \ -e 's!@''MYSQL_BASE_VERSION''@!@MYSQL_BASE_VERSION@!' \ -e 's!@''MYSQL_NO_DASH_VERSION''@!@MYSQL_NO_DASH_VERSION@!' \ + -e 's!@''MYSQL_COPYRIGHT_YEAR''@!@MYSQL_COPYRIGHT_YEAR@!' \ -e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \ -e 's!@''PERL_DBI_VERSION''@!@PERL_DBI_VERSION@!' \ -e 's!@''PERL_DBD_VERSION''@!@PERL_DBD_VERSION@!' \ diff --git a/support-files/compiler_warnings.supp b/support-files/compiler_warnings.supp index 6c959daf754..c437748c770 100644 --- a/support-files/compiler_warnings.supp +++ b/support-files/compiler_warnings.supp @@ -7,7 +7,7 @@ integer.cpp: .*control reaches end of non-void function.*: 1288-1427 DictTabInfo.cpp : .*invalid access to non-static.* DictTabInfo.cpp : .*macro was used incorrectly.* DbdihMain.cpp : .*unused variable.* : 6666-7013 -DbtupExecQuery.cpp : .*unused variable.* : 1448-1449 +DbtupExecQuery.cpp : .*unused variable.* : 1823 kernel_types.h : .*only defines private constructors and has no friends.* : 51 Dbtup.hpp: .*only defines private constructors and has no friends.* diskpage.hpp: .*only defines private constructors and has no friends.* @@ -33,9 +33,7 @@ pars0lex.l: .*conversion from 'ulint' to 'int', possible loss of data.* .*/bdb/.* : .*unused parameter.* .*/bdb/.* : .*may be used uninitialized.* .*/bdb/.* : .*empty body in an if-statement.* -.*/bdb/.* : .*conversion from 'u?lint' to 'int', possible loss of data.* db_vrfy.c : .*comparison is always false due to limited range of data type.* -dbm.c : .*'item.dsize' is used uninitialized in this function.* # # readline is not maintained by us @@ -58,8 +56,11 @@ dbm.c : .*'item.dsize' is used uninitialized in this function.* .* : conversion from '.*size_t' to 'uint32'.* .* : conversion from '.*size_t' to 'off_t'.* .* : conversion from '.*size_t' to 'size_s'.* -.* : conversion from 'u?lint' to 'int'.* -ha_berkeley.cc : .*conversion from 'ulonglong' to 'char'.* +.* : conversion from '.*size_t' to 'DWORD'.* +.* : conversion from '.*size_t' to 'uLongf'.* +.* : conversion from '.*size_t' to 'UINT'.* +.* : conversion from '.*size_t' to 'uInt'.* +.* : conversion from '.*size_t' to 'uint16'.* # # The following should be fixed by the ndb team @@ -73,18 +74,12 @@ ha_berkeley.cc : .*conversion from 'ulonglong' to 'char'.* # listener.cc : .*conversion from 'SOCKET' to 'int'.* net_serv.cc : .*conversion from 'SOCKET' to 'int'.* -mi_packrec.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 567 + +# allow a little moving space for the warning below +mi_packrec.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 560-600 # # Wrong compiler warnings # .* : .*no matching operator delete found; memory will not be freed if initialization throws an exception.* ctype-simple.c : .*unary minus operator applied to unsigned type, result still unsigned.* - -# -# Viossl warnings - fixed in 5.1, disabled in 5.0. Too large to be changed -# in 5.0. Please do not merge upwards. -# -socket_wrapper.cpp : .*truncation of constant value.* -socket_wrapper.hpp : .*truncation of constant value.* -viossl.c : .*conversion from 'SOCKET' to 'socket_t'.* diff --git a/support-files/config.huge.ini.sh b/support-files/config.huge.ini.sh new file mode 100755 index 00000000000..938dd3209b8 --- /dev/null +++ b/support-files/config.huge.ini.sh @@ -0,0 +1,212 @@ +###################################################### +# MySQL NDB Cluster Huge Sample Configuration File # +###################################################### +# This files assumes that you are using at least 9 # +# hosts for running the cluster. Hostnames and paths # +# listed below should be changed to match your setup # +###################################################### + +[NDBD DEFAULT] +NoOfReplicas: 2 +DataDir: /add/path/here +FileSystemPath: /add/path/here + +# Data Memory, Index Memory, and String Memory # +DataMemory: 6000M +IndexMemory: 1500M +StringMemory: 5 + +# Transaction Parameters # +MaxNoOfConcurrentTransactions: 4096 +MaxNoOfConcurrentOperations: 100000 +MaxNoOfLocalOperations: 100000 + +# Transaction Temporary Storage # +MaxNoOfConcurrentIndexOperations: 8192 +MaxNoOfFiredTriggers: 4000 +TransactionBufferMemory: 1M + +# Scans and buffering # +MaxNoOfConcurrentScans: 300 +MaxNoOfLocalScans: 32 +BatchSizePerLocalScan: 64 +LongMessageBuffer: 1M + +# Logging and Checkpointing # +NoOfFragmentLogFiles: 300 +FragmentLogFileSize: 16M +MaxNoOfOpenFiles: 40 +InitialNoOfOpenFiles: 27 +MaxNoOfSavedMessages: 25 + +# Metadata Objects # +MaxNoOfAttributes: 1500 +MaxNoOfTables: 400 +MaxNoOfOrderedIndexes: 200 +MaxNoOfUniqueHashIndexes: 200 +MaxNoOfTriggers: 770 + +# Boolean Parameters # +LockPagesInMainMemory: 0 +StopOnError: 1 +Diskless: 0 +ODirect: 0 + +# Controlling Timeouts, Intervals, and Disk Paging # +TimeBetweenWatchDogCheck: 6000 +TimeBetweenWatchDogCheckInitial: 6000 +StartPartialTimeout: 30000 +StartPartitionedTimeout: 60000 +StartFailureTimeout: 1000000 +HeartbeatIntervalDbDb: 2000 +HeartbeatIntervalDbApi: 3000 +TimeBetweenLocalCheckpoints: 20 +TimeBetweenGlobalCheckpoints: 2000 +TransactionInactiveTimeout: 0 +TransactionDeadlockDetectionTimeout: 1200 +DiskSyncSize: 4M +DiskCheckpointSpeed: 10M +DiskCheckpointSpeedInRestart: 100M +ArbitrationTimeout: 10 + +# Buffering and Logging # +UndoIndexBuffer: 2M +UndoDataBuffer: 1M +RedoBuffer: 32M +LogLevelStartup: 15 +LogLevelShutdown: 3 +LogLevelStatistic: 0 +LogLevelCheckpoint: 0 +LogLevelNodeRestart: 0 +LogLevelConnection: 0 +LogLevelError: 15 +LogLevelCongestion: 0 +LogLevelInfo: 3 +MemReportFrequency: 0 + +# Backup Parameters # +BackupDataBufferSize: 2M +BackupLogBufferSize: 2M +BackupMemory: 64M +BackupWriteSize: 32K +BackupMaxWriteSize: 256K + +[MGM DEFAULT] +PortNumber: 1186 +DataDir: /add/path/here + +[TCP DEFAULT] +SendBufferMemory: 2M + +####################################### +# Change HOST1 to the name of the NDB_MGMD host +# Change HOST2 to the name of the NDB_MGMD host +# Change HOST3 to the name of the NDB_MGMD host +# Change HOST4 to the name of the NDBD host +# Change HOST5 to the name of the NDBD host +# Change HOST6 to the name of the NDBD host +# Change HOST7 to the name of the NDBD host +# Change HOST8 to the name of the NDBD host +# Change HOST9 to the name of the NDBD host +####################################### + +[NDB_MGMD] +Id: 1 +HostName: HOST1 +ArbitrationRank: 1 + +[NDB_MGMD] +Id: 2 +HostName: HOST2 +ArbitrationRank: 1 + +[NDB_MGMD] +Id: 3 +HostName: HOST3 +ArbitrationRank: 1 + +[NDBD] +Id: 4 +HostName: HOST4 + +[NDBD] +Id: 5 +HostName: HOST5 + +[NDBD] +Id: 6 +HostName: HOST6 + +[NDBD] +Id: 7 +HostName: HOST7 + +[NDBD] +Id: 8 +HostName: HOST8 + +[NDBD] +Id: 9 +HostName: HOST9 + +###################################################### +# Note: The following can be MySQLD connections or # +# NDB API application connecting to the cluster # +###################################################### + +[API] +Id: 10 +HostName: HOST1 +ArbitrationRank: 2 + +[API] +Id: 11 +HostName: HOST2 +ArbitrationRank: 2 + +[API] +Id: 12 +HostName: HOST3 + +[API] +Id: 13 +HostName: HOST4 + +[API] +Id: 14 +HostName: HOST5 + +[API] +Id: 15 +HostName: HOST6 + +[API] +Id: 16 +HostName: HOST7 + +[API] +Id: 17 +HostName: HOST8 + +[API] +Id: 19 +HostName: HOST9 + +[API] +Id: 20 + +[API] +Id: 21 + +[API] +Id: 22 + +[API] +Id: 23 + +[API] +Id: 24 + +[API] +Id: 25 + diff --git a/support-files/config.medium.ini.sh b/support-files/config.medium.ini.sh new file mode 100755 index 00000000000..e35dd35e455 --- /dev/null +++ b/support-files/config.medium.ini.sh @@ -0,0 +1,124 @@ +# +# MySQL NDB Cluster Medium Sample Configuration File +# +# This files assumes that you are using at least 6 +# hosts for running the cluster. Hostnames and paths +# listed below should be changed to match your setup +# + +[NDBD DEFAULT] +NoOfReplicas: 2 +DataDir: /add/path/here +FileSystemPath: /add/path/here + + +# Data Memory, Index Memory, and String Memory + +DataMemory: 3000M +IndexMemory: 800M +BackupMemory: 64M + +# Transaction Parameters + +MaxNoOfConcurrentOperations: 100000 +MaxNoOfLocalOperations: 100000 + +# Buffering and Logging + +RedoBuffer: 16M + +# Logging and Checkpointing + +NoOfFragmentLogFiles: 200 + +# Metadata Objects + +MaxNoOfAttributes: 500 +MaxNoOfTables: 100 + +# Scans and Buffering + +MaxNoOfConcurrentScans: 100 + + +[MGM DEFAULT] +PortNumber: 1186 +DataDir: /add/path/here + +# +# Change HOST1 to the name of the NDB_MGMD host +# Change HOST2 to the name of the NDB_MGMD host +# Change HOST3 to the name of the NDBD host +# Change HOST4 to the name of the NDBD host +# Change HOST5 to the name of the NDBD host +# Change HOST6 to the name of the NDBD host +# + +[NDB_MGMD] +Id: 1 +HostName: HOST1 +ArbitrationRank: 1 + +[NDB_MGMD] +Id: 2 +HostName: HOST2 +ArbitrationRank: 1 + +[NDBD] +Id: 3 +HostName: HOST3 + +[NDBD] +Id: 4 +HostName: HOST4 + +[NDBD] +Id: 5 +HostName: HOST5 + +[NDBD] +Id: 6 +HostName: HOST6 + +# +# Note: The following can be MySQLD connections or +# NDB API application connecting to the cluster +# + +[API] +Id: 7 +HostName: HOST1 +ArbitrationRank: 2 + +[API] +Id: 8 +HostName: HOST2 +ArbitrationRank: 2 + +[API] +Id: 9 +HostName: HOST3 +ArbitrationRank: 2 + +[API] +Id: 10 +HostName: HOST4 + +[API] +Id: 11 +HostName: HOST5 + +[API] +Id: 12 +HostName: HOST6 + +[API] +Id: 13 + +[API] +Id: 14 + +[API] +Id: 15 + + diff --git a/support-files/config.small.ini.sh b/support-files/config.small.ini.sh new file mode 100755 index 00000000000..129e2521e17 --- /dev/null +++ b/support-files/config.small.ini.sh @@ -0,0 +1,65 @@ +# +# MySQL NDB Cluster Small Sample Configuration File +# +# This files assumes that you are using 1 to 3 hosts +# for running the cluster. Hostnames and paths listed +# below should be changed to match your setup. +# +# Note: You can change localhost for a different host +# + +[NDBD DEFAULT] +NoOfReplicas: 2 +DataDir: /add/path/here +FileSystemPath: /add/path/here + +# Data Memory, Index Memory, and String Memory + +DataMemory: 600M +IndexMemory: 100M +BackupMemory: 64M + +[MGM DEFAULT] +PortNumber: 1186 +DataDir: /add/path/here + +[NDB_MGMD] +Id: 1 +HostName: localhost +ArbitrationRank: 1 + +[NDBD] +Id: 2 +HostName: localhost + +[NDBD] +Id: 3 +HostName: localhost + +# +# Note: The following can be MySQLD connections or +# NDB API application connecting to the cluster +# + +[API] +Id: 4 +HostName: localhost +ArbitrationRank: 2 + +[API] +Id: 5 +HostName: localhost + +[API] +Id: 6 +HostName: localhost + +[API] +Id: 7 + +[API] +Id: 8 + +[API] +Id: 9 + diff --git a/support-files/my-huge.cnf.sh b/support-files/my-huge.cnf.sh index 75605c28340..17a7ddb5855 100644 --- a/support-files/my-huge.cnf.sh +++ b/support-files/my-huge.cnf.sh @@ -28,7 +28,7 @@ socket = @MYSQL_UNIX_ADDR@ skip-locking key_buffer_size = 384M max_allowed_packet = 1M -table_cache = 512 +table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M @@ -46,9 +46,6 @@ thread_concurrency = 8 # #skip-networking -# Disable Federated by default -skip-federated - # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin @@ -112,6 +109,9 @@ server-id = 1 # # binary logging - not required for slaves, but recommended #log-bin=mysql-bin +# +# binary logging format - mixed recommended +#binlog_format=mixed # Point the following paths to different dedicated disks #tmpdir = /tmp/ diff --git a/support-files/my-innodb-heavy-4G.cnf.sh b/support-files/my-innodb-heavy-4G.cnf.sh index 58ad16eafc2..e9390a5b9e8 100644 --- a/support-files/my-innodb-heavy-4G.cnf.sh +++ b/support-files/my-innodb-heavy-4G.cnf.sh @@ -80,7 +80,7 @@ max_connect_errors = 10 # Therefore you have to make sure to set the amount of open files # allowed to at least 4096 in the variable "open-files-limit" in # section [mysqld_safe] -table_cache = 2048 +table_open_cache = 2048 # Enable external file level locking. Enabled file locking will have a # negative impact on performance, so only use it in case you have @@ -191,6 +191,9 @@ tmp_table_size = 64M # the ability to do point in time recovery from your latest backup. log-bin=mysql-bin +# binary logging format - mixed recommended +binlog_format=mixed + # If you're using replication with chained slaves (A->B->C), you need to # enable this option on server B. It enables logging of updates done by # the slave thread into the slave's binary log. @@ -211,7 +214,7 @@ log-bin=mysql-bin # indexes well, if log_short_format is not enabled. It is normally good idea # to have this turned on if you frequently add new queries to the # system. -log_slow_queries +slow_query_log # All queries taking more than this amount of time (in seconds) will be # trated as slow. Do not use "1" as a value here, as this will result in @@ -345,10 +348,6 @@ myisam_repair_threads = 1 # Automatically check and repair not properly closed MyISAM tables. myisam_recover - -# Disable Federated by default -skip-federated - # *** INNODB Specific options *** # Use this option if you have a MySQL server with InnoDB support enabled diff --git a/support-files/my-large.cnf.sh b/support-files/my-large.cnf.sh index 209dc3afe4a..bbdfdb32a96 100644 --- a/support-files/my-large.cnf.sh +++ b/support-files/my-large.cnf.sh @@ -28,7 +28,7 @@ socket = @MYSQL_UNIX_ADDR@ skip-locking key_buffer_size = 256M max_allowed_packet = 1M -table_cache = 256 +table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M @@ -46,13 +46,13 @@ thread_concurrency = 8 # #skip-networking -# Disable Federated by default -skip-federated - # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin +# binary logging format - mixed recommended +binlog_format=mixed + # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted diff --git a/support-files/my-medium.cnf.sh b/support-files/my-medium.cnf.sh index e299add99d7..88113d0a8d4 100644 --- a/support-files/my-medium.cnf.sh +++ b/support-files/my-medium.cnf.sh @@ -29,7 +29,7 @@ socket = @MYSQL_UNIX_ADDR@ skip-locking key_buffer_size = 16M max_allowed_packet = 1M -table_cache = 64 +table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K @@ -44,13 +44,13 @@ myisam_sort_buffer_size = 8M # #skip-networking -# Disable Federated by default -skip-federated - # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin +# binary logging format - mixed recommended +binlog_format=mixed + # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh index ed938495b73..3bfa08d0bd1 100644 --- a/support-files/my-small.cnf.sh +++ b/support-files/my-small.cnf.sh @@ -29,7 +29,7 @@ socket = @MYSQL_UNIX_ADDR@ skip-locking key_buffer_size = 16K max_allowed_packet = 1M -table_cache = 4 +table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K @@ -48,8 +48,8 @@ server-id = 1 # Uncomment the following if you want to log updates #log-bin=mysql-bin -# Disable Federated by default -skip-federated +# binary logging format - mixed recommended +#binlog_format=mixed # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = @localstatedir@/ diff --git a/support-files/mysql.m4 b/support-files/mysql.m4 new file mode 100644 index 00000000000..a440353c196 --- /dev/null +++ b/support-files/mysql.m4 @@ -0,0 +1,108 @@ +# Copyright (C) 2007 MySQL AB +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., 59 +# Temple Place, Suite 330, Boston, MA 02111-1307 USA + +AC_DEFUN([_MYSQL_CONFIG],[ + AC_ARG_WITH([mysql-config], + AS_HELP_STRING([--with-mysql-config=PATH], [A path to mysql_config script]), + [mysql_config="$withval"], [mysql_config=mysql_config]) +]) + +dnl +dnl Usage: +dnl +dnl MYSQL_CLIENT([version], [client|thread-safe|embedded]) +dnl +dnl Two optional arguments: +dnl first: The minimal version of the MySQL to use +dnl if not specified, any version will be accepted. +dnl The version should be specified as three numbers, +dnl without suffixes. E.g. 4.10.15 or 5.0.3 +dnl second: force the specified library flavor to be selected, +dnl if not specified, a user will be able to choose +dnl between client (non-thread-safe) and embedded +dnl +dnl On successful execution sets MYSQL_CLIENT_CFLAGS and +dnl MYSQL_CLIENT_LIBS shell variables and makes substitutions +dnl out of them (calls AC_SUBST) +dnl + +AC_DEFUN([MYSQL_CLIENT],[ + AC_REQUIRE([_MYSQL_CONFIG]) + AC_MSG_CHECKING([for MySQL]) + ifelse([$2], [client], + [mysql_libs=--libs mysql_cflags=--cflags], + [$2], [thread-safe], + [mysql_libs=--libs_r mysql_cflags=--cflags], + [$2], [embedded], + [mysql_libs=--libmysqld-libs mysql_cflags=--cflags], + [$2], [], [ + AC_ARG_WITH([mysql-library], + AS_HELP_STRING([--with-mysql-library], ['client' or 'embedded']), + [mysql_lib="$withval"], [mysql_lib=client]) +[ + case "$mysql_lib" in + client) mysql_libs=--libs mysql_cflags=--cflags ;; + embedded) mysql_libs=--libmysqld-libs mysql_cflags=--cflags ;; + *) ]AC_MSG_ERROR([Bad value for --with-mysql-library])[ + esac +] + ], + [AC_FATAL([Bad second (library flavor) argument to MYSQL_CLIENT])]) +[ + mysql_version=`$mysql_config --version` + if test -z "$mysql_version" ; then + ]AC_MSG_ERROR([Cannot execute $mysql_config])[ + fi +] + ifelse([$1], [], [], [ + ifelse(regexp([$1], [^[0-9][0-9]?\.[0-9][0-9]?\.[0-9][0-9]?$]), -1, + [AC_FATAL([Bad first (version) argument to MYSQL_CLIENT])], [ +dnl +dnl Transformation below works as follows: +dnl assume, we have a number 1.2.3-beta +dnl *a* line removes the suffix and adds first and last dot to the version: +dnl .1.2.3. +dnl *b* line adds a 0 to a "single digit surrounded by dots" +dnl .01.2.03. +dnl note that the pattern that matched .1. has eaten the dot for .2. +dnl and 2 still has no 0 +dnl *c* we repeat the same replacement as in *b*, matching .2. this time +dnl .01.02.03. +dnl the last replacement removes all dots +dnl 010203 +dnl giving us a number we can compare with +dnl + mysql_ver=`echo ${mysql_version}|dnl + sed 's/[[-a-z]].*//; s/.*/.&./;dnl *a* + s/\.\([[0-9]]\)\./.0\1./g;dnl *b* + s/\.\([[0-9]]\)\./.0\1./g;dnl *c* + s/\.//g'` + if test "$mysql_ver" -lt]dnl +dnl the same as sed transformation above, without suffix-stripping, in m4 + patsubst(patsubst(patsubst(.[$1]., [\.\([0-9]\)\.], [.0\1.]), [\.\([0-9]\)\.], [.0\1.]), [\.], [])[ ; then + AC_MSG_ERROR([MySQL version $mysql_version is too low, minimum of $1 is required]) + fi + ])]) + + MYSQL_CLIENT_CFLAGS=`$mysql_config $mysql_cflags` + MYSQL_CLIENT_LIBS=`$mysql_config $mysql_libs` + AC_SUBST(MYSQL_CLIENT_CFLAGS) + AC_SUBST(MYSQL_CLIENT_LIBS) + + # should we try to build a test program ? + + AC_MSG_RESULT([$mysql_version]) +]) + diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index ac7a9c25ce6..bbd93b8f746 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -310,7 +310,10 @@ case "$mode" in fi # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. - $manager --user=$user --pid-file=$pid_file >/dev/null 2>&1 & + "$manager" \ + --mysqld-safe-compatible \ + --user="$user" \ + --pid-file="$pid_file" >/dev/null 2>&1 & wait_for_pid created $!; return_value=$? # Make lock for RedHat / SuSE @@ -405,7 +408,7 @@ case "$mode" in fi else # Try to find appropriate mysqld process - mysqld_pid=`pidof $sbindir/mysqld` + mysqld_pid=`pidof $libexecdir/mysqld` if test -z $mysqld_pid ; then if test "$use_mysqld_safe" = "0" ; then lockfile=/var/lock/subsys/mysqlmanager diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index dc80d379b83..778b04b30fe 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2007 MySQL AB +# Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -14,8 +14,12 @@ # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston # MA 02110-1301 USA. -%define mysql_version @VERSION@ -%define mysql_vendor MySQL AB +%define mysql_version @VERSION@ + +# NOTE: "vendor" is used in upgrade/downgrade check, so you can't +# change these, has to be exactly as is. +%define mysql_old_vendor MySQL AB +%define mysql_vendor Sun Microsystems, Inc. # use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x) # to enable static linking (off by default) @@ -27,16 +31,21 @@ %{?_with_yassl:%define YASSL_BUILD 1} %{!?_with_yassl:%define YASSL_BUILD 0} +# use "rpmbuild --with cluster" or "rpm --define '_with_cluster 1'" (for RPM 3.x) +# to build with cluster support (off by default) +%{?_with_cluster:%define CLUSTER_BUILD 1} +%{!?_with_cluster:%define CLUSTER_BUILD 0} + %if %{STATIC_BUILD} %define release 0 %else %define release 0.glibc23 %endif -%define license GPL -%define mysqld_user mysql -%define mysqld_group mysql -%define server_suffix -community -%define mysqldatadir /var/lib/mysql +%define mysql_license GPL +%define mysqld_user mysql +%define mysqld_group mysql +%define server_suffix -standard +%define mysqldatadir /var/lib/mysql # We don't package all files installed into the build root by intention - # See BUG#998 for details. @@ -66,10 +75,10 @@ Summary: MySQL: a very fast and reliable SQL database server Group: Applications/Databases Version: @MYSQL_NO_DASH_VERSION@ Release: %{release} -License: %{license} +License: Copyright 2000-2008 MySQL AB, @MYSQL_COPYRIGHT_YEAR@ Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Under %{mysql_license} license as shown in the Description field. Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz URL: http://www.mysql.com/ -Packager: MySQL Production Engineering Team <build@mysql.com> +Packager: Sun Microsystems, Inc. Product Engineering Team <build@mysql.com> Vendor: %{mysql_vendor} Provides: msqlormysql MySQL-server mysql BuildRequires: ncurses-devel @@ -85,9 +94,11 @@ The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. MySQL is a trademark of -MySQL AB. +Sun Microsystems, Inc. + +Copyright 2000-2008 MySQL AB, @MYSQL_COPYRIGHT_YEAR@ Sun Microsystems, Inc. All rights reserved. +Use is subject to license terms. -Copyright (C) 2000-2007 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license. @@ -100,16 +111,18 @@ Summary: MySQL: a very fast and reliable SQL database server Group: Applications/Databases Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig Provides: msqlormysql mysql-server mysql MySQL -Obsoletes: MySQL mysql mysql-server mysql-Max +Obsoletes: MySQL mysql mysql-server %description server The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. MySQL is a trademark of -MySQL AB. +Sun Microsystems, Inc. + +Copyright 2000-2008 MySQL AB, @MYSQL_COPYRIGHT_YEAR@ Sun Microsystems, Inc. All rights reserved. +Use is subject to license terms. -Copyright (C) 2000-2007 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license. @@ -121,7 +134,7 @@ This package includes the MySQL server binary (incl. InnoDB) as well as related utilities to run and administrate a MySQL server. If you want to access and work with the database, you have to install -the package "MySQL-client" as well! +package "MySQL-client" as well! %package client Summary: MySQL - Client @@ -134,6 +147,7 @@ This package contains the standard MySQL clients and administration tools. %{see_base} +%if %{CLUSTER_BUILD} %package ndb-storage Summary: MySQL - ndbcluster storage engine Group: Applications/Databases @@ -174,17 +188,18 @@ This package contains some extra ndbcluster storage engine tools for the advance They should be used with caution. %{see_base} +%endif -%package bench +%package test Requires: %{name}-client perl-DBI perl -Summary: MySQL - Benchmarks and test system +Summary: MySQL - Test suite Group: Applications/Databases -Provides: mysql-bench -Obsoletes: mysql-bench +Provides: mysql-test +Obsoletes: mysql-bench mysql-test AutoReqProv: no -%description bench -This package contains MySQL benchmark scripts and data. +%description test +This package contains the MySQL regression test suite. %{see_base} @@ -203,34 +218,36 @@ necessary to develop MySQL client applications. %package shared Summary: MySQL - Shared libraries Group: Applications/Databases -Provides: mysql-shared -Obsoletes: mysql-shared %description shared This package contains the shared libraries (*.so*) which certain languages and applications need to dynamically load and use MySQL. -#%package embedded -#Requires: %{name}-devel -#Summary: MySQL - embedded library -#Group: Applications/Databases -#Obsoletes: mysql-embedded -# -#%description embedded -#This package contains the MySQL server as an embedded library. -# -#The embedded MySQL server library makes it possible to run a -#full-featured MySQL server inside the client application. -#The main benefits are increased speed and more simple management -#for embedded applications. -# -#The API is identical for the embedded MySQL version and the -#client/server version. -# -#%{see_base} +%package embedded +Requires: %{name}-devel +Summary: MySQL - embedded library +Group: Applications/Databases +Obsoletes: mysql-embedded + +%description embedded +This package contains the MySQL server as an embedded library. + +The embedded MySQL server library makes it possible to run a +full-featured MySQL server inside the client application. +The main benefits are increased speed and more simple management +for embedded applications. + +The API is identical for the embedded MySQL version and the +client/server version. + +%{see_base} %prep -%setup -n mysql-%{mysql_version} +# We unpack the source two times, for 'debug' and 'release' build. +%setup -T -a 0 -c -n mysql-%{mysql_version} +mv mysql-%{mysql_version} mysql-debug-%{mysql_version} +%setup -D -T -a 0 -n mysql-%{mysql_version} +mv mysql-%{mysql_version} mysql-release-%{mysql_version} %build @@ -245,14 +262,23 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \ LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \ ./configure \ $* \ + --with-mysqld-ldflags='-static' \ + --with-client-ldflags='-static' \ + --with-zlib-dir=bundled \ --enable-assembler \ --enable-local-infile \ + --with-fast-mutexes \ --with-mysqld-user=%{mysqld_user} \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-pic \ --prefix=/ \ +%if %{CLUSTER_BUILD} + --with-extra-charsets=all \ +%else + --with-extra-charsets=complex \ +%endif %if %{YASSL_BUILD} - --with-yassl \ + --with-ssl \ %endif --exec-prefix=%{_exec_prefix} \ --libexecdir=%{_sbindir} \ @@ -264,13 +290,22 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \ --includedir=%{_includedir} \ --mandir=%{_mandir} \ --enable-thread-safe-client \ - --with-readline ; \ - # Add this for more debugging support - # --with-debug - " - - # benchdir does not fit in above model. Maybe a separate bench distribution - make benchdir_root=$RPM_BUILD_ROOT/usr/share/ + --with-readline \ + --with-innodb \ +%if %{CLUSTER_BUILD} + --with-ndbcluster \ +%else + --without-ndbcluster \ +%endif + --with-archive-storage-engine \ + --with-csv-storage-engine \ + --with-blackhole-storage-engine \ + --with-federated-storage-engine \ + --with-partition \ + --with-big-tables \ + --enable-shared \ + " + make } # Use our own copy of glibc @@ -285,7 +320,6 @@ fi # Use the build root for temporary storage of the shared libraries. RBR=$RPM_BUILD_ROOT -MBD=$RPM_BUILD_DIR/mysql-%{mysql_version} # Clean up the BuildRoot first [ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR; @@ -297,6 +331,8 @@ mkdir -p $RBR%{_libdir}/mysql PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin} export PATH +# Build the Debug binary. + # Use gcc for C and C++ code (to avoid a dependency on libstdc++ and # including exceptions into the code if [ -z "$CXX" -a -z "$CC" ] @@ -309,123 +345,114 @@ fi CFLAGS=${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti } +############################################################################## # -# Only link statically on our i386 build host (which has a specially -# patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched) -# so don't link statically there +# Build the debug version # -for servertype in '--with-debug=full' ' ' -do - ( - # We are in a subshell, so we can modify variables just for one run. - if test "$servertype" != ' ' - then - CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` - CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` - fi - - BuildMySQL "\ -%if %{STATIC_BUILD} - --disable-shared \ - --with-mysqld-ldflags='-all-static' \ - --with-client-ldflags='-all-static' \ - $USE_OTHER_LIBC_DIR \ -%else - --enable-shared \ - --with-zlib-dir=bundled \ -%endif - --with-extra-charsets=complex \ - --with-comment=\"MySQL Community Edition (GPL)\" \ - --with-server-suffix='%{server_suffix}' \ - --with-archive-storage-engine \ - --with-innodb \ - --with-ndbcluster \ - --with-csv-storage-engine \ - --with-example-storage-engine \ - --with-blackhole-storage-engine \ - --with-federated-storage-engine \ - --with-big-tables $servertype" +############################################################################## + +( +# We are in a subshell, so we can modify variables just for one run. +CFLAGS=`echo " $CFLAGS " | \ + sed -e 's/ -O[0-9]* / /' -e 's/ -unroll2 / /' -e 's/ -ip / /' \ + -e 's/^ //' -e 's/ $//'` +CXXFLAGS=`echo " $CXXFLAGS " | \ + sed -e 's/ -O[0-9]* / /' -e 's/ -unroll2 / /' -e 's/ -ip / /' \ + -e 's/^ //' -e 's/ $//'` + +# Add -g and --with-debug. +cd mysql-debug-%{mysql_version} && +CFLAGS="$CFLAGS" \ +CXXFLAGS="$CXXFLAGS" \ +BuildMySQL "\ + --with-debug \ + --with-comment=\"MySQL Community Server - Debug (%{mysql_license})\"") - if test "$servertype" != ' ' - then - # if this is not the regular build, we save the server binary - ./libtool --mode=execute cp sql/mysqld sql/mysqld-debug - ./libtool --mode=execute nm --numeric-sort sql/mysqld-debug > sql/mysqld-debug.sym - echo "# debug" - make test-bt-debug - make clean - fi - ) -done +# We might want to save the config log file +if test -n "$MYSQL_DEBUGCONFLOG_DEST" +then + cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST" +fi -./libtool --mode=execute nm --numeric-sort sql/mysqld > sql/mysqld.sym +(cd mysql-debug-%{mysql_version} ; make test-bt-debug) +############################################################################## +# +# Build the release binary +# +############################################################################## + +(cd mysql-release-%{mysql_version} && +CFLAGS="$CFLAGS" \ +CXXFLAGS="$CXXFLAGS" \ +BuildMySQL "\ + --with-embedded-server \ + --with-comment=\"MySQL Community Server (%{mysql_license})\"") # We might want to save the config log file if test -n "$MYSQL_CONFLOG_DEST" then - cp -fp config.log "$MYSQL_CONFLOG_DEST" + cp -fp mysql-release-%{mysql_version}/config.log "$MYSQL_CONFLOG_DEST" fi -echo "# standard" -make test-bt +(cd mysql-release-%{mysql_version} ; make test-bt) + +############################################################################## + +# Include libgcc.a in the devel subpackage (BUG 4921) +if expr "$CC" : ".*gcc.*" > /dev/null ; +then + libgcc=`$CC $CFLAGS --print-libgcc-file` + if [ -f $libgcc ] + then + %define have_libgcc 1 + install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a + fi +fi + +############################################################################## %install RBR=$RPM_BUILD_ROOT -MBD=$RPM_BUILD_DIR/mysql-%{mysql_version} +MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-release-%{mysql_version} # Ensure that needed directories exists install -d $RBR%{_sysconfdir}/{logrotate.d,init.d} install -d $RBR%{mysqldatadir}/mysql -install -d $RBR%{_datadir}/{sql-bench,mysql-test} +install -d $RBR%{_datadir}/mysql-test install -d $RBR%{_includedir} install -d $RBR%{_libdir} install -d $RBR%{_mandir} install -d $RBR%{_sbindir} -# Install all binaries stripped -make install-strip DESTDIR=$RBR benchdir_root=%{_datadir} -# Install the ndb binaries -(cd ndb; make install DESTDIR=$RBR) +# Install all binaries +(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir}) +# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do +# the same here. +mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/ -# Install the saved debug server -install -s -m 755 $MBD/sql/mysqld-debug $RBR%{_sbindir}/mysqld-debug - -# Install shared libraries (Disable for architectures that don't support it) -# (cd $RBR%{_libdir}; tar xf $RBR/shared-libs.tar; rm -f $RBR/shared-libs.tar) - -# Include libgcc.a in the devel subpackage (BUG 4921) -if expr "$CC" : ".*gcc.*" > /dev/null ; -then - libgcc=`$CC $CFLAGS --print-libgcc-file` - if [ -f $libgcc ] - then - %define have_libgcc 1 - install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a - fi -fi +# install "mysqld-debug" +$MBD/libtool --mode=execute install -m 755 \ + $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld \ + $RBR%{_sbindir}/mysqld-debug -# install symbol files ( for stack trace resolution) -# install -m 644 $MBD/sql/mysqld-max.sym $RBR%{_libdir}/mysql/mysqld-max.sym -install -m 644 $MBD/sql/mysqld.sym $RBR%{_libdir}/mysql/mysqld.sym -install -m 644 $MBD/sql/mysqld-debug.sym $RBR%{_libdir}/mysql/mysqld-debug.sym +# install saved perror binary with NDB support (BUG#13740) +install -m 755 $MBD/extra/perror $RBR%{_bindir}/perror # Install logrotate and autostart install -m 644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql install -m 755 $MBD/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql # Install embedded server library in the build root -# FIXME No libmysqld on 5.0 yet -#install -m 644 libmysqld/libmysqld.a $RBR%{_libdir}/mysql/ +install -m 644 $MBD/libmysqld/libmysqld.a $RBR%{_libdir}/mysql/ + +# in RPMs, it is unlikely that anybody should use "sql-bench" +rm -fr $RBR%{_datadir}/sql-bench # Create a symlink "rcmysql", pointing to the init.script. SuSE users # will appreciate that, as all services usually offer this. ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql -# Create symbolic compatibility link safe_mysqld -> mysqld_safe -# (safe_mysqld will be gone in MySQL 4.1) -ln -sf ./mysqld_safe $RBR%{_bindir}/safe_mysqld - # Touch the place where the my.cnf config file and mysqlmanager.passwd # (MySQL Instance Manager password file) might be located # Just to make sure it's in the file list and marked as a config file @@ -440,6 +467,7 @@ installed=`rpm -q --whatprovides mysql-server 2> /dev/null` if [ $? -eq 0 -a -n "$installed" ]; then vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1` version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1` + myoldvendor='%{mysql_old_vendor}' myvendor='%{mysql_vendor}' myversion='%{mysql_version}' @@ -451,12 +479,12 @@ if [ $? -eq 0 -a -n "$installed" ]; then [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>" error_text= - if [ "$vendor" != "$myvendor" ]; then + if [ "$vendor" != "$myoldvendor" -a "$vendor" != "$myvendor" ]; then error_text="$error_text The current MySQL server package is provided by a different -vendor ($vendor) than $myvendor. Some files may be installed -to different locations, including log files and the service -startup script in %{_sysconfdir}/init.d/. +vendor ($vendor) than $myoldvendor or $myvendor. +Some files may be installed to different locations, including log +files and the service startup script in %{_sysconfdir}/init.d/. " fi @@ -557,14 +585,22 @@ chmod -R og-rw $mysql_datadir/mysql # Restart in the same way that mysqld will be started normally. %{_sysconfdir}/init.d/mysql start -# Allow safe_mysqld to start mysqld and print a message before we exit +# Allow mysqld_safe to start mysqld and print a message before we exit sleep 2 +#echo "Thank you for installing the MySQL Community Server! For Production +#systems, we recommend MySQL Enterprise, which contains enterprise-ready +#software, intelligent advisory services, and full production support with +#scheduled service packs and more. Visit www.mysql.com/enterprise for more +#information." + +%if %{CLUSTER_BUILD} %post ndb-storage mysql_clusterdir=/var/lib/mysql-cluster # Create cluster directory if needed if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi +%endif %preun server if test $1 = 0 @@ -597,9 +633,11 @@ fi %files server %defattr(-,root,root,0755) -%doc COPYING README -%doc support-files/my-*.cnf -%doc support-files/ndb-*.ini +%doc mysql-release-%{mysql_version}/COPYING mysql-release-%{mysql_version}/README +%doc mysql-release-%{mysql_version}/support-files/my-*.cnf +%if %{CLUSTER_BUILD} +%doc mysql-release-%{mysql_version}/support-files/ndb-*.ini +%endif %doc %attr(644, root, root) %{_infodir}/mysql.info* @@ -609,7 +647,6 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1* %doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1* %doc %attr(644, root, man) %{_mandir}/man1/myisampack.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_explain_log.1* %doc %attr(644, root, man) %{_mandir}/man8/mysqld.8* %doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1* @@ -626,7 +663,6 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1* %doc %attr(644, root, man) %{_mandir}/man1/perror.1* %doc %attr(644, root, man) %{_mandir}/man1/replace.1* -%doc %attr(644, root, man) %{_mandir}/man1/safe_mysqld.1* %ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf %ghost %config(noreplace,missingok) %{_sysconfdir}/mysqlmanager.passwd @@ -638,7 +674,6 @@ fi %attr(755, root, root) %{_bindir}/myisamlog %attr(755, root, root) %{_bindir}/myisampack %attr(755, root, root) %{_bindir}/mysql_convert_table_format -%attr(755, root, root) %{_bindir}/mysql_explain_log %attr(755, root, root) %{_bindir}/mysql_fix_extensions %attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables %attr(755, root, root) %{_bindir}/mysql_install_db @@ -657,13 +692,11 @@ fi %attr(755, root, root) %{_bindir}/replace %attr(755, root, root) %{_bindir}/resolve_stack_dump %attr(755, root, root) %{_bindir}/resolveip -%attr(755, root, root) %{_bindir}/safe_mysqld %attr(755, root, root) %{_sbindir}/mysqld %attr(755, root, root) %{_sbindir}/mysqld-debug %attr(755, root, root) %{_sbindir}/mysqlmanager %attr(755, root, root) %{_sbindir}/rcmysql -%attr(644, root, root) %{_libdir}/mysql/mysqld.sym %attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql %attr(755, root, root) %{_sysconfdir}/init.d/mysql @@ -675,8 +708,6 @@ fi %attr(755, root, root) %{_bindir}/msql2mysql %attr(755, root, root) %{_bindir}/mysql %attr(755, root, root) %{_bindir}/mysql_find_rows -%attr(755, root, root) %{_bindir}/mysql_tableinfo -%attr(755, root, root) %{_bindir}/mysql_upgrade_shell %attr(755, root, root) %{_bindir}/mysql_waitpid %attr(755, root, root) %{_bindir}/mysqlaccess %attr(755, root, root) %{_bindir}/mysqladmin @@ -685,11 +716,11 @@ fi %attr(755, root, root) %{_bindir}/mysqldump %attr(755, root, root) %{_bindir}/mysqlimport %attr(755, root, root) %{_bindir}/mysqlshow +%attr(755, root, root) %{_bindir}/mysqlslap %doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_tableinfo.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1* @@ -697,6 +728,7 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1* %post shared /sbin/ldconfig @@ -704,6 +736,7 @@ fi %postun shared /sbin/ldconfig +%if %{CLUSTER_BUILD} %files ndb-storage %defattr(-,root,root,0755) %attr(755, root, root) %{_sbindir}/ndbd @@ -720,6 +753,9 @@ fi %attr(755, root, root) %{_bindir}/ndb_desc %attr(755, root, root) %{_bindir}/ndb_error_reporter %attr(755, root, root) %{_bindir}/ndb_mgm +%attr(755, root, root) %{_bindir}/ndb_print_backup_file +%attr(755, root, root) %{_bindir}/ndb_print_schema_file +%attr(755, root, root) %{_bindir}/ndb_print_sys_file %attr(755, root, root) %{_bindir}/ndb_restore %attr(755, root, root) %{_bindir}/ndb_select_all %attr(755, root, root) %{_bindir}/ndb_select_count @@ -727,12 +763,14 @@ fi %attr(755, root, root) %{_bindir}/ndb_size.pl %attr(755, root, root) %{_bindir}/ndb_test_platform %attr(755, root, root) %{_bindir}/ndb_waiter -%attr(-, root, root) %{_datadir}/mysql/ndb_size.tmpl %doc %attr(644, root, man) %{_mandir}/man1/ndb_config.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_desc.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_error_reporter.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_mgm.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_restore.1* +%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_backup_file.1* +%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_schema_file.1* +%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_sys_file.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_select_all.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_select_count.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_show_tables.1* @@ -749,17 +787,17 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_index.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_table.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_cpcd.1* +%endif %files devel %defattr(-, root, root, 0755) -%doc EXCEPTIONS-CLIENT -%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1* +%doc mysql-release-%{mysql_version}/EXCEPTIONS-CLIENT %doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1* -%attr(755, root, root) %{_bindir}/comp_err %attr(755, root, root) %{_bindir}/mysql_config %dir %attr(755, root, root) %{_includedir}/mysql %dir %attr(755, root, root) %{_libdir}/mysql %{_includedir}/mysql/* +%{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libdbug.a %{_libdir}/mysql/libheap.a %if %{have_libgcc} @@ -773,57 +811,80 @@ fi %{_libdir}/mysql/libmysqlclient_r.la %{_libdir}/mysql/libmystrings.a %{_libdir}/mysql/libmysys.a +%if %{CLUSTER_BUILD} %{_libdir}/mysql/libndbclient.a %{_libdir}/mysql/libndbclient.la +%endif %{_libdir}/mysql/libvio.a -%if %{STATIC_BUILD} -%else %{_libdir}/mysql/libz.a %{_libdir}/mysql/libz.la -%endif %files shared %defattr(-, root, root, 0755) # Shared libraries (omit for architectures that don't support them) -%{_libdir}/*.so* +%{_libdir}/libmysql*.so* +%if %{CLUSTER_BUILD} +%{_libdir}/libndb*.so* +%endif -%files bench +%files test %defattr(-, root, root, 0755) -%attr(-, root, root) %{_datadir}/sql-bench %attr(-, root, root) %{_datadir}/mysql-test %attr(755, root, root) %{_bindir}/mysql_client_test -%attr(755, root, root) %{_bindir}/mysqltestmanager -%attr(755, root, root) %{_bindir}/mysqltestmanager-pwgen -%attr(755, root, root) %{_bindir}/mysqltestmanagerc +%attr(755, root, root) %{_bindir}/mysql_client_test_embedded +%attr(755, root, root) %{_bindir}/mysqltest_embedded %doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1* -#%files embedded -#%defattr(-, root, root, 0755) -# %attr(644, root, root) %{_libdir}/mysql/libmysqld.a +%files embedded +%defattr(-, root, root, 0755) +%attr(644, root, root) %{_libdir}/mysql/libmysqld.a # The spec file changelog only includes changes made to the spec file # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Fri Nov 07 2008 Joerg Bruehe <joerg@mysql.com> + +- Correct yesterday's fix, so that it also works for the last flag, + and fix a wrong quoting: un-quoted quote marks must not be escaped. + +* Thu Nov 06 2008 Kent Boortz <kent.boortz@sun.com> + +- Removed "mysql_upgrade_shell" +- Removed some copy/paste between debug and normal build + * Thu Nov 06 2008 Joerg Bruehe <joerg@mysql.com> - Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. This should cover both gcc and icc flags. Fixes bug#40546. + +* Fri Aug 29 2008 Kent Boortz <kent@mysql.com> -* Mon Aug 18 2008 Joerg Bruehe <joerg@mysql.com> +- Removed the "Federated" storage engine option, and enabled in all + +* Tue Aug 26 2008 Joerg Bruehe <joerg@mysql.com> - Get rid of the "warning: Installed (but unpackaged) file(s) found:" + Some generated files aren't needed in RPMs: + - the "sql-bench/" subdirectory Some files were missing: + - /usr/share/aclocal/mysql.m4 ("devel" subpackage) - Manual "mysqlbug" ("server" subpackage) - Program "innochecksum" and its manual ("server" subpackage) - - Manuals "mysql_find_rows" + "mysql_tableinfo" ("client" subpackage) + - Manual "mysql_find_rows" ("client" subpackage) - Script "mysql_upgrade_shell" ("client" subpackage) - - Manual "comp_err" ("devel" subpackage) - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage) - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage) +* Mon Mar 31 2008 Kent Boortz <kent@mysql.com> + +- Made the "Federated" storage engine an option +- Made the "Cluster" storage engine and sub packages an option + * Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com> - Add the man pages for "ndbd" and "ndb_mgmd". @@ -833,9 +894,10 @@ fi - Require a manual upgrade if the alread-installed mysql-server is from another vendor, or is of a different major version. -* Fri Nov 16 2007 Joerg Bruehe <joerg@mysql.com> +* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com> -- When testing the debug server, use "make test-bt-debug". +- "ndb_size.tmpl" is not needed any more, + "man1/mysql_install_db.1" lacked the trailing '*'. * Sat Apr 07 2007 Kent Boortz <kent@mysql.com> @@ -854,12 +916,10 @@ fi - Add several man pages for NDB which are now created. -* Wed Jan 31 2007 Daniel Fischer <df@mysql.com> - -- add MTR_BUILD_THREAD=auto to test runs. - * Fri Jan 05 2007 Kent Boortz <kent@mysql.com> +- Put back "libmygcc.a", found no real reason it was removed. + - Add CFLAGS to gcc call with --print-libgcc-file, to make sure the correct "libgcc.a" path is returned for the 32/64 bit architecture. @@ -873,16 +933,27 @@ fi in the server RPM. - The "mysqlmanager" man page got moved from section 1 to 8. +* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com> + +- Call "make install" using "benchdir_root=%{_datadir}", + because that is affecting the regression test suite as well. + * Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com> - Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading (bug#22081). -* Wed Nov 15 2006 Joerg Bruehe <joerg@mysql.com> +* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com> + +- Add "--with-partition" to all server builds. -- Switch from "make test*" to explicit calls of the test suite, - so that "report features" can be used. +- Use "--report-features" in one test run per server build. + +* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com> + +- The "max" server is removed from packages, effective from 5.1.12-beta. + Delete all steps to build, package, or install it. * Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com> @@ -918,9 +989,9 @@ fi * Wed May 10 2006 Kent Boortz <kent@mysql.com> -- Use character set "all" for the "max", to make Cluster nodes - independent on the character set directory, and the problem that - two RPM sub packages both wants to install this directory. +- Use character set "all" when compiling with Cluster, to make Cluster + nodes independent on the character set directory, and the problem + that two RPM sub packages both wants to install this directory. * Mon May 01 2006 Kent Boortz <kent@mysql.com> @@ -931,25 +1002,52 @@ fi - Install and run "mysql_upgrade" +* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com> + +- Remove sql-bench, and MySQL-bench RPM (will be built as an independent + project from the mysql-bench repository) + +* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com> + +- Remove old mysqltestmanager and related programs * Sat Apr 01 2006 Kent Boortz <kent@mysql.com> - Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS -* Fri Mar 03 2006 Kent Boortz <kent@mysql.com> +* Wed Mar 07 2006 Kent Boortz <kent@mysql.com> + +- Changed product name from "Community Edition" to "Community Server" + +* Mon Mar 06 2006 Kent Boortz <kent@mysql.com> -- Don't output an embedded package as it is empty -- Can't use bundled zlib when doing static build. Might be a - automake/libtool problem, having two .la files, "libmysqlclient.la" - and "libz.la", on the same command line to link "thread_test" - expands to too many "-lc", "-lpthread" and other libs giving hard - to nail down duplicate symbol defintion problems. +- Fast mutexes is now disabled by default, but should be + used in Linux builds. -* Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com> +* Mon Feb 20 2006 Kent Boortz <kent@mysql.com> + +- Reintroduced a max build +- Limited testing of 'debug' and 'max' servers +- Berkeley DB only in 'max' + +* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com> - Use "-i" on "make test-force"; this is essential for later evaluation of this log file. -* Fri Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com> +* Thu Feb 09 2006 Kent Boortz <kent@mysql.com> + +- Pass '-static' to libtool, link static with our own libraries, dynamic + with system libraries. Link with the bundled zlib. + +* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com> + +- Modified RPM spec to match new 5.1 debug+max combined community packaging. + +* Sun Dec 18 2005 Kent Boortz <kent@mysql.com> + +- Added "client/mysqlslap" + +* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com> - Added zlib to the list of (static) libraries installed - Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld) @@ -1052,6 +1150,10 @@ fi - Added a "make clean" between separate calls to "BuildMySQL". +* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com> + +- Removed the mysql_tableinfo script made obsolete by the information schema + * Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com> - Enabled the "blackhole" storage engine for the Max RPM |