1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-05 16:59:35 +03:00

254 Commits

Author SHA1 Message Date
Jonathan Perkin
ce2aabb712 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Jonathan Perkin
5b85121ca6 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Mats Kindahl
6363f34ff9 Bug #52737: plugin_dir is set to /usr/local/mysql/lib/plugin while starting
via mysqld_safe

Plugin dir was set to a hard-coded path instead of relative the base dir.

This patch fixes this by using a path relative the basedir instead of the
plugin directory indicated by the configuration.
2010-05-11 15:55:52 +02:00
Mats Kindahl
7f514f45e6 Bug #52737: plugin_dir is set to /usr/local/mysql/lib/plugin while starting
via mysqld_safe

Plugin dir was set to a hard-coded path instead of relative the base dir.

This patch fixes this by using a path relative the basedir instead of the
plugin directory indicated by the configuration.
2010-05-11 15:55:52 +02:00
Alexey Kopytov
456235a13c Automerge of mysql-5.1-bugteam to mysql-trunk-merge. 2010-04-11 11:17:42 +04:00
Alexey Kopytov
abab51e0db Automerge of mysql-5.1-bugteam to mysql-trunk-merge. 2010-04-11 11:17:42 +04:00
Georgi Kodinov
83dfeb2435 Bug #47095: Can't open_files_limit really be larger than 65535?
Several problems addressed:

1. The maximum value for --open_files_limit on non-windows boxes
is now raised to UINT_MAX (the maximum possible without significant
changes in the code). The maximum value on windows is kept to be
2048 due to a known limitation (bug 24509).

2. mysqld_safe now supports --open_files_limit=xx in addition to 
--open-files-limit=xx

3. mysqld_safe always passes through --open[_-]files[_-]limit
to the underlying mysqld. It used to pass it through only if it 
the user running the script has access to the root directory or
there was an --user argument specified.

4. Fixed a prototype in my_file.c to match its counterpart in 
the other #ifdef branch.
2010-04-09 14:47:18 +03:00
Georgi Kodinov
17a21c4f35 Bug #47095: Can't open_files_limit really be larger than 65535?
Several problems addressed:

1. The maximum value for --open_files_limit on non-windows boxes
is now raised to UINT_MAX (the maximum possible without significant
changes in the code). The maximum value on windows is kept to be
2048 due to a known limitation (bug 24509).

2. mysqld_safe now supports --open_files_limit=xx in addition to 
--open-files-limit=xx

3. mysqld_safe always passes through --open[_-]files[_-]limit
to the underlying mysqld. It used to pass it through only if it 
the user running the script has access to the root directory or
there was an --user argument specified.

4. Fixed a prototype in my_file.c to match its counterpart in 
the other #ifdef branch.
2010-04-09 14:47:18 +03:00
Mats Kindahl
cba4c8d1dd Bug #51938 plugin_dir gets bad default value
When building the script directory using a CMake-based build, both the
variables in config.h.cmake (including PLUGINDIR) and the variables in
CMakeList.txt (which includes pkgplugindir).

However, for autotools-based builds, only pkgplugindir is substituted,
which means that the plugin-path is not substituted.

This patch solves the problem by using pkgplugindir, which works on both
CMake-based and autotools-based builds, instead of PLUGINDIR.
2010-03-14 21:11:19 +01:00
Mats Kindahl
d21fa1426a Bug #51938 plugin_dir gets bad default value
When building the script directory using a CMake-based build, both the
variables in config.h.cmake (including PLUGINDIR) and the variables in
CMakeList.txt (which includes pkgplugindir).

However, for autotools-based builds, only pkgplugindir is substituted,
which means that the plugin-path is not substituted.

This patch solves the problem by using pkgplugindir, which works on both
CMake-based and autotools-based builds, instead of PLUGINDIR.
2010-03-14 21:11:19 +01:00
Mats Kindahl
5c8d6c7473 Bug #49022: Plugins included into bin release cannot be
installed on debug version of server

When starting a server using mysqld_safe with the option
--mysqld-version=debug, the debug version of the server
is started. When attempting to load a plugin that is not
debug-built, the load will fail because a non-debug built
plugin use, e.g., fastmutex while the debug-built server
uses safemutex.

To solve this problem, mysqld_safe will set the plugin-dir
to use a directory where debug-built plugins are placed.

This patch sets the plugin dir to <plugin-dir>/whatever,
when mysqld-version=whatever, and just <plugin-dir> otherwise.
2010-03-01 23:40:24 +01:00
Mats Kindahl
746965b7e9 Bug #49022: Plugins included into bin release cannot be
installed on debug version of server

When starting a server using mysqld_safe with the option
--mysqld-version=debug, the debug version of the server
is started. When attempting to load a plugin that is not
debug-built, the load will fail because a non-debug built
plugin use, e.g., fastmutex while the debug-built server
uses safemutex.

To solve this problem, mysqld_safe will set the plugin-dir
to use a directory where debug-built plugins are placed.

This patch sets the plugin dir to <plugin-dir>/whatever,
when mysqld-version=whatever, and just <plugin-dir> otherwise.
2010-03-01 23:40:24 +01:00
Vladislav Vaintroub
c514d75ebb Handle different installation layouts.
using  cmake option INSTALL_LAYOUT=STANDALONE would produce the layout as in 
tar.gz or zip packages.
INSTALL_LAYOUT=UNIX will produce unixish install layout  (with mysqld being in sbin subdirectory , libs in lib/mysql etc). This layout is used for RPM packages.

Subtle differences in both packages unfortunately lead to the need to recompile MySQL to use with other package type - as otherwise for example default plugins or data directories would be wrong set.

There are numerous other variables that  allow fine-tuning packaging layout. (INSTALL_BINDIR, INSTALL_LIBDIR , INSTALL_PLUGINDIR etc).

This options are different from autotools as they do not expect full paths to directories, but only subdirectory of CMAKE_INSTALL_PREFIX.

There are 2 special options that expect full directory paths
- MYSQL_DATADIR that defines default MYSQL data directory (autotools equivalent
is --localstatedir)
- SYSCONFDIR  can be added to search my.cnf search path (autotools equivalent is --sysconfdir)
2010-01-24 16:23:16 +01:00
Vladislav Vaintroub
c827968a2d Handle different installation layouts.
using  cmake option INSTALL_LAYOUT=STANDALONE would produce the layout as in 
tar.gz or zip packages.
INSTALL_LAYOUT=UNIX will produce unixish install layout  (with mysqld being in sbin subdirectory , libs in lib/mysql etc). This layout is used for RPM packages.

Subtle differences in both packages unfortunately lead to the need to recompile MySQL to use with other package type - as otherwise for example default plugins or data directories would be wrong set.

There are numerous other variables that  allow fine-tuning packaging layout. (INSTALL_BINDIR, INSTALL_LIBDIR , INSTALL_PLUGINDIR etc).

This options are different from autotools as they do not expect full paths to directories, but only subdirectory of CMAKE_INSTALL_PREFIX.

There are 2 special options that expect full directory paths
- MYSQL_DATADIR that defines default MYSQL data directory (autotools equivalent
is --localstatedir)
- SYSCONFDIR  can be added to search my.cnf search path (autotools equivalent is --sysconfdir)
2010-01-24 16:23:16 +01:00
Guilhem Bichot
27fca0ab17 Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same as dash on server options" from 6.0
(revision-id:guilhem@mysql.com-20090505113602-l12kxupeatve18dh).
Such bug led "mysqld_safe --core_file_size=#" to not work because mysqld_safe wouldn't recognize
that "ulimit -c" is needed; only --core-file-size=# worked. Same for --open_files_limit and other
options with _ where mysqld_safe needs to do something more than passing to mysqld.
Original fix by Erik Ljungstrom erik at ibiblio dot org ; slightly modified here.
Tested on all internally accessible Unix.
2009-11-18 21:36:17 +01:00
Guilhem Bichot
408dd52a6a Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same as dash on server options" from 6.0
(revision-id:guilhem@mysql.com-20090505113602-l12kxupeatve18dh).
Such bug led "mysqld_safe --core_file_size=#" to not work because mysqld_safe wouldn't recognize
that "ulimit -c" is needed; only --core-file-size=# worked. Same for --open_files_limit and other
options with _ where mysqld_safe needs to do something more than passing to mysqld.
Original fix by Erik Ljungstrom erik at ibiblio dot org ; slightly modified here.
Tested on all internally accessible Unix.
2009-11-18 21:36:17 +01:00
unknown
5ce71b22bf Add --malloc-lib=LIB option to mysqld_safe to LD_PRELOAD a shared library for mysqld 2009-09-23 01:26:08 +02:00
timothy.smith@sun.com
768f2cdb6a Add --malloc-lib=LIB option to mysqld_safe to LD_PRELOAD a shared library for mysqld 2009-09-23 01:26:08 +02:00
Staale Smedseng
a1212080ad Bug #44736 mysqld_safe's my_which() is broken and
doesn't find 'logger'

Due to a variable quoting mistake, the $PATH environment
variable isn't parsed correctly when searching for the
existence of the desired executable(s) (logger in this 
case).

This patch removes the quotes.
2009-05-25 18:21:40 +02:00
Staale Smedseng
986bcb5fc6 Bug #44736 mysqld_safe's my_which() is broken and
doesn't find 'logger'

Due to a variable quoting mistake, the $PATH environment
variable isn't parsed correctly when searching for the
existence of the desired executable(s) (logger in this 
case).

This patch removes the quotes.
2009-05-25 18:21:40 +02:00
Jim Winstead
cc3f48b2e1 mysqld_safe could generate filenames with spaces and then didn't properly
quote them in later use. (Bug #33685, based on a patch by Hartmut Holzgraefe)
2009-05-07 17:25:23 -07:00
Jim Winstead
d115236248 mysqld_safe could generate filenames with spaces and then didn't properly
quote them in later use. (Bug #33685, based on a patch by Hartmut Holzgraefe)
2009-05-07 17:25:23 -07:00
Chad MILLER
3b32eea2a2 Fix several quoting problems, and clean up IFS on failure in my_which(). 2009-03-16 15:28:06 -04:00
Chad MILLER
c924f116f6 Bug#39326: mysqld_safe doesn't use --basedir value in search of \
my_print_defaults

Now use basedir to set an unset ledir and to find the location of
my_print_defaults .
2009-03-16 14:54:28 -04:00
Chad MILLER
e7ed43065a Fix several quoting problems, and clean up IFS on failure in my_which(). 2009-03-16 15:28:06 -04:00
Chad MILLER
e53a813352 Bug#39326: mysqld_safe doesn't use --basedir value in search of \
my_print_defaults

Now use basedir to set an unset ledir and to find the location of
my_print_defaults .
2009-03-16 14:54:28 -04:00
unknown
1d772c91e0 Bug #32679: mysqld_safe looks for errmsg.sys in wrong path
The fix for bug 28544 moved our package data from ./share/mysql
to ./share.  mysqld_safe had the old directory hard-coded.  The
fix is to use the @pkgdatadir@ and @prefix@ values, to adapt to
different ways of building the package.


scripts/make_binary_distribution.sh:
  Document that our build system explicitly overrides the @pkgfoo@ (e.g.,
  pkgdatadir, pkglibdir, etc.) variables when 'make' is called.
scripts/mysqld_safe.sh:
  Replace hard-coded "./share/mysql" with something like
  echo @pkgdatadir@ | sed -e s/^@prefix@//.
  
  Since the fix for bug 28544, this has been broken for mysql 5.1+,
  where the package data dir is "./share" instead of "./share/mysql".
2007-12-03 18:19:35 -07:00
tsmith@ramayana.hindu.god
95b791c7af Bug #32679: mysqld_safe looks for errmsg.sys in wrong path
The fix for bug 28544 moved our package data from ./share/mysql
to ./share.  mysqld_safe had the old directory hard-coded.  The
fix is to use the @pkgdatadir@ and @prefix@ values, to adapt to
different ways of building the package.
2007-12-03 18:19:35 -07:00
unknown
6859d8b8c7 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint


mysql-test/lib/mtr_report.pl:
  Auto merged
mysql-test/mysql-test-run-shell.sh:
  Auto merged
netware/mysql_test_run.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
scripts/mysqld_safe.sh:
  Manual merge.
2007-10-08 12:40:21 -04:00
cmiller@zippy.cornsilk.net
04296df344 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2007-10-08 12:40:21 -04:00
unknown
6f2c2dc8e8 Change URLs.
Our web server has been restructured several times, and references
to it in our source code has stayed the same.  This patch from Paul
DuBois updates all URLs to modern semantics.


debian/po/ca.po:
  Change URLs.
debian/po/cs.po:
  Change URLs.
debian/po/da.po:
  Change URLs.
debian/po/gl.po:
  Change URLs.
debian/po/ja.po:
  Change URLs.
debian/po/pt_BR.po:
  Change URLs.
debian/po/sv.po:
  Change URLs.
debian/po/tr.po:
  Change URLs.
mysql-test/lib/mtr_report.pl:
  Change URLs.
mysql-test/mysql-test-run-shell.sh:
  Change URLs.
ndb/include/ndbapi/Ndb.hpp:
  Change URLs.
netware/mysql_test_run.c:
  Change URLs.
scripts/mysqld_safe.sh:
  Change URLs.
sql/mysqld.cc:
  Change URLs.
2007-10-05 13:16:54 -04:00
cmiller@zippy.cornsilk.net
eedde95a33 Change URLs.
Our web server has been restructured several times, and references
to it in our source code has stayed the same.  This patch from Paul
DuBois updates all URLs to modern semantics.
2007-10-05 13:16:54 -04:00
unknown
51f2b38f24 Finish up last syslog -> want_syslog change missed in r1.91,
fixing bug#30624


scripts/mysqld_safe.sh:
  Fix last syslog -> want_syslog.
2007-08-24 16:40:26 +02:00
jperkin@production.mysql.com
501a930dc6 Finish up last syslog -> want_syslog change missed in r1.91,
fixing bug#30624
2007-08-24 16:40:26 +02:00
unknown
b635b2861f mysqld_safe.sh:
Post-review fix, if 'logger' can't be found, and --syslog is requested, exit with error message instead of fall back to logging to error file.


scripts/mysqld_safe.sh:
  Post-review fix, if 'logger' can't be found, and --syslog is requested, exit with error message instead of fall back to logging to error file.
2007-07-30 13:35:36 -06:00
tsmith@ramayana.hindu.god
950a482a4b mysqld_safe.sh:
Post-review fix, if 'logger' can't be found, and --syslog is requested, exit with error message instead of fall back to logging to error file.
2007-07-30 13:35:36 -06:00
unknown
17f98499e8 Bug #29992: syslog error logging does not flush
Don't use syslog by default; user will have to request it explicitly with the --syslog option.

Use "sed -u" to get unbuffered output from sed, if it's supported.

Otherwise, don't use sed at all - don't strip the timestamp from mysqld messages.

Also, add new --syslog-tag=FOO option, which adds "-FOO" to the tag used when logging messages to syslog (i.e., mysqld-FOO or mysqld_safe-FOO)

Also, explicitly mention where log messages are going, so user can more easily find them.

Also, check if 'logger' is in the PATH, and log to the error log file if it can't be found.
2007-07-27 17:20:43 -06:00
tsmith@ramayana.hindu.god
091f6a4677 Bug #29992: syslog error logging does not flush
Don't use syslog by default; user will have to request it explicitly with the --syslog option.

Use "sed -u" to get unbuffered output from sed, if it's supported.

Otherwise, don't use sed at all - don't strip the timestamp from mysqld messages.

Also, add new --syslog-tag=FOO option, which adds "-FOO" to the tag used when logging messages to syslog (i.e., mysqld-FOO or mysqld_safe-FOO)

Also, explicitly mention where log messages are going, so user can more easily find them.

Also, check if 'logger' is in the PATH, and log to the error log file if it can't be found.
2007-07-27 17:20:43 -06:00
unknown
d66bf1f785 Bug #29634: mysqld_safe does not set err_log variable, error log file is not created
Dont touch & chmod the err_log file if using syslog (mysqld_safe)


scripts/mysqld_safe.sh:
  Dont touch & chmod the err_log file if using syslog
2007-07-09 16:10:43 -06:00
tsmith@sita.local
63dd4251e4 Bug #29634: mysqld_safe does not set err_log variable, error log file is not created
Dont touch & chmod the err_log file if using syslog (mysqld_safe)
2007-07-09 16:10:43 -06:00
unknown
fef75d10c4 mysqld_safe.sh:
Fix a few typos in comments (from Paul DuBois)


scripts/mysqld_safe.sh:
  Fix a few typos in comments (from Paul DuBois)
2007-07-09 15:30:19 -06:00
tsmith@sita.local
e345a242f4 mysqld_safe.sh:
Fix a few typos in comments (from Paul DuBois)
2007-07-09 15:30:19 -06:00
unknown
aca2b28e7e Bug #4858: mysql_safe logs to syslog instead of stderr
mysqld_safe.sh: Overhaul the logging design, to allow logging
mysqld messages to syslog.  Add --syslog and --skip-syslog
arguments for mysqld_safe.


scripts/mysqld_safe.sh:
  Overhaul the logging design, to allow logging mysqld messages to syslog.
  
  Add two new options:  --syslog and --skip-syslog.  --syslog is the default,
  unless --log-error is also specified.
  
  If --log-error is specified (for mysqld_safe, mysqld, server, etc. - any
  group which mysqld_safe checks for arguments), then syslog is turned off.
  This is because mysqld will get the --log-error argument and log to a file
  anyways, which will be confusing to the user.  If the user requests both
  --syslog and --log-error, a warning is printed (to mysqld_safe's stderr and
  to syslog), and we then behave as if --skip-syslog had been specified.
  
  Also, logging messages have been normalized somewhat: mysqld_safe now always
  prefixes messages with '<TIMESTAMP> mysqld_safe '.  All messages go to the
  the console (stdout or stderr, depending on if it's a notice or an error) and
  to (the error log OR syslog).
  
  Also, a few cleanups while I'm here.
2007-05-04 19:06:36 -06:00
tsmith@siva.hindu.god
fd4774c35c Bug #4858: mysql_safe logs to syslog instead of stderr
mysqld_safe.sh: Overhaul the logging design, to allow logging
mysqld messages to syslog.  Add --syslog and --skip-syslog
arguments for mysqld_safe.
2007-05-04 19:06:36 -06:00
unknown
8f5954378b Merge qualinost.(none):/home/mtaylor/src/mysql-4.1-maint
into  qualinost.(none):/home/mtaylor/src/mysql-5.1-maint


scripts/mysqld_safe.sh:
  Auto merged
2006-12-14 12:21:37 -08:00
mtaylor@qualinost.(none)
e30dfac98b Merge qualinost.(none):/home/mtaylor/src/mysql-4.1-maint
into  qualinost.(none):/home/mtaylor/src/mysql-5.1-maint
2006-12-14 12:21:37 -08:00
unknown
46e1b71f68 Merge qualinost.(none):/home/mtaylor/src/mysql-4.1-maint
into  qualinost.(none):/home/mtaylor/src/mysql-5.0-maint


scripts/mysqld_safe.sh:
  Auto merged
2006-12-14 12:20:31 -08:00
mtaylor@qualinost.(none)
b8542e9cd7 Merge qualinost.(none):/home/mtaylor/src/mysql-4.1-maint
into  qualinost.(none):/home/mtaylor/src/mysql-5.0-maint
2006-12-14 12:20:31 -08:00
unknown
b6eaf8cb2c Change permissions on $mysql_unix_port_dir if we create it so that everyone can access it. 2006-12-14 12:18:36 -08:00
mtaylor@qualinost.(none)
54e7d71477 Change permissions on $mysql_unix_port_dir if we create it so that everyone can access it. 2006-12-14 12:18:36 -08:00