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.am22
-rw-r--r--support-files/compiler_warnings.supp23
-rwxr-xr-xsupport-files/config.huge.ini.sh212
-rwxr-xr-xsupport-files/config.medium.ini.sh124
-rwxr-xr-xsupport-files/config.small.ini.sh65
-rw-r--r--support-files/my-huge.cnf.sh8
-rw-r--r--support-files/my-innodb-heavy-4G.cnf.sh11
-rw-r--r--support-files/my-large.cnf.sh8
-rw-r--r--support-files/my-medium.cnf.sh8
-rw-r--r--support-files/my-small.cnf.sh6
-rw-r--r--support-files/mysql.m4108
-rw-r--r--support-files/mysql.server.sh7
-rw-r--r--support-files/mysql.spec.sh480
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