diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
commit | 65ca700def99289cc31a7040537f5aa6e12bf485 (patch) | |
tree | 97b3a07299b626c519da0e80c122b5b79b933914 /support-files | |
parent | 2ab57de38d13d927ddff2d51aed4af34e13998f5 (diff) | |
parent | 6e5bcca7935d3c62f84bb640e5357664a210ee12 (diff) | |
download | mariadb-git-65ca700def99289cc31a7040537f5aa6e12bf485.tar.gz |
merge.
checkpoint.
does not compile.
Diffstat (limited to 'support-files')
-rw-r--r-- | support-files/MacOSX/ReadMe.txt | 380 | ||||
-rw-r--r-- | support-files/Makefile.am | 4 | ||||
-rw-r--r-- | support-files/ccfilter | 104 | ||||
-rw-r--r-- | support-files/compiler_warnings.supp | 104 | ||||
-rw-r--r--[-rwxr-xr-x] | support-files/config.huge.ini.sh | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | support-files/config.medium.ini.sh | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | support-files/config.small.ini.sh | 0 | ||||
-rw-r--r-- | support-files/magic | 15 | ||||
-rw-r--r-- | support-files/my-innodb-heavy-4G.cnf.sh | 2 | ||||
-rw-r--r-- | support-files/my-small.cnf.sh | 2 | ||||
-rw-r--r-- | support-files/mysql.server.sh | 44 |
11 files changed, 640 insertions, 15 deletions
diff --git a/support-files/MacOSX/ReadMe.txt b/support-files/MacOSX/ReadMe.txt index b3dcba21705..d81ec1f66d6 100644 --- a/support-files/MacOSX/ReadMe.txt +++ b/support-files/MacOSX/ReadMe.txt @@ -1,8 +1,378 @@ -You can find information about how to install on Mac OS X at +2.7. Installing MySQL on Mac OS X - http://dev.mysql.com/doc/refman/5.1/en/mac-os-x-installation.html + MySQL for Mac OS X is available in a number of different forms: -The MySQL Reference Manual is also available in various formats on -http://dev.mysql.com/doc; if you're interested in the DocBook XML -sources go to http://svn.mysql.com. + * Native Package Installer format, which uses the native Mac OS + X installer to walk you through the installation of MySQL. For + more information, see Section 2.7.1, "Installing MySQL Using + the Installation Package." You can use the package installer + with Mac OS X 10.3 and later, and available for both PowerPC + and Intel architectures, and both 32-bit and 64-bit + architectures. There is no Universal Binary available using + the package installation method. The user you use to perform + the installation must have administrator privileges. + + * Tar package format, which uses a file packaged using the Unix + tar and gzip commands. To use this method, you will need to + open a Terminal window. You do not need administrator + privileges using this method, as you can install the MySQL + server anywhere using this method. For more information on + using this method, you can use the generic instructions for + using a tarball, Section 2.2, "Installing MySQL from Generic + Binaries on Unix/Linux."You can use the package installer with + Mac OS X 10.3 and later, and available for both PowerPC and + Intel architectures, and both 32-bit and 64-bit architectures. + A Universal Binary, incorporating both Power PC and Intel + architectures and 32-bit and 64-bit binaries is available. + In addition to the core installation, the Package Installer + also includes Section 2.7.2, "Installing the MySQL Startup + Item" and Section 2.7.3, "Installing and Using the MySQL + Preference Pane," both of which simplify the management of + your installation. + + * Mac OS X server includes a version of MySQL as standard. If + you want to use a more recent version than that supplied with + the Mac OS X server release, you can make use of the package + or tar formats. For more information on using the MySQL + bundled with Mac OS X, see Section 2.7.4, "Using MySQL on Mac + OS X Server." + + For additional information on using MySQL on Mac OS X, see Section + 2.7.5, "MySQL Installation on Mac OS X Notes." + +2.7.1. Installing MySQL Using the Installation Package + + You can install MySQL on Mac OS X 10.3.x ("Panther") or newer + using a Mac OS X binary package in PKG format instead of the + binary tarball distribution. Please note that older versions of + Mac OS X (for example, 10.1.x or 10.2.x) are not supported by this + package. + + The package is located inside a disk image (.dmg) file that you + first need to mount by double-clicking its icon in the Finder. It + should then mount the image and display its contents. + +Note + + Before proceeding with the installation, be sure to shut down all + running MySQL server instances by either using the MySQL Manager + Application (on Mac OS X Server) or via mysqladmin shutdown on the + command line. + + When installing from the package version, you should also install + the MySQL Preference Pane, which will allow you to control the + startup and execution of your MySQL server from System + Preferences. For more information, see Section 2.7.3, "Installing + and Using the MySQL Preference Pane." + + When installing using the package installer, the files are + installed into a directory within /usr/local matching the name of + the installation version and platform. For example, the installer + file mysql-5.1.39-osx10.5-x86_64.pkg installs MySQL into + /usr/local/mysql-5.1.39-osx10.5-x86_64 . The installation layout + of the directory is as shown in the following table: + Directory Contents of Directory + bin Client programs and the mysqld server + data Log files, databases + docs Manual in Info format + include Include (header) files + lib Libraries + man Unix manual pages + mysql-test MySQL test suite + scripts Contains the mysql_install_db script + share/mysql Error message files + sql-bench Benchmarks + support-files Scripts and sample configuration files + /tmp/mysql.sock The location of the MySQL Unix socket + + During the package installer process, a symbolic link from + /usr/local/mysql to the version/platform specific directory + created during installation will be created automatically. + + 1. Download and open the MySQL package installer, which is + provided on a disk image (.dmg). Double-click to open the disk + image, which includes the main MySQL installation package, the + MySQLStartupItem.pkg installation package, and the + MySQL.prefPane. + + 2. Double-click on the MySQL installer package. It will be named + according to the version of MySQL you have downloaded. For + example, if you have downloaded MySQL 5.1.39, double-click + mysql-5.1.39-osx10.5-x86.pkg. + + 3. You will be presented with the openin installer dialog. Click + Continue to begihn installation. + MySQL Package Installer: Step 1 + + 4. A copy of the installation instructions and other important + information relevant to this installation are display. Click + Continue . + + 5. If you have downloaded the community version of MySQL, you + will be shown a copy of the relevent GNU General Public + License. Click Continue . + + 6. Select the drive you want to use to install the MySQL Startup + Item. The drive must have a valid, bootable, Mac OS X + operating system installed. Click Continue. + MySQL Package Installer: Step 4 + + 7. You will be asked to confirm the details of the installation, + including the space required for the installation. To change + the drive on which the startup item is installed you can click + either Go Back or Change Install Location.... To install the + startup item, click Install. + + 8. Once the installation has been completed successfully, you + will be given an Install Succeeded message. + + Once you have completed the basic installation, you must complete + the post-installation steps as specifed in Section 2.13, + "Post-Installation Setup and Testing." + + For convenience, you may also want to install the Section 2.7.2, + "Installing the MySQL Startup Item" and Section 2.7.3, "Installing + and Using the MySQL Preference Pane." + +2.7.2. Installing the MySQL Startup Item + + The MySQL Installation Package includes a startup item that can be + used to automatically startup and shutdown MySQL during boot. + + To install the MySQL Startup Item: + + 1. Download and open the MySQL package installer, which is + provided on a disk image (.dmg). Double-click to open the disk + image, which includes the main MySQL installation package, the + MySQLStartupItem.pkg installation package, and the + MySQL.prefPane. + + 2. Double-click on the MySQLStartItem.pkg file to start the + installation process. + + 3. You will be presented with the Install MySQL Startup Item + dialog. + MySQL Startup Item Installer: Step 1 + Click Continue to continue the installation process. + + 4. A copy of the installation instructions and other important + information relevant to this installation are display. Click + Continue . + + 5. Select the drive you want to use to install the MySQL Startup + Item. The drive must have a valid, bootable, Mac OS X + operating system installed. Click Continue. + MySQL Startup Item Installer: Step 3 + + 6. You will be asked to confirm the details of the installation. + To change the drive on which the startup item is installed you + can click either Go Back or Change Install Location.... To + install the startup item, click Install. + + 7. Once the installation has been completed successfully, you + will be given an Install Succeeded message. + MySQL Startup Item Installer: Step 5 + + The Startup Item for MySQL is installed into + /Library/StartupItems/MySQLCOM. The Startup Item installation adds + a variable MYSQLCOM=-YES- to the system configuration file + /etc/hostconfig. If you want to disable the automatic startup of + MySQL, simply change this variable to MYSQLCOM=-NO-. + + After the installation, you can start up MySQL by running the + following commands in a terminal window. You must have + administrator privileges to perform this task. + + If you have installed the Startup Item, use this command to start + the server: +shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start + + You may be prompted for your password to complete the startup. + + If you have installed the Startup Item, use this command to stop + the server: +shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop + + You may be prompted for your password to complete the shutdown. + +2.7.3. Installing and Using the MySQL Preference Pane + + The MySQL Package installer disk image also includes a custom + MySQL Preference Pane that enables you to start, stop and control + automated startup during boot of your MySQL installation. + + To install the MySQL Preference Pane: + + 1. Download and open the MySQL package installer package, which + is provided on a disk image (.dmg). Double-click to open the + disk image, which includes the main MySQL installation + package, the MySQLStartupItem.pkg installation package, and + the MySQL.prefPane. + + 2. Double click on MySQL.prefPane. The MySQL System Preferences + will open. + + 3. If this is the first time you have installed the preference + pane, you will be asked to confirm installation and whether + you want to install the preference pane for all users, or only + the current user. To install the preference pane for all users + you will need administrator privileges. If necessary, you will + be prompted for the username and password for a user with + administrator privileges. + + 4. If you already have the MySQL Preference Pane installed, you + will be asked to confirm whether you want to overwrite the + existing MySQL Preference Pane. + +Note + + The MySQL Preference Pane only starts and stops MySQL installation + installed from the MySQL package installation that have been + installed in the default location. + + Once the MySQL Preference Pane has been installed, you can control + your MySQL server instance using the preference pane. To use the + preference pane, open the System Preferences... from the Apple + menu. Select the MySQL preference pane by clicking on the MySQL + logo within the Other section of the preference panes list. + MySQL Preference Pane + + The MySQL Preference Pane shows the current status of the MySQL + server, showing stopped (in red) if the server is not running and + running (in green) if the server has already been started. The + preference pane will also show the current setting for whether the + MySQL server has been set to start up automatically. + + * To start MySQL using the preference pane: + Click Start MySQL Server. You may be prompted for the username + and password of a user with administrator privileges to start + the MySQL server. + + * To stop MySQL using the preference pane: + Click Stop MySQL Server. You may be prompted for the username + and password of a user with administrator privileges to + shutdown the MySQL server. + + * To automatically start the MySQL server when the system boots: + Check the checkbox next to Automatically Start MySQL Server on + Startup. + + * To disable the automatic starting of the MySQL server when the + system boots: + Uncheck the checkbox next to Automatically Start MySQL Server + on Startup. + + You can close the System Preferences... once you have completed + your settings. + +2.7.4. Using MySQL on Mac OS X Server + + If you are running Mac OS X Server, a version of MySQL should + already be installed. The following table shows the versions of + MySQL that ship with Mac OS X Server versions. + Mac OS X Server Version MySQL Version + 10.2-10.2.2 3.23.51 + 10.2.3-10.2.6 3.23.53 + 10.3 4.0.14 + 10.3.2 4.0.16 + 10.4.0 4.1.10a + 10.5.0 5.0.45 + 10.6.0 5.0.82 + + The installation layout of MySQL on Mac OS X Server is as shown in + the table below: + Directory Contents of Directory + /usr/bin Client programs + /var/mysql Log files, databases + /usr/libexec The mysqld server + /usr/share/man Unix manual pages + /usr/share/mysql/mysql-test MySQL test suite + /usr/share/mysql Contains the mysql_install_db script + /var/mysql/mysql.sock The location of the MySQL Unix socket + +Note + + The MySQL server bundled with Mac OS X Server does not include the + MySQL client libraries and header files required if you want to + access and use MySQL from a third-party driver, such as Perl DBI + or PHP. For more information on obtaining and installing MySQL + libraries, see Mac OS X Server version 10.5: MySQL libraries + available for download (http://support.apple.com/kb/TA25017). + Alternatively, you can ignore the bundled MySQL server and install + MySQL from the package or tarball installation. + + For more information on managing the bundled MySQL instance in Mac + OS X Server 10.5, see Mac OS X Server: Web Technologies + Administration For Version 10.5 Leopard + (http://images.apple.com/server/macosx/docs/Web_Technologies_Admin + _v10.5.pdf). For more information on managing the bundled MySQL + instance in Mac OS X Server 10.6, see Mac OS X Server: Web + Technologies Administration Version 10.6 Snow Leopard + (http://manuals.info.apple.com/en_US/WebTech_v10.6.pdf). + +2.7.5. MySQL Installation on Mac OS X Notes + + You should keep the following issues and notes in mind: + + * The default location for the MySQL Unix socket is different on + Mac OS X and Mac OS X Server depending on the installation + type you chose. The default locations by installation are as + follows: + + Package Installer from MySQL /tmp/mysql.sock + Tarball from MySQL /tmp/mysql.sock + MySQL Bundled with Mac OS X Server /var/mysql/mysql.sock + To prevent issues, you should either change the configuration + of the socket used within your application (for example, + changing php.ini), or you should configure the socket location + using a MySQL configuration file and the socket option. For + more information, see Section 5.1.2, "Server Command Options." + + * You may need (or want) to create a specific mysql user to own + the MySQL directory and data. On Mac OS X 10.4 and lower you + can do this by using the Netinfo Manager application, located + within the Utilities folder within the Applications folder. On + Mac OS X 10.5 and later you can do this through the Directory + Utility. From Mac OS X 10.5 and later (including Mac OS X + Server 10.5) the mysql should already exist. For use in single + user mode, an entry for _mysql (note the underscore prefix) + should already exist within the system /etc/passwd file. + + * Due to a bug in the Mac OS X package installer, you may see + this error message in the destination disk selection dialog: +You cannot install this software on this disk. (null) + If this error occurs, simply click the Go Back button once to + return to the previous screen. Then click Continue to advance + to the destination disk selection again, and you should be + able to choose the destination disk correctly. We have + reported this bug to Apple and it is investigating this + problem. + + * Because the MySQL package installer installs the MySQL + contents into a version and platform specific directory, you + can use this to upgrade and migrate your database between + versions. You will need to either copy the data directory from + the old version to the new version, or alternatively specify + an alternative datadir value to set location of the data + directory. + + * You might want to add aliases to your shell's resource file to + make it easier to access commonly used programs such as mysql + and mysqladmin from the command line. The syntax for bash is: +alias mysql=/usr/local/mysql/bin/mysql +alias mysqladmin=/usr/local/mysql/bin/mysqladmin + For tcsh, use: +alias mysql /usr/local/mysql/bin/mysql +alias mysqladmin /usr/local/mysql/bin/mysqladmin + Even better, add /usr/local/mysql/bin to your PATH environment + variable. You can do this by modifying the appropriate startup + file for your shell. For more information, see Section 4.2.1, + "Invoking MySQL Programs." + + * After you have copied over the MySQL database files from the + previous installation and have successfully started the new + server, you should consider removing the old installation + files to save disk space. Additionally, you should also remove + older versions of the Package Receipt directories located in + /Library/Receipts/mysql-VERSION.pkg. diff --git a/support-files/Makefile.am b/support-files/Makefile.am index 7ddb39e1c7c..b75d31e9e1a 100644 --- a/support-files/Makefile.am +++ b/support-files/Makefile.am @@ -55,7 +55,9 @@ pkgsupp_DATA = my-small.cnf \ ndb-config-2-node.ini pkgsupp_SCRIPTS = mysql.server \ - mysqld_multi.server + mysqld_multi.server \ + binary-configure \ + mysql-log-rotate aclocaldir = $(datadir)/aclocal aclocal_DATA = mysql.m4 diff --git a/support-files/ccfilter b/support-files/ccfilter new file mode 100644 index 00000000000..e2957cd3228 --- /dev/null +++ b/support-files/ccfilter @@ -0,0 +1,104 @@ +#! /usr/bin/perl + +# Post-processor for compiler output to filter out warnings matched in +# support-files/compiler_warnings.supp. This makes it easier to check +# that no new warnings are introduced without needing to submit a build +# for Buildbot. +# +# Use by setting CC="ccfilter gcc" CXX="ccfilter gcc" before ./configure. +# +# By default, just filters the output for suppressed warnings. If the +# FAILONWARNING environment variable is set, then instead will fail the +# compile on encountering a non-suppressed warnings. + +use strict; +use warnings; + +my $suppressions; + +open STDOUT_COPY, ">&STDOUT" + or die "Failed to dup stdout: $!]n"; + +my $pid= open(PIPE, '-|'); + +if (!defined($pid)) { + die "Error: Cannot fork(): $!\n"; +} elsif (!$pid) { + # Child. + # actually want to send the STDERR to the parent, not the STDOUT. + # So shuffle things around a bit. + open STDERR, ">&STDOUT" + or die "Child: Failed to dup pipe to parent: $!\n"; + open STDOUT, ">&STDOUT_COPY" + or die "Child: Failed to dup parent stdout: $!\n"; + close STDOUT_COPY; + exec { $ARGV[0] } @ARGV; + die "Child: exec() failed: $!\n"; +} else { + # Parent. + close STDOUT_COPY; + my $cwd= qx(pwd); + chomp($cwd); + while (<PIPE>) { + my $line= $_; + if (/^(.*?):([0-9]+): [Ww]arning: (.*)$/) { + my ($file, $lineno, $msg)= ($1, $2, $3); + $file= "$cwd/$file"; + + next + if check_if_suppressed($file, $lineno, $msg); + die "$line\nGot warning, terminating.\n" + if $ENV{FAILONWARNING}; + print STDERR $line; + next; + } + + print STDERR $line; + } + close(PIPE); +} + +exit 0; + +sub check_if_suppressed { + my ($file, $lineno, $msg)= @_; + load_suppressions() unless defined($suppressions); + for my $s (@$suppressions) { + my ($file_re, $msg_re, $start, $end)= @$s; + if ($file =~ /$file_re/ && + $msg =~ /$msg_re/ && + (!defined($start) || $start <= $lineno) && + (!defined($end) || $end >= $lineno)) { + return 1; + } + } + return undef; +} + +sub load_suppressions { + # First find the suppressions file, might be we need to move up to + # the base directory. + my $path = "support-files/compiler_warnings.supp"; + my $exists; + for (1..10) { + $exists= -f $path; + last if $exists; + $path= '../'. $path; + } + die "Error: Could not find suppression file (out of source dir?).\n" + unless $exists; + + $suppressions= []; + open "F", "<", $path + or die "Error: Could not read suppression file '$path': $!\n"; + while (<F>) { + # Skip comment and empty lines. + next if /^\s*(\#.*)?$/; + die "Invalid syntax in suppression file '$path', line $.:\n$_" + unless /^\s*(.+?)\s*:\s*(.+?)\s*(?:[:]\s*([0-9]+)(?:-([0-9]+))?\s*)?$/; + my ($file_re, $line_re, $start, $end)= ($1, $2, $3, $4); + $end = $start + if defined($start) && !defined($end); + push @$suppressions, [$file_re, $line_re, $start, $end]; + } +} diff --git a/support-files/compiler_warnings.supp b/support-files/compiler_warnings.supp index c437748c770..3025fdf5f5d 100644 --- a/support-files/compiler_warnings.supp +++ b/support-files/compiler_warnings.supp @@ -4,6 +4,7 @@ # integer.cpp: .*control reaches end of non-void function.*: 1288-1427 +integer.cpp: .*no return statement in function returning non-void.*: 1288-1427 DictTabInfo.cpp : .*invalid access to non-static.* DictTabInfo.cpp : .*macro was used incorrectly.* DbdihMain.cpp : .*unused variable.* : 6666-7013 @@ -23,8 +24,29 @@ sql_yacc.cc : .*switch statement contains 'default' but no 'case' labels.* # Things that can be ignored in InnoDB # pars0grm.tab.c: .*'yyerrorlab' : unreferenced label.* +pars0grm.c: 'yyerrorlab' : unreferenced label _flex_tmp.c: .*not enough actual parameters for macro 'yywrap'.* +lexyy.c : not enough actual parameters for macro 'yywrap' pars0lex.l: .*conversion from 'ulint' to 'int', possible loss of data.* +btr/btr0cur\.c: .*value computed is not used.*: 3175-3375 +include/buf0buf\.ic: unused parameter .*mtr.* +fil/fil0fil\.c: pointer targets in passing argument.*differ in signedness +fil/fil0fil\.c: comparison between signed and unsigned : 3100-3199 +fil/fil0fil\.c: unused parameter +log/log0recv\.c: unused variable +os/os0file\.c: unused parameter +os/os0file\.c: pointer targets in assignment differ in signedness +handler/i_s\.cc: unused variable +sync/sync0rw\.c: unused parameter +sync/sync0sync\.c: unused parameter +sync/sync0sync\.c: unused variable +ut/ut0ut\.c: ignoring return value of +srv/srv0srv\.c: value computed is not used +buf/buf0buf\.c: .*block_mutex.* might be used uninitialized +btr/btr0cur\.c: null argument where non-null required: 1800-3000 +btr/btr0btr\.c: null argument where non-null required: 2500-3000 +ibuf/ibuf0ibuf.c: null argument where non-null required: 700-1000 +fsp0fsp\.c: result of 32-bit shift implicitly converted to 64 bits # # bdb is not critical to keep up to date @@ -39,6 +61,34 @@ db_vrfy.c : .*comparison is always false due to limited range of data type.* # readline is not maintained by us # .*/cmd-line-utils/readline/.* : .* +readline\.c : unused parameter +term\.c : unused parameter +vi\.c : unused parameter +common\.c : unused parameter +term\.c : .* + + +# +# Ignore some warnings in libevent, which is not maintained by us. +# +.*/extra/libevent/.* : .*unused parameter.* +.*/extra/libevent/select\.c : .*comparison between signed and unsigned.* : 270-280 +signal\.c : .*unused parameter.* + +# +# Ignore warnings from system libraries +# +/usr/share/aclocal/audiofile.m4 : .* + +# +# Ignore strict-aliasing warnings (for now) +# +.*: break strict-aliasing rules + +# +# Ignore not important declaration warnings +# +.*: only defines private constructors and has no friends # # Ignore all conversion warnings on windows 64 @@ -61,6 +111,12 @@ db_vrfy.c : .*comparison is always false due to limited range of data type.* .* : conversion from '.*size_t' to 'UINT'.* .* : conversion from '.*size_t' to 'uInt'.* .* : conversion from '.*size_t' to 'uint16'.* +.* : The following environment variables were not found.* +.* : no public symbols found; archive member will be inaccessible +.* : DESCRIPTION statement not supported + +# Ignore uninitialized local variables on windows +.* : uninitialized local variable .* used # # The following should be fixed by the ndb team @@ -70,16 +126,60 @@ db_vrfy.c : .*comparison is always false due to limited range of data type.* .*/ndb/.* : .*defined but not used.* # +# Aria warning that is ok in debug builds +# +storage/maria/ma_pagecache.c: .*'info_check_pin' defined but not used + +# +# Pbxt +# +xaction_xt\.cc: may be used uninitialized in this function +lock_xt\.cc : uninitialized local variable .* used +restart_xt\.cc : dereferencing pointer .* does break strict-aliasing + +# +# I think these are due to mix of C and C++. +# +storage/pbxt/ : typedef.*was ignored in this declaration +ha_pbxt\.cc : variable.*might be clobbered by.*longjmp +table_xt\.cc : variable.*might be clobbered by.*longjmp + +# +# Yassl +include/runtime.hpp: .*pure_error.* +.*/extra/yassl/.*taocrypt/.*: comparison with string literal +.*/extra/yassl/taocrypt/src/blowfish\.cpp: array subscript is above array bounds +.*/extra/yassl/taocrypt/src/file\.cpp: ignoring return value +.*/extra/yassl/taocrypt/src/integer\.cpp: control reaches end of non-void function +mySTL/algorithm\.hpp: is used uninitialized in this function + +# +# Groff warnings on OpenSUSE. +# +.*/dbug/.*(groff|<standard input>) : .* + +# # Unexplanable (?) stuff # listener.cc : .*conversion from 'SOCKET' to 'int'.* net_serv.cc : .*conversion from 'SOCKET' to 'int'.* +# +# Ignorable warnings from header files +# +backward_warning\.h : This file includes at least one + # allow a little moving space for the warning below -mi_packrec.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 560-600 +mi_packrec\.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 560-600 +ma_packrec\.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 550-650 # # 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.* +ctype-simple\.c : .*unary minus operator applied to unsigned type, result still unsigned.* + +# Wrong warning due to GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478 +regexec\.c : passing argument 3 of.*matcher.* discards qualifiers from pointer target type +libmysql\.c: passing argument 2 of .*memcpy.* discards qualifiers from pointer target type : 3000-4000 +storage/xtradb/dict/dict0dict\.c : passing argument 1 of .*strcpy.* discards qualifiers from pointer target type : 2500-3500 diff --git a/support-files/config.huge.ini.sh b/support-files/config.huge.ini.sh index 938dd3209b8..938dd3209b8 100755..100644 --- a/support-files/config.huge.ini.sh +++ b/support-files/config.huge.ini.sh diff --git a/support-files/config.medium.ini.sh b/support-files/config.medium.ini.sh index e35dd35e455..e35dd35e455 100755..100644 --- a/support-files/config.medium.ini.sh +++ b/support-files/config.medium.ini.sh diff --git a/support-files/config.small.ini.sh b/support-files/config.small.ini.sh index 129e2521e17..129e2521e17 100755..100644 --- a/support-files/config.small.ini.sh +++ b/support-files/config.small.ini.sh diff --git a/support-files/magic b/support-files/magic index 9844142ba93..b3f3b3ea29d 100644 --- a/support-files/magic +++ b/support-files/magic @@ -4,12 +4,23 @@ # 0 beshort 0xfe01 MySQL table definition file >2 byte x Version %d -0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file +0 belong&0xffffff00 0xfefe0700 MySQL MyISAM index file >3 byte x Version %d -0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file +0 belong&0xffffff00 0xfefe0800 MySQL MyISAM compressed data file +>3 byte x Version %d +0 belong&0xffffff00 0xfefe0900 MySQL Maria index file +>3 byte x Version %d +0 belong&0xffffff00 0xfefe0A00 MySQL Maria compressed data file >3 byte x Version %d 0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file >3 byte x Version %d 0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file >3 byte x Version %d 0 string \376bin MySQL replication log +0 belong&0xffffff00 0xfefe0b00 +>4 string MARIALOG MySQL Maria transaction log file +>>3 byte x Version %d +0 belong&0xffffff00 0xfefe0c00 +>4 string MACF MySQL Maria control file +>>3 byte x Version %d + diff --git a/support-files/my-innodb-heavy-4G.cnf.sh b/support-files/my-innodb-heavy-4G.cnf.sh index 80f1d6fe50b..90eab6b7cbe 100644 --- a/support-files/my-innodb-heavy-4G.cnf.sh +++ b/support-files/my-innodb-heavy-4G.cnf.sh @@ -184,7 +184,7 @@ default-storage-engine = MYISAM # memory, while if you use your own stack hungry UDF functions or your # OS requires more stack for some operations, you might need to set this # to a higher value. -thread_stack = 192K +thread_stack = 240K # Set the default transaction isolation level. Levels available are: # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh index d789a175603..99274cd1306 100644 --- a/support-files/my-small.cnf.sh +++ b/support-files/my-small.cnf.sh @@ -34,7 +34,7 @@ sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K -thread_stack = 128K +thread_stack = 240K # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index b5115a5c05e..545831f93fc 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -78,7 +78,12 @@ else datadir="$basedir/data" fi sbindir="$basedir/sbin" - libexecdir="$basedir/libexec" + if test -f "$basedir/bin/mysqld" + then + libexecdir="$basedir/bin" + else + libexecdir="$basedir/libexec" + fi fi # datadir_set is used to determine if datadir was set (and so should be @@ -130,6 +135,12 @@ parse_server_arguments() { datadir="$basedir/data" fi sbindir="$basedir/sbin" + if test -f "$basedir/bin/mysqld" + then + libexecdir="$basedir/bin" + else + libexecdir="$basedir/libexec" + fi libexecdir="$basedir/libexec" ;; --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` @@ -373,10 +384,37 @@ case "$mode" in fi fi ;; - *) + 'configtest') + # Safeguard (relative paths, core dumps..) + cd $basedir + echo $echo_n "Testing MySQL configuration syntax" + daemon=$bindir/mysqld + if test -x $libexecdir/mysqld + then + daemon=$libexecdir/mysqld + elif test -x $sbindir/mysqld + then + daemon=$sbindir/mysqld + elif test -x `which mysqld` + then + daemon=`which mysqld` + else + log_failure_msg "Unable to locate the mysqld binary!" + exit 1 + fi + help_out=`$daemon --help 2>&1`; r=$? + if test "$r" != 0 ; then + log_failure_msg "$help_out" + log_failure_msg "There are syntax errors in the server configuration. Please fix them!" + else + log_success_msg "Syntax OK" + fi + exit $r + ;; + *) # usage basename=`basename "$0"` - echo "Usage: $basename {start|stop|restart|reload|force-reload|status} [ MySQL server options ]" + echo "Usage: $basename {start|stop|restart|reload|force-reload|status|configtest} [ MySQL server options ]" exit 1 ;; esac |