summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
Diffstat (limited to 'support-files')
-rw-r--r--support-files/MacOSX/ReadMe.txt2
-rw-r--r--support-files/Makefile.am26
-rw-r--r--support-files/compiler_warnings.supp23
-rwxr-xr-xsupport-files/config.huge.ini.sh228
-rwxr-xr-xsupport-files/config.medium.ini.sh139
-rwxr-xr-xsupport-files/config.small.ini.sh80
-rw-r--r--support-files/my-huge.cnf.sh41
-rw-r--r--support-files/my-innodb-heavy-4G.cnf.sh80
-rw-r--r--support-files/my-large.cnf.sh41
-rw-r--r--support-files/my-medium.cnf.sh41
-rw-r--r--support-files/my-small.cnf.sh32
-rw-r--r--support-files/mysql.m4108
-rw-r--r--support-files/mysql.server.sh24
-rw-r--r--support-files/mysql.spec.sh805
-rw-r--r--support-files/ndb-config-2-node.ini.sh15
15 files changed, 1281 insertions, 404 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 166e58e18a5..efe4c399860 100644
--- a/support-files/Makefile.am
+++ b/support-files/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (c) 2000, 2001, 2003-2007 MySQL AB, 2010 Sun Microsystems, Inc.
+# Copyright (c) 2000, 2001, 2003-2008 MySQL AB, 2010 Sun Microsystems, Inc.
# Use is subject to license terms.
#
# This program is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301 USA
+# MA 02110-1301, USA
## Process this file with automake to create Makefile.in
@@ -27,26 +27,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
@@ -54,6 +66,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 \
@@ -106,6 +121,7 @@ SUFFIXES = .sh
-e 's!@''MYSQL_BASE_VERSION''@!@MYSQL_BASE_VERSION@!' \
-e 's!@''MYSQL_NO_DASH_VERSION''@!@MYSQL_NO_DASH_VERSION@!' \
-e 's!@''MYSQL_U_SCORE_VERSION''@!@MYSQL_U_SCORE_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 bad66c77687..048f74aea91 100644
--- a/support-files/compiler_warnings.supp
+++ b/support-files/compiler_warnings.supp
@@ -22,7 +22,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.*
@@ -48,9 +48,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
@@ -73,8 +71,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
@@ -88,18 +89,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..f98074828a7
--- /dev/null
+++ b/support-files/config.huge.ini.sh
@@ -0,0 +1,228 @@
+# Copyright (c) 2008 MySQL AB
+# Use is subject to license terms.
+#
+# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+######################################################
+# 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..1de7f64912e
--- /dev/null
+++ b/support-files/config.medium.ini.sh
@@ -0,0 +1,139 @@
+# Copyright (c) 2008 MySQL AB
+# Use is subject to license terms.
+#
+# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# 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..0af60e5dc91
--- /dev/null
+++ b/support-files/config.small.ini.sh
@@ -0,0 +1,80 @@
+# Copyright (c) 2008 MySQL AB
+# Use is subject to license terms.
+#
+# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# 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 e4747ac4564..81786d20917 100644
--- a/support-files/my-huge.cnf.sh
+++ b/support-files/my-huge.cnf.sh
@@ -3,11 +3,11 @@
# This is for a large system with memory of 1G-2G where the system runs mainly
# MySQL.
#
-# You can copy this file to
-# /etc/my.cnf to set global options,
-# mysql-data-dir/my.cnf to set server-specific options (in this
-# installation this directory is @localstatedir@) or
-# ~/.my.cnf to set user-specific options.
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
@@ -26,9 +26,9 @@ socket = @MYSQL_UNIX_ADDR@
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
skip-locking
-key_buffer = 384M
+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,20 +109,14 @@ server-id = 1
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin
-
-# Point the following paths to different dedicated disks
-#tmpdir = /tmp/
-#log-update = /path-to-dedicated-directory/hostname
-
-# Uncomment the following if you are using BDB tables
-#bdb_cache_size = 384M
-#bdb_max_lock = 100000
+#
+# binary logging format - mixed recommended
+#binlog_format=mixed
# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = @localstatedir@/
+#innodb_data_home_dir = @localstatedir@
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
-#innodb_log_group_home_dir = @localstatedir@/
-#innodb_log_arch_dir = @localstatedir@/
+#innodb_log_group_home_dir = @localstatedir@
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 384M
@@ -145,14 +136,8 @@ no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
-[isamchk]
-key_buffer = 256M
-sort_buffer_size = 256M
-read_buffer = 2M
-write_buffer = 2M
-
[myisamchk]
-key_buffer = 256M
+key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
diff --git a/support-files/my-innodb-heavy-4G.cnf.sh b/support-files/my-innodb-heavy-4G.cnf.sh
index cda11d661bc..ce958a34454 100644
--- a/support-files/my-innodb-heavy-4G.cnf.sh
+++ b/support-files/my-innodb-heavy-4G.cnf.sh
@@ -8,10 +8,11 @@
# running mostly MySQL using InnoDB only tables and performing complex
# queries with few connections.
#
-# You can copy this file to /etc/my.cnf to set global options,
-# mysql-data-dir/my.cnf to set server-specific options
-# (@localstatedir@ for this installation) or to
-# ~/.my.cnf to set user-specific options.
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
@@ -80,7 +81,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
@@ -109,6 +110,16 @@ binlog_cache_size = 1M
# table which could otherwise use up all memory resources.
max_heap_table_size = 64M
+# Size of the buffer used for doing full table scans.
+# Allocated per thread, if a full scan is needed.
+read_buffer_size = 2M
+
+# When reading rows in sorted order after a sort, the rows are read
+# through this buffer to avoid disk seeks. You can improve ORDER BY
+# performance a lot, if set this to a high value.
+# Allocated per thread, when needed.
+read_rnd_buffer_size = 16M
+
# Sort buffer is used to perform sorts for some ORDER BY and GROUP BY
# queries. If sorted data does not fit into the sort buffer, a disk
# based merge sort is used instead - See the "Sort_merge_passes"
@@ -167,7 +178,7 @@ ft_min_word_len = 4
# Table type which is used by default when creating new tables, if not
# specified differently during the CREATE TABLE statement.
-default_table_type = MYISAM
+default-storage-engine = MYISAM
# Thread stack size to use. This amount of memory is always reserved at
# connection time. MySQL itself usually needs no more than 64K of
@@ -191,6 +202,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.
@@ -208,10 +222,10 @@ log-bin=mysql-bin
# Log slow queries. Slow queries are queries which take more than the
# amount of time defined in "long_query_time" or which do not use
-# indexes well, if log_long_format is enabled. It is normally good idea
+# 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
@@ -219,20 +233,6 @@ log_slow_queries
# currently measures time with second accuracy only).
long_query_time = 2
-# Log more information in the slow query log. Normally it is good to
-# have this turned on. This will enable logging of queries that are not
-# using indexes in addition to long running queries.
-log_long_format
-
-# The directory used by MySQL for storing temporary files. For example,
-# it is used to perform disk based large sorts, as well as for internal
-# and explicit temporary tables. It might be good to put it on a
-# swapfs/tmpfs filesystem, if you do not create very large temporary
-# files. Alternatively you can put it on dedicated disk. You can
-# specify multiple paths here by separating them by ";" - they will then
-# be used in a round-robin fashion.
-#tmpdir = /tmp
-
# *** Replication related settings
@@ -312,16 +312,6 @@ server-id = 1
# used for internal temporary disk tables.
key_buffer_size = 32M
-# Size of the buffer used for doing full table scans of MyISAM tables.
-# Allocated per thread, if a full scan is needed.
-read_buffer_size = 2M
-
-# When reading rows in sorted order after a sort, the rows are read
-# through this buffer to avoid disk seeks. You can improve ORDER BY
-# performance a lot, if set this to a high value.
-# Allocated per thread, when needed.
-read_rnd_buffer_size = 16M
-
# MyISAM uses special tree-like cache to make bulk inserts (that is,
# INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., and LOAD DATA
# INFILE) faster. This variable limits the size of the cache tree in
@@ -342,12 +332,6 @@ myisam_sort_buffer_size = 128M
# through the key cache (which is slower).
myisam_max_sort_file_size = 10G
-# If the temporary file used for fast index creation would be bigger
-# than using the key cache by the amount specified here, then prefer the
-# key cache method. This is mainly used to force long character keys in
-# large tables to use the slower key cache method to create the index.
-myisam_max_extra_sort_file_size = 10G
-
# If a table has more than one index, MyISAM can use more than one
# thread to repair them by sorting in parallel. This makes sense if you
# have multiple CPUs and plenty of memory.
@@ -356,18 +340,6 @@ myisam_repair_threads = 1
# Automatically check and repair not properly closed MyISAM tables.
myisam_recover
-
-# Disable Federated by default
-skip-federated
-
-# *** BDB Specific options ***
-
-# Use this option if you run a MySQL server with BDB support enabled but
-# you do not plan to use it. This will save memory and may speed up some
-# things.
-skip-bdb
-
-
# *** INNODB Specific options ***
# Use this option if you have a MySQL server with InnoDB support enabled
@@ -490,14 +462,8 @@ no-auto-rehash
# Only allow UPDATEs and DELETEs that use keys.
#safe-updates
-[isamchk]
-key_buffer = 512M
-sort_buffer_size = 512M
-read_buffer = 8M
-write_buffer = 8M
-
[myisamchk]
-key_buffer = 512M
+key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
diff --git a/support-files/my-large.cnf.sh b/support-files/my-large.cnf.sh
index 981b13731e4..7460660025c 100644
--- a/support-files/my-large.cnf.sh
+++ b/support-files/my-large.cnf.sh
@@ -3,11 +3,11 @@
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.
#
-# You can copy this file to
-# /etc/my.cnf to set global options,
-# mysql-data-dir/my.cnf to set server-specific options (in this
-# installation this directory is @localstatedir@) or
-# ~/.my.cnf to set user-specific options.
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
@@ -26,9 +26,9 @@ socket = @MYSQL_UNIX_ADDR@
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
skip-locking
-key_buffer = 256M
+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
@@ -113,19 +113,10 @@ server-id = 1
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin
-# Point the following paths to different dedicated disks
-#tmpdir = /tmp/
-#log-update = /path-to-dedicated-directory/hostname
-
-# Uncomment the following if you are using BDB tables
-#bdb_cache_size = 64M
-#bdb_max_lock = 100000
-
# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = @localstatedir@/
+#innodb_data_home_dir = @localstatedir@
#innodb_data_file_path = ibdata1:10M:autoextend
-#innodb_log_group_home_dir = @localstatedir@/
-#innodb_log_arch_dir = @localstatedir@/
+#innodb_log_group_home_dir = @localstatedir@
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 256M
@@ -145,14 +136,8 @@ no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
-[isamchk]
-key_buffer = 128M
-sort_buffer_size = 128M
-read_buffer = 2M
-write_buffer = 2M
-
[myisamchk]
-key_buffer = 128M
+key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
diff --git a/support-files/my-medium.cnf.sh b/support-files/my-medium.cnf.sh
index c3135ea2c2b..f15fce8f15f 100644
--- a/support-files/my-medium.cnf.sh
+++ b/support-files/my-medium.cnf.sh
@@ -4,11 +4,11 @@
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
-# You can copy this file to
-# /etc/my.cnf to set global options,
-# mysql-data-dir/my.cnf to set server-specific options (in this
-# installation this directory is @localstatedir@) or
-# ~/.my.cnf to set user-specific options.
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
@@ -27,9 +27,9 @@ socket = @MYSQL_UNIX_ADDR@
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
skip-locking
-key_buffer = 16M
+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
@@ -111,19 +111,10 @@ server-id = 1
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin
-# Point the following paths to different dedicated disks
-#tmpdir = /tmp/
-#log-update = /path-to-dedicated-directory/hostname
-
-# Uncomment the following if you are using BDB tables
-#bdb_cache_size = 4M
-#bdb_max_lock = 10000
-
# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = @localstatedir@/
+#innodb_data_home_dir = @localstatedir@
#innodb_data_file_path = ibdata1:10M:autoextend
-#innodb_log_group_home_dir = @localstatedir@/
-#innodb_log_arch_dir = @localstatedir@/
+#innodb_log_group_home_dir = @localstatedir@
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
@@ -143,14 +134,8 @@ no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
-[isamchk]
-key_buffer = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
[myisamchk]
-key_buffer = 20M
+key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh
index 24c08408b46..0fb4ec86d43 100644
--- a/support-files/my-small.cnf.sh
+++ b/support-files/my-small.cnf.sh
@@ -4,11 +4,11 @@
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
-# You can copy this file to
-# /etc/my.cnf to set global options,
-# mysql-data-dir/my.cnf to set server-specific options (in this
-# installation this directory is @localstatedir@) or
-# ~/.my.cnf to set user-specific options.
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
@@ -27,9 +27,9 @@ socket = @MYSQL_UNIX_ADDR@
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
skip-locking
-key_buffer = 16K
+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,17 +48,13 @@ server-id = 1
# Uncomment the following if you want to log updates
#log-bin=mysql-bin
-# Disable Federated by default
-skip-federated
-
-# Uncomment the following if you are NOT using BDB tables
-#skip-bdb
+# binary logging format - mixed recommended
+#binlog_format=mixed
# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = @localstatedir@/
+#innodb_data_home_dir = @localstatedir@
#innodb_data_file_path = ibdata1:10M:autoextend
-#innodb_log_group_home_dir = @localstatedir@/
-#innodb_log_arch_dir = @localstatedir@/
+#innodb_log_group_home_dir = @localstatedir@
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
@@ -78,12 +74,8 @@ no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
-[isamchk]
-key_buffer = 8M
-sort_buffer_size = 8M
-
[myisamchk]
-key_buffer = 8M
+key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
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..87198fc9cf5 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
@@ -355,11 +358,18 @@ case "$mode" in
if test -s "$pid_file"
then
mysqlmanager_pid=`cat $pid_file`
- echo $echo_n "Shutting down MySQL"
- kill $mysqlmanager_pid
- # mysqlmanager should remove the pid_file when it exits, so wait for it.
- wait_for_pid removed "$mysqlmanager_pid"; return_value=$?
-
+
+ if (kill -0 $mysqlmanager_pid 2>/dev/null)
+ then
+ echo $echo_n "Shutting down MySQL"
+ kill $mysqlmanager_pid
+ # mysqlmanager should remove the pid_file when it exits, so wait for it.
+ wait_for_pid removed "$mysqlmanager_pid"; return_value=$?
+ else
+ log_failure_msg "MySQL manager or server process #$mysqlmanager_pid is not running!"
+ rm $pid_file
+ fi
+
# delete lock for RedHat / SuSE
if test -f $lock_dir
then
@@ -405,7 +415,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 3195318878c..0baffd5444f 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
#
# 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
@@ -21,7 +21,8 @@
# 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.
+%define mysql_vendor_2 Sun Microsystems, Inc.
+%define mysql_vendor Oracle and/or its affiliates
%define mysql_version @VERSION@
@@ -78,20 +79,49 @@
%{?_with_yassl:%define YASSL_BUILD 1}
%{!?_with_yassl:%define YASSL_BUILD 0}
-# ------------------------------------------------------------------------------
-# use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x)
-# to enable static linking (off by default)
-%{?_with_static:%define STATIC_BUILD 1}
-%{!?_with_static:%define STATIC_BUILD 0}
+# ----------------------------------------------------------------------
+# use "rpmbuild --without bundled_zlib" or "rpm --define '_without_bundled_zlib 1'"
+# (for RPM 3.x) to not build using the bundled zlib (on by default)
+# ----------------------------------------------------------------------
+%{!?_with_bundled_zlib: %{!?_without_bundled_zlib: %define WITH_BUNDLED_ZLIB 1}}
+%{?_with_bundled_zlib:%define WITH_BUNDLED_ZLIB 1}
+%{?_without_bundled_zlib:%define WITH_BUNDLED_ZLIB 0}
+
+# ----------------------------------------------------------------------
+# use "rpmbuild --without innodb_plugin" or "rpm --define '_without_innodb_plugin 1'"
+# (for RPM 3.x) to not build the innodb plugin (on by default with innodb builds)
+# ----------------------------------------------------------------------
+%{!?_with_innodb_plugin: %{!?_without_innodb_plugin: %define WITH_INNODB_PLUGIN 1}}
+%{?_with_innodb_plugin:%define WITH_INNODB_PLUGIN 1}
+%{?_without_innodb_plugin:%define WITH_INNODB_PLUGIN 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}
+
+##############################################################################
+# Product definitions - set for a "community" package
+##############################################################################
+
+%define server_suffix -community
+%define package_suffix -community
+%define ndbug_comment MySQL Community Server (GPL)
+%define debug_comment MySQL Community Server - Debug (GPL)
+%define commercial 0
+%define EMBEDDED_BUILD 1
+%define PARTITION_BUILD 1
+# Default for CLUSTER_BUILD is "0", but command line option may override it
+%define COMMUNITY_BUILD 1
+%define INNODB_BUILD 1
+%define NORMAL_TEST_MODE test-bt
+%define DEBUG_TEST_MODE test-bt-debug
-%if %{STATIC_BUILD}
-%define release 1
-%else
%define release 1.glibc23
-%endif
-%define license GPL
-%define server_suffix -community
+%define mysql_license GPL
%define src_dir mysql-%{mysql_version}
##############################################################################
@@ -103,10 +133,10 @@ Summary: MySQL: a very fast and reliable SQL database server
Group: Applications/Databases
Version: @MYSQL_U_SCORE_VERSION@
Release: %{release}
-License: %{license}
+License: Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved. Under %{mysql_license} license as shown in the Description field.
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/%{src_dir}.tar.gz
URL: http://www.mysql.com/
-Packager: Sun Microsystems, Inc. Product Engineering Team <build@mysql.com>
+Packager: %{mysql_vendor} Product Engineering Team <build@mysql.com>
Vendor: %{mysql_vendor}
Provides: msqlormysql MySQL-server mysql
BuildRequires: ncurses-devel
@@ -122,9 +152,10 @@ 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
-Sun Microsystems, Inc.
+%{mysql_vendor}
+
+Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved.
-Copyright (C) 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license.
@@ -141,16 +172,17 @@ 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
-Sun Microsystems, Inc.
+%{mysql_vendor}
+
+Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved.
-Copyright (C) 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license.
@@ -159,7 +191,9 @@ news and information about the MySQL software. Also please see the
documentation and the manual for more information.
This package includes the MySQL server binary
+%if %{INNODB_BUILD}
(configured including InnoDB)
+%endif
as well as related utilities to run and administer a MySQL server.
If you want to access and work with the database, you have to install
@@ -180,6 +214,7 @@ This package contains the standard MySQL clients and administration tools.
# ------------------------------------------------------------------------------
+%if %{CLUSTER_BUILD}
%package ndb-storage
Summary: MySQL - ndbcluster storage engine
Group: Applications/Databases
@@ -226,19 +261,20 @@ This package contains some extra ndbcluster storage engine tools for the advance
They should be used with caution.
%{see_base}
+%endif
# ------------------------------------------------------------------------------
-%package bench
-Requires: %{name}-client perl-DBI perl
-Summary: MySQL - Benchmarks and test system
+%package test
+Requires: %{name}-client perl
+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}
@@ -261,34 +297,46 @@ 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.
+# ------------------------------------------------------------------------------
+
+%if %{EMBEDDED_BUILD}
+
+%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}
+
+%endif
+
+##############################################################################
#
-#%{see_base}
+##############################################################################
%prep
-%setup -n %{src_dir}
+# 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}
##############################################################################
# The actual build
@@ -297,6 +345,27 @@ languages and applications need to dynamically load and use MySQL.
%build
BuildMySQL() {
+# Let "MYSQL_BUILD_*FLAGS" take precedence.
+CFLAGS=${MYSQL_BUILD_CFLAGS:-$CFLAGS}
+CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-$CXXFLAGS}
+LDFLAGS=${MYSQL_BUILD_LDFLAGS:-$LDFLAGS}
+# Fall back on RPM_OPT_FLAGS (part of RPM environment) if no flags are given.
+CFLAGS=${CFLAGS:-$RPM_OPT_FLAGS}
+CXXFLAGS=${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti }
+# Evaluate current setting of $DEBUG
+if [ $DEBUG -gt 0 ] ; then
+ OPT_COMMENT='--with-comment="%{debug_comment}"'
+ OPT_DEBUG='--with-debug'
+ 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/ $//'`
+else
+ OPT_COMMENT='--with-comment="%{ndbug_comment}"'
+ OPT_DEBUG=''
+fi
# The --enable-assembler simply does nothing on systems that does not
# support assembler speedups.
sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
@@ -304,17 +373,27 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
CXX=\"${MYSQL_BUILD_CXX:-$CXX}\" \
CFLAGS=\"$CFLAGS\" \
CXXFLAGS=\"$CXXFLAGS\" \
- LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \
+ LDFLAGS=\"$LDFLAGS\" \
./configure \
$* \
+ --with-mysqld-ldflags='-static' \
+ --with-client-ldflags='-static' \
--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 \
+%else
+ --without-ssl \
%endif
--exec-prefix=%{_exec_prefix} \
--libexecdir=%{_sbindir} \
@@ -326,15 +405,47 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
--includedir=%{_includedir} \
--mandir=%{_mandir} \
--enable-thread-safe-client \
- --enable-community-features \
- --enable-profiling \
- --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/
+ $OPT_COMMENT \
+ $OPT_DEBUG \
+ --with-readline \
+%if %{WITH_BUNDLED_ZLIB}
+ --with-zlib-dir=bundled \
+%endif
+%if %{CLUSTER_BUILD}
+ --with-plugin-ndbcluster \
+%else
+ --without-plugin-ndbcluster \
+%endif
+%if %{INNODB_BUILD}
+ --with-plugin-innobase \
+%if %{WITH_INNODB_PLUGIN}
+%else
+ --without-plugin-innodb_plugin \
+%endif
+%else
+ --without-plugin-innobase \
+ --without-plugin-innodb_plugin \
+%endif
+%if %{PARTITION_BUILD}
+ --with-plugin-partition \
+%else
+ --without-plugin-partition \
+%endif
+ --with-plugin-csv \
+ --with-plugin-archive \
+ --with-plugin-blackhole \
+ --with-plugin-federated \
+ --without-plugin-daemon_example \
+ --without-plugin-ftexample \
+%if %{EMBEDDED_BUILD}
+ --with-embedded-server \
+%else
+ --without-embedded-server \
+%endif
+ --with-big-tables \
+ --enable-shared \
+ "
+ make
}
# end of function definition "BuildMySQL"
@@ -350,7 +461,6 @@ fi
# Use the build root for temporary storage of the shared libraries.
RBR=$RPM_BUILD_ROOT
-MBD=$RPM_BUILD_DIR/%{src_dir}
# Clean up the BuildRoot first
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
@@ -362,148 +472,161 @@ 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" ] ; then
export CC="gcc" CXX="gcc"
fi
-# Prepare compiler flags
-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 / /' \
- -e 's/^ //' -e 's/ $//'`
- CXXFLAGS=`echo " $CXXFLAGS " | \
- sed -e 's/ -O[0-9]* / /' -e 's/ -unroll2 / /' -e 's/ -ip / /' \
- -e 's/^ //' -e 's/ $//'`
- fi
+##############################################################################
- BuildMySQL "\
-%if %{STATIC_BUILD}
- --enable-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"
-
- 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 are in a subshell, so we can modify variables just for one run.
-./libtool --mode=execute nm --numeric-sort sql/mysqld > sql/mysqld.sym
+# Add -g and --with-debug.
+DEBUG=1
+cd mysql-debug-%{mysql_version} &&
+CFLAGS="$CFLAGS" \
+CXXFLAGS="$CXXFLAGS" \
+BuildMySQL
+)
-# Include libgcc.a in the devel subpackage (BUG 4921)
-if expr "$CC" : ".*gcc.*" > /dev/null ;
+# We might want to save the config log file
+if test -n "$MYSQL_DEBUGCONFLOG_DEST"
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
+ cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST"
fi
-# Save the libraries
-(cd libmysql/.libs; tar cf $RBR/shared-libs.tar *.so*)
-(cd libmysql_r/.libs; tar rf $RBR/shared-libs.tar *.so*)
-(cd ndb/src/.libs; tar rf $RBR/shared-libs.tar *.so*)
+(cd mysql-debug-%{mysql_version} ; make test-bt-debug)
+##############################################################################
+#
+# Build the release binary
+#
+##############################################################################
+
+DEBUG=0
+(cd mysql-release-%{mysql_version} &&
+CFLAGS="$CFLAGS" \
+CXXFLAGS="$CXXFLAGS" \
+BuildMySQL
+)
# 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
+
+(cd mysql-release-%{mysql_version} ; make test-bt)
+
+##############################################################################
+
+# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921)
+# Some "icc" calls may have "gcc" in the argument string, so we should first
+# check for "icc". (If we don't check, the "--print-libgcc-file" call will fail.)
+if expr "$CC" : ".*icc.*" > /dev/null ;
+then
+ %define WITH_LIBGCC 0
+ :
+elif expr "$CC" : ".*gcc.*" > /dev/null ;
+then
+ libgcc=`$CC $CFLAGS --print-libgcc-file`
+ if [ -f $libgcc ]
+ then
+ %define WITH_LIBGCC 1
+ install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
+ else
+ %define WITH_LIBGCC 0
+ :
+ fi
+else
+ %define WITH_LIBGCC 0
+ :
fi
-echo "# standard"
-make test-bt
+##############################################################################
%install
RBR=$RPM_BUILD_ROOT
-MBD=$RPM_BUILD_DIR/%{src_dir}
+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 the saved debug server
-install -s -m 755 $MBD/sql/mysqld-debug $RBR%{_sbindir}/mysqld-debug
+# Install all binaries
+(cd $MBD && make install DESTDIR=$RBR testroot=%{_datadir})
+# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
+# the same here.
+mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
-# 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)
+# 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.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
+%if %{EMBEDDED_BUILD}
# 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/
+%endif
+
+# 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 $RBR%{_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
touch $RBR%{_sysconfdir}/my.cnf
touch $RBR%{_sysconfdir}/mysqlmanager.passwd
+##############################################################################
+# Post processing actions, i.e. when installed
+##############################################################################
+
%pre server
+# This is the code running at the beginning of a RPM upgrade action,
+# before replacing the old files with the new ones.
+
+# There are users who deviate from the default file system layout.
+# Check local settings to support them.
+if [ -x %{_bindir}/my_print_defaults ]
+then
+ mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'`
+ PID_FILE_PATT=`%{_bindir}/my_print_defaults server mysqld | grep '^--pid-file=' | sed -n 's/--pid-file=//p'`
+fi
+if [ -z "$mysql_datadir" ]
+then
+ mysql_datadir=%{mysqldatadir}
+fi
+if [ -z "$PID_FILE_PATT" ]
+then
+ PID_FILE_PATT="$mysql_datadir/*.pid"
+fi
+
# Check if we can safely upgrade. An upgrade is only safe if it's from one
# of our RPMs in the same version family.
@@ -512,6 +635,7 @@ 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_2='%{mysql_vendor_2}'
myvendor='%{mysql_vendor}'
myversion='%{mysql_version}'
@@ -523,10 +647,10 @@ if [ $? -eq 0 -a -n "$installed" ]; then
[ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
error_text=
- if [ "$vendor" != "$myoldvendor" -a "$vendor" != "$myvendor" ]; then
+ if [ "$vendor" != "$myoldvendor" -a "$vendor" != "$myvendor_2" -a "$vendor" != "$myvendor" ]; then
error_text="$error_text
The current MySQL server package is provided by a different
-vendor ($vendor) than $myoldvendor or $myvendor.
+vendor ($vendor) than $myoldvendor, $myvendor_2, or $myvendor.
Some files may be installed to different locations, including log
files and the service startup script in %{_sysconfdir}/init.d/.
"
@@ -571,30 +695,122 @@ HERE
fi
fi
+# We assume that if there is exactly one ".pid" file,
+# it contains the valid PID of a running MySQL server.
+NR_PID_FILES=`ls $PID_FILE_PATT 2>/dev/null | wc -l`
+case $NR_PID_FILES in
+ 0 ) SERVER_TO_START='' ;; # No "*.pid" file == no running server
+ 1 ) SERVER_TO_START='true' ;;
+ * ) SERVER_TO_START='' # Situation not clear
+ SEVERAL_PID_FILES=true ;;
+esac
+# That logic may be debated: We might check whether it is non-empty,
+# contains exactly one number (possibly a PID), and whether "ps" finds it.
+# OTOH, if there is no such process, it means a crash without a cleanup -
+# is that a reason not to start a new server after upgrade?
+
+STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
+
+if [ -f $STATUS_FILE ]; then
+ echo "Some previous upgrade was not finished:"
+ ls -ld $STATUS_FILE
+ echo "Please check its status, then do"
+ echo " rm $STATUS_FILE"
+ echo "before repeating the MySQL upgrade."
+ exit 1
+elif [ -n "$SEVERAL_PID_FILES" ] ; then
+ echo "You have more than one PID file:"
+ ls -ld $PID_FILE_PATT
+ echo "Please check which one (if any) corresponds to a running server"
+ echo "and delete all others before repeating the MySQL upgrade."
+ exit 1
+fi
+
+NEW_VERSION=%{mysql_version}-%{release}
+
+# The "pre" section code is also run on a first installation,
+# when there is no data directory yet. Protect against error messages.
+if [ -d $mysql_datadir ] ; then
+ echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE
+ echo "'pre' step running at `date`" >> $STATUS_FILE
+ echo >> $STATUS_FILE
+ echo "ERR file(s):" >> $STATUS_FILE
+ ls -ltr $mysql_datadir/*.err >> $STATUS_FILE
+ echo >> $STATUS_FILE
+ echo "Latest 'Version' line in latest file:" >> $STATUS_FILE
+ grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \
+ tail -1 >> $STATUS_FILE
+ echo >> $STATUS_FILE
+
+ if [ -n "$SERVER_TO_START" ] ; then
+ # There is only one PID file, race possibility ignored
+ echo "PID file:" >> $STATUS_FILE
+ ls -l $PID_FILE_PATT >> $STATUS_FILE
+ cat $PID_FILE_PATT >> $STATUS_FILE
+ echo >> $STATUS_FILE
+ echo "Server process:" >> $STATUS_FILE
+ ps -fp `cat $PID_FILE_PATT` >> $STATUS_FILE
+ echo >> $STATUS_FILE
+ echo "SERVER_TO_START=$SERVER_TO_START" >> $STATUS_FILE
+ else
+ # Take a note we checked it ...
+ echo "PID file:" >> $STATUS_FILE
+ ls -l $PID_FILE_PATT >> $STATUS_FILE 2>&1
+ fi
+fi
+
# Shut down a previously installed server first
+# Note we *could* make that depend on $SERVER_TO_START, but we rather don't,
+# so a "stop" is attempted even if there is no PID file.
+# (Maybe the "stop" doesn't work then, but we might fix that in itself.)
if [ -x %{_sysconfdir}/init.d/mysql ] ; then
%{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
echo "Giving mysqld 5 seconds to exit nicely"
sleep 5
-elif [ -x %{_sysconfdir}/rc.d/init.d/mysql ] ; then
- %{_sysconfdir}/rc.d/init.d/mysql stop > /dev/null 2>&1
- echo "Giving mysqld 5 seconds to exit nicely"
- sleep 5
fi
%post server
-mysql_datadir=%{mysqldatadir}
+# This is the code running at the end of a RPM install or upgrade action,
+# after the (new) files have been written.
+
+# There are users who deviate from the default file system layout.
+# Check local settings to support them.
+if [ -x %{_bindir}/my_print_defaults ]
+then
+ mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'`
+fi
+if [ -z "$mysql_datadir" ]
+then
+ mysql_datadir=%{mysqldatadir}
+fi
+
+NEW_VERSION=%{mysql_version}-%{release}
+STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
# ----------------------------------------------------------------------
-# Create data directory if needed
+# Create data directory if needed, check whether upgrade or install
# ----------------------------------------------------------------------
if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi
-if [ ! -d $mysql_datadir/mysql ] ; then mkdir $mysql_datadir/mysql; fi
+if [ -f $STATUS_FILE ] ; then
+ SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
+else
+ SERVER_TO_START='true' # This is for 5.1 only, to not change behavior
+fi
+# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
+if [ ! -d $mysql_datadir/mysql ] ; then
+ mkdir $mysql_datadir/mysql;
+ echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE
+else
+ # If the directory exists, we may assume it is an upgrade.
+ echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE
+fi
if [ ! -d $mysql_datadir/test ] ; then mkdir $mysql_datadir/test; fi
# ----------------------------------------------------------------------
# Make MySQL start/shutdown automatically when the machine does it.
# ----------------------------------------------------------------------
+# NOTE: This still needs to be debated. Should we check whether these links
+# for the other run levels exist(ed) before the upgrade?
# use insserv for older SuSE Linux versions
if [ -x /sbin/insserv ] ; then
/sbin/insserv %{_sysconfdir}/init.d/mysql
@@ -638,17 +854,36 @@ chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
# ----------------------------------------------------------------------
chmod -R og-rw $mysql_datadir/mysql
-# Restart in the same way that mysqld will be started normally.
-%{_sysconfdir}/init.d/mysql start
+# Was the server running before the upgrade? If so, restart the new one.
+if [ "$SERVER_TO_START" = "true" ] ; then
+ # 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
-sleep 2
+ # Allow mysqld_safe to start mysqld and print a message before we exit
+ sleep 2
+fi
+#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."
+
+# Collect an upgrade history ...
+echo "Upgrade/install finished at `date`" >> $STATUS_FILE
+echo >> $STATUS_FILE
+echo "=====" >> $STATUS_FILE
+STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
+cat $STATUS_FILE >> $STATUS_HISTORY
+rm $STATUS_FILE
+
+%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 [ $1 = 0 ] ; then
@@ -682,24 +917,32 @@ 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*
+%if %{INNODB_BUILD}
%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1*
+%endif
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
%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}/man1/mysql_convert_table_format.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.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*
+%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
@@ -711,19 +954,21 @@ 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*
+%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1*
+%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1*
%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
%ghost %config(noreplace,missingok) %{_sysconfdir}/mysqlmanager.passwd
+%if %{INNODB_BUILD}
%attr(755, root, root) %{_bindir}/innochecksum
+%endif
%attr(755, root, root) %{_bindir}/my_print_defaults
%attr(755, root, root) %{_bindir}/myisam_ftdump
%attr(755, root, root) %{_bindir}/myisamchk
%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
@@ -742,13 +987,17 @@ 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
+%if %{INNODB_BUILD}
+%if %{WITH_INNODB_PLUGIN}
+%attr(755, root, root) %{_libdir}/mysql/plugin/ha_innodb_plugin.so*
+%endif
+%endif
+%attr(755, root, root) %{_libdir}/mysql/plugin/ha_example.so*
%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
%attr(755, root, root) %{_sysconfdir}/init.d/mysql
@@ -760,8 +1009,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
@@ -770,11 +1017,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*
@@ -782,6 +1029,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
@@ -789,6 +1037,7 @@ fi
%postun shared
/sbin/ldconfig
+%if %{CLUSTER_BUILD}
%files ndb-storage
%defattr(-,root,root,0755)
%attr(755, root, root) %{_sbindir}/ndbd
@@ -805,6 +1054,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
@@ -812,12 +1064,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*
@@ -834,19 +1088,19 @@ 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 %attr(644, root, man) %{_mandir}/man1/comp_err.1*
%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}
+%if %{WITH_LIBGCC}
%{_libdir}/mysql/libmygcc.a
%endif
%{_libdir}/mysql/libmyisam.a
@@ -857,56 +1111,104 @@ 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
+%{_libdir}/mysql/plugin/ha_example.a
+%{_libdir}/mysql/plugin/ha_example.la
+%if %{INNODB_BUILD}
+%if %{WITH_INNODB_PLUGIN}
+%{_libdir}/mysql/plugin/ha_innodb_plugin.a
+%{_libdir}/mysql/plugin/ha_innodb_plugin.la
+%endif
%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
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.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*
+%if %{EMBEDDED_BUILD}
+%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_embedded.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
+%endif
-#%files embedded
-#%defattr(-, root, root, 0755)
-# %attr(644, root, root) %{_libdir}/mysql/libmysqld.a
+%if %{EMBEDDED_BUILD}
+%files embedded
+%defattr(-, root, root, 0755)
+%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
+%endif
+##############################################################################
# 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
+
+* Thu Feb 03 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
+
+- Fix bug#56581: If an installation deviates from the default file locations
+ ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade)
+ should still work, and use these locations.
+ The problem was that the fix for bug#27072 did not check for local settings.
+
* Wed Nov 24 2010 Alexander Nozdrin <alexander.nozdrin@oracle.com>
- EXCEPTIONS-CLIENT has been deleted, remove it from here too.
-* Mon Feb 01 2010 Joerg Bruehe <joerg.bruehe@sun.com>
+* Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com>
+
+- Change the behaviour on upgrade:
+ *Iff* the server was stopped before the upgrade is started, this is taken as a
+ sign the administrator is handling that manually, and so the new server will
+ not be started automatically at the end of the upgrade.
+ The start/stop scripts will still be installed, so the server will be started
+ on the next machine boot.
+ This is the 5.1 version of fixing bug#27072 (RPM autostarting the server).
+
+* Mon Mar 01 2010 Joerg Bruehe <joerg.bruehe@sun.com>
+
+- Set "Oracle and/or its affiliates" as the vendor and copyright owner,
+ accept upgrading from packages showing MySQL or Sun as vendor.
+
+* Fri Feb 05 2010 Joerg Bruehe <joerg.bruehe@sun.com>
- Formatting changes:
Have a consistent structure of separator lines and of indentation
(8 leading blanks => tab).
-- Add the "old vendor" (= "MySQL AB") and expand the upgrade check
- so that "MySQL" packages can be upgraded by "Sun" ones.
- This fixes bug#45534, with its duplicates #42953 and #46174.
-- Backport the fix that prevents RPM from requiring "perl-DBI".
- Introduce the variable "src_dir".
- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence
over "CC" ("CXX").
+- Drop the old "with_static" argument analysis, this is not supported
+ in 5.1 since ages.
+- Introduce variables to control the handlers individually, as well
+ as other options.
+- Handle the InnoDB plugin using a positive logic: "WITH_INNODB_PLUGIN",
+ the old negative logic ("WITHOUT_INNODB_PLUGIN") was obfuscating.
+- Use the new "--with-plugin" notation for the table handlers.
+- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql"
+ was done back in 2002 already.
+- Make "--with-zlib-dir=bundled" the default, add an option to disable it.
+- Add missing manual pages to the file list.
+- Improve the runtime check for "libgcc.a", protect it against being tried
+ with the Intel compiler "icc".
* Mon Jan 11 2010 Joerg Bruehe <joerg.bruehe@sun.com>
@@ -914,27 +1216,57 @@ fi
- Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc".
- Release counts from 1, not 0.
+* Mon Aug 24 2009 Jonathan Perkin <jperkin@sun.com>
+
+- Add conditionals for bundled zlib and innodb plugin
+
+* Fri Aug 21 2009 Jonathan Perkin <jperkin@sun.com>
+
+- Install plugin libraries in appropriate packages.
+- Disable libdaemon_example and ftexample plugins.
+
+* Thu Aug 20 2009 Jonathan Perkin <jperkin@sun.com>
+
+- Update variable used for mysql-test suite location to match source.
+
* Fri Nov 07 2008 Joerg Bruehe <joerg@mysql.com>
-- Correct yesterday's fix, so that it also works for the last flag.
+- 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.
-* Mon Aug 18 2008 Joerg Bruehe <joerg@mysql.com>
+* Fri Aug 29 2008 Kent Boortz <kent@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".
@@ -944,9 +1276,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>
@@ -965,12 +1298,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.
@@ -984,16 +1315,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>
@@ -1029,9 +1371,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>
@@ -1042,25 +1384,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"
-- 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.
+* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>
-* Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com>
+- Fast mutexes is now disabled by default, but should be
+ used in Linux builds.
+
+* 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)
@@ -1163,6 +1532,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
diff --git a/support-files/ndb-config-2-node.ini.sh b/support-files/ndb-config-2-node.ini.sh
index be80f1dd0b3..1d9b1c65431 100644
--- a/support-files/ndb-config-2-node.ini.sh
+++ b/support-files/ndb-config-2-node.ini.sh
@@ -1,3 +1,18 @@
+# Copyright (c) 2005 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
# Example Ndbcluster storage engine config file.
#
[ndbd default]