Commit graph

151 commits

Author SHA1 Message Date
Sergei Golubchik
93144b9e92 MDEV-13440 mysql_install_db fails with hard-coded langdir
always search in compile-time specified paths
INSTALL_BINDIR, INSTALL_SBINDIR, INSTALL_MYSQLSHAREDIR. User
can set them to arbitrary values, it's not enough to search only
in their usual values of bin, sbin and libexec, share and share/mysql.
2017-10-17 07:37:39 +02:00
Sergei Golubchik
52516706c8 cleanup mysql_install_db
1. detect resolveip location, don' assume it's in $basedir/bin
2. don't guess $scriptdir to (incorrectly) construct the $0 path
3. rename find_in_basedir -> find_in_dirs, don't prepend $basedir
   automatically. This allows to use identical path lists in
   find_in_dirs and in cannot_find_file.
4. move search path lists to CMakeLists.txt to avoid specifying the
   same path list twice (in find_in_dirs and in cannot_find_file).
2017-10-17 07:37:39 +02:00
Sergei Golubchik
9a5fe1f4ea Merge remote-tracking branch 'mysql/5.5' into 5.5 2017-07-18 14:59:10 +02:00
Terje Rosten
5d4cfb30e5 BUG#25719975 SHEBANG HARD CODED AS /USR/BIN/PERL IN SCRIPTS, BREAKS ON FREEBSD
Use cmake variable to adjust shebang to platform.
2017-03-28 13:22:32 +02:00
Terje Rosten
1f93f4381b Bug#24483092 UNSAFE USE OF VARIOUS SHELL UTILITIES
- Remove use of touch and chmod.
 - Restrict usage of chown to cases where target directory is /var/log.
 - Due to limited feature set in /bin/sh on Solaris, /bin/bash will be
   used on this platform.
 - Give error if directory for UNIX socket file is missing.
 - Privileged user should not log to files owned by different user
   (mysqld will log as before).
2016-10-06 13:26:16 +02:00
Sergei Golubchik
a978bdda1e mysql-5.5.41 merge 2014-12-19 11:35:44 +01:00
Jon Olav Hauglid
57eec7bc29 Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANG
Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS
Bug#18313717: ENABLE -WERROR IN MAINTANER MODE WHEN COMPILING WITH CLANG
Bug#18510941: REMOVE CMAKE WORKAROUNDS FOR OLDER VERSIONS OF OS X/XCODE
  
Backport from mysql-5.6 to mysql-5.5
2014-10-13 09:52:28 +02:00
Jon Olav Hauglid
8b64f82505 Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANG
Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS
Bug#18313717: ENABLE -WERROR IN MAINTANER MODE WHEN COMPILING WITH CLANG
Bug#18510941: REMOVE CMAKE WORKAROUNDS FOR OLDER VERSIONS OF OS X/XCODE
  
Backport from mysql-5.6 to mysql-5.5
2014-10-13 09:52:28 +02:00
Sergei Golubchik
dbda20caff remove mariadb.pc file again, it cannot be added in a GA version 2014-10-08 09:35:00 +02:00
Sergei Golubchik
604b653394 MDEV-5749 Please add a .pc file to MariaDB for easy use via pkg-config
1. move cflags/libs cleanup from mysql_config.sh (runtime)
   to for_client.cmake (build time). Include/library paths are
   still calculated at runtime (they depend on the location of mysql_config)

2. Use cleaned-up cflags/libs to generate mariadb.pc

3. remove obsolete @expansions@ from mysql_config (for variables that are
   never set in cmake files)
2014-10-02 16:58:26 +02:00
Sergei Golubchik
1c6ad62a26 mysql-5.5.39 merge
~40% bugfixed(*) applied
~40$ bugfixed reverted (incorrect or we're not buggy)
~20% bugfixed applied, despite us being not buggy
(*) only changes in the server code, e.g. not cmakefiles
2014-08-02 21:26:16 +02:00
Tor Didriksen
e4931c922e Backport from trunk:
Bug #18382225 MYSQL_CONFIG CAN'T HANDLE RELOCABLE PACKAGES THAT USES "LIB64" OR "-64" SUFFIX
  
'lib' is hardcoded into mysql_config, so 'cmake -DINSTALL_LIBDIR=lib64' will not work.
Use INSTALL_LIBDIR when generating mysql_config.
  
mysql_config may be renamed to e.g. mysql_config-32, fix the basedir pattern matching.
2014-05-12 15:21:23 +02:00
Tor Didriksen
5228395a31 Backport from trunk:
Bug #18382225 MYSQL_CONFIG CAN'T HANDLE RELOCABLE PACKAGES THAT USES "LIB64" OR "-64" SUFFIX
  
'lib' is hardcoded into mysql_config, so 'cmake -DINSTALL_LIBDIR=lib64' will not work.
Use INSTALL_LIBDIR when generating mysql_config.
  
mysql_config may be renamed to e.g. mysql_config-32, fix the basedir pattern matching.
2014-05-12 15:21:23 +02:00
Sergei Golubchik
ab157e4556 MDEV-5152 mysql_config includes -lprobes_mysql but mo such library installed
when converting /a/full/path/to/a/file.ext to -lfile ignore all files
with non-library extenstions.
2014-04-08 16:27:40 +02:00
Sergei Golubchik
cb67dcb618 mysql-5.5.37 selective merge 2014-03-27 22:26:58 +01:00
Tor Didriksen
3f2b13f979 Bug#18235669 MYSQL_CONFIG TO PROVIDE R FLAG ON SOLARIS
'mysql_config --libs' outputs -L/path/to/library
on SunOS we also want it to output '-R/path/to/library'
in order to find libraries at runtime.


cmake/libutils.cmake:
  Add an informational message, to show dependencies on OS libraries.
2014-02-25 09:07:44 +01:00
Tor Didriksen
bec1ce6644 Bug#18235669 MYSQL_CONFIG TO PROVIDE R FLAG ON SOLARIS
'mysql_config --libs' outputs -L/path/to/library
on SunOS we also want it to output '-R/path/to/library'
in order to find libraries at runtime.
2014-02-25 09:07:44 +01:00
Sergei Golubchik
84651126c0 MySQL-5.5.36 merge
(without few incorrect bugfixes and with 1250 files where only a copyright year was changed)
2014-02-17 11:00:51 +01:00
Sergei Golubchik
37d240ecf9 MySQL-5.5.35 merge 2014-01-22 15:29:36 +01:00
Michael Widenius
04bee0af2e Fix for MDEV-5547: Bad error message when moving very old .frm files to MariaDB 5.5.
mysql_upgrade --help now also prints out --default options and variable values.
mysql_upgrade now prints permission errors.
mysql_upgrade doesn't print some non essential info if --silent is used.
Added handler error message about incompatible versions
Fixed that mysqlbug and mysql_install_db have the executable flag set.
Removed executable flag for some non executable files.
Changed in mysql_install_db askmonty.org to mariadb.com.
Ensured that all client executables prints --default options the same way.
Allow REPAIR ... USE_FRM for old .frm files if the are still compatible.
Extended shown error for storage engine messages.


client/mysql.cc:
  print_defaults() should be first (as in all other programs)
client/mysql_upgrade.c:
  --help now also prints out --default options and variable values
  Print out error if wrong permissions
  Don't print info if --silent
client/mysqladmin.cc:
  print_defaults() should be first (as in all other programs)
client/mysqlbinlog.cc:
  Added print_defaults() to --help
client/mysqlcheck.c:
  Added empty line in --help
client/mysqlimport.c:
  Added empty line in --help
client/mysqlshow.c:
  Made --help compatible
client/mysqlslap.c:
  Made --help compatible
client/mysqltest.cc:
  Added print_defaults() to --help
include/handler_ername.h:
  Added handler error message
include/my_base.h:
  Added handler error message
mysql-test/r/mysql_upgrade.result:
  Updated results
mysql-test/r/repair.result:
  Added test case for better error messages
mysql-test/std_data/host_old.MYD:
  Added test case for better error messages
mysql-test/std_data/host_old.MYI:
  Added test case for better error messages
mysql-test/std_data/host_old.frm:
  Added test case for better error messages
mysql-test/t/repair.test:
  Added test case for better error messages
mysys/my_handler_errors.h:
  Added handler error message
scripts/CMakeLists.txt:
  Fixed that mysqlbug and mysql_install_db have the executable flag set
scripts/mysql_install_db.sh:
  askmonty.org -> mariadb.com
sql/ha_partition.cc:
  Sometimes table_type() can be called for errors even if partition didn't manage to open any files
sql/handler.cc:
  Write clear text for not handled, but defined error messages.
sql/share/errmsg-utf8.txt:
  Extended shown error for storage engine messages
sql/sql_admin.cc:
  Allow REPAIR ... USE_FRM for old .frm files if the are still compatible
storage/myisam/ha_myisam.cc:
  Use new error message
2014-01-22 15:16:57 +02:00
Murthy Narkedimilli
c92223e198 Updated/added copyright headers 2014-01-06 10:52:35 +05:30
Murthy Narkedimilli
496abd0814 Updated/added copyright headers 2014-01-06 10:52:35 +05:30
Sreedhar.S
d8bcc6215e BUG 17560050 - MYSQL_INSTALL_DB SCRIPT FAILING WITH RESOLVEIP ISSUES. 2013-10-09 17:08:45 +05:30
Sreedhar.S
b7f272ccaf BUG 17560050 - MYSQL_INSTALL_DB SCRIPT FAILING WITH RESOLVEIP ISSUES. 2013-10-09 17:08:45 +05:30
Sreedhar.S
99146a5056 Bug #16619754 - MYSQL_INSTALL_DB.PL FAILS TO CREATE DATABASE ON WINDOWS.
As this mysql_install_db.pl file has always generated lots of confusion on Windows.  This fix will make sure to get it removed only from Windows
2013-09-30 13:01:17 +05:30
Sreedhar.S
39a87704d8 Bug #16619754 - MYSQL_INSTALL_DB.PL FAILS TO CREATE DATABASE ON WINDOWS.
As this mysql_install_db.pl file has always generated lots of confusion on Windows.  This fix will make sure to get it removed only from Windows
2013-09-30 13:01:17 +05:30
Sergei Golubchik
faac8db6bd MDEV-3952 Incompatible change in MariaDB-5.5.28a-client rpm adds mytop when not in MariaDB-5.5.23-client (CentOS 5)
Same as for deb: don't add mytop to the client rpm.
2013-01-20 21:42:01 +01:00
Michael Widenius
5f68820cd4 Fixed problem with failing mysql_upgrade when proc table was not correct.
Moved out creation of performance schema tables from mysql_system_tables.sql as
the performance_tables creation scripts needs a working mysql.proc to work.

client/mysql_upgrade.c:
  Added option -V, --version
debian/dist/Debian/mariadb-server-5.5.files:
  Added mysql_performance_tables.sql
debian/dist/Ubuntu/mariadb-server-5.5.files:
  Added mysql_performance_tables.sql
mysql-test/lib/v1/mysql-test-run.pl:
  Added mysql_performance_tables.sql
mysql-test/mysql-test-run.pl:
  Added mysql_performance_tables.sql
scripts/CMakeLists.txt:
  Moved out creation of performance schema tables from mysql_system_tables.sql 
  as the performance_tables creation scripts needs a working mysql.proc to work
scripts/mysql_install_db.sh:
  Added mysql_performance_tables.sql
scripts/mysql_performance_tables.sql:
  Moved out creation of performance schema tables from mysql_system_tables.sql 
  as the performance_tables creation scripts needs a working mysql.proc to work
scripts/mysql_system_tables.sql:
  Move creation of performance schema tables to mysql_performance_tables.sql
  Added 'flush tables' to get things to work if someone deletes a table like mysql.proc before run
scripts/mysql_system_tables_fix.sql:
  ove performance table things to mysql_performance_tables.sql
storage/perfschema/pfs.cc:
  Fixed comment
2013-01-11 00:53:07 +02:00
Sergei Golubchik
9ed96f5f86 MDEV-286 mytop is not installed in 5.5
include mytop in bintars, rpms, and debs.
install mysqlbug.1 too.
2012-08-13 09:21:47 +02:00
Sergei Golubchik
ec586f529c Building RPMs with CPack
configure with cmake -DRPM=distro
2012-05-22 11:04:32 +02:00
Vladislav Vaintroub
64e308e28d Fix build and packaging on Windows:
- build executables we have in 5.3 (mysql_install_db.exe, mysq_upgrade_service.exe, upgrade wizard), and MSI

- add some missing headers to windows specific source files. 
This needs to be done since 5.5 is using WIN32_LEAN_AND_MEAN preprocessor constant thus windows.h 
no more includes whiole Windows

- do not deliver perl scripts  (mysql_install_db.pl & friends)  -they do not work, are not documented, and we 
have native executables for this functionality. do not pack echo.exe, replace.exe  into MSI, they 
are not needed. Do not build resolveip on Windows, it is not used.

- precache results of  of system checks in cmake/os/WindowsCache.cmake (like it is alreay done for  majority of tests
to speed up cmake run with VS)

- make feedback plugin DEFAULT on Windows (so MSI works if user enables plugin), 
fix null pointer access in PSI_register
2011-11-26 23:07:53 +01:00
Joerg Bruehe
3690fa63e3 Bug #58241
Please exclude make_binary_distribution from the distribution

With cmake (5.5 and up), "make package" will do it,
or cpack.
The (generated) "scripts/make_binary_distribution" is just
a wrapper around a "cpack" call,
with path names set at build time.

Similar, "make_win_bin_dist" is not needed any more.

scripts/CMakeLists.txt:
  Cleanup:
  Append a trailing newline when generating "make_binary_distribution"
  (which is just a wrapper around a "cpack" call).
support-files/mysql.spec.sh:
  "make_win_bin_dist" is removed from the sources,
  so its man page is gone,
  and it need not be removed when creating the RPMs.
2011-09-13 12:32:53 +02:00
Joerg Bruehe
07d898ab61 Bug #58241
Please exclude make_binary_distribution from the distribution

With cmake (5.5 and up), "make package" will do it,
or cpack.
The (generated) "scripts/make_binary_distribution" is just
a wrapper around a "cpack" call,
with path names set at build time.

Similar, "make_win_bin_dist" is not needed any more.
2011-09-13 12:32:53 +02:00
Nirbhay Choubey
a3ff4f7c93 BUG#11878394 - MYSQLD_SAFE TEST FOR ALREADY RUNNING PROCESS
FAILS, CAUSING CLOBBERED SOCKET

A check for running mysqld instances was failing in mysqld_safe
because of an incorrect shell command generated by cmake. The
problem is that cmake retains the '\' of escaped double-quote,
so the generated mysqld_safe script's command contained \" in
the shell command, and hence the failure. 

Fixed the command in scripts\CMakeLists.txt.


scripts/CMakeLists.txt:
  BUG#1878394 - MYSQLD_SAFE TEST FOR ALREADY RUNNING PROCESS
                FAILS, CAUSING CLOBBERED SOCKET
  
  Removed the escaped quotes and grep for 'grep process' from
  the shell commands.
2011-09-02 16:52:04 +05:30
Nirbhay Choubey
e7b37d7258 BUG#11878394 - MYSQLD_SAFE TEST FOR ALREADY RUNNING PROCESS
FAILS, CAUSING CLOBBERED SOCKET

A check for running mysqld instances was failing in mysqld_safe
because of an incorrect shell command generated by cmake. The
problem is that cmake retains the '\' of escaped double-quote,
so the generated mysqld_safe script's command contained \" in
the shell command, and hence the failure. 

Fixed the command in scripts\CMakeLists.txt.
2011-09-02 16:52:04 +05:30
Vladislav Vaintroub
f0c2b9c5c6 add missing COMPONENT to all CMake INSTALL commands 2010-11-13 23:16:52 +01:00
Vladislav Vaintroub
a6b4be2522 add missing COMPONENT to all CMake INSTALL commands 2010-11-13 23:16:52 +01:00
Vladislav Vaintroub
a1fe23668f Fix compile error on Windows after WL#1054 push.
The error was introduced by typo in variable name (errormsg instead of correct
errmsg)

- Also, precache  HAVE_PEERCRED to OFF in cmake\os\WindowsCache.cmake
(to avoid useless system check).
- Also, add missing check for errors from FormatMessage().

- Also, remove annoying CMake debug printout of MALLOC_LIB if this is not set.
2010-10-04 21:25:53 +02:00
Vladislav Vaintroub
c6de6320ba Fix compile error on Windows after WL#1054 push.
The error was introduced by typo in variable name (errormsg instead of correct
errmsg)

- Also, precache  HAVE_PEERCRED to OFF in cmake\os\WindowsCache.cmake
(to avoid useless system check).
- Also, add missing check for errors from FormatMessage().

- Also, remove annoying CMake debug printout of MALLOC_LIB if this is not set.
2010-10-04 21:25:53 +02:00
Joerg Bruehe
bf18e8529a Fix bug#56267:
tcmalloc lib (libtcmalloc_minimal.so) is missing from mysql 5.5 binary

Ensure that a "-DMALLOC_LIB=/foo/bar/libtcmalloc_minimal.so"
will ensure that this library gets included in the tar.gz
binary package.

It depends on the build environment to set this variable
to the correct path name, if it is available.
2010-10-03 18:24:45 +02:00
Joerg Bruehe
7cb89424f9 Fix bug#56267:
tcmalloc lib (libtcmalloc_minimal.so) is missing from mysql 5.5 binary

Ensure that a "-DMALLOC_LIB=/foo/bar/libtcmalloc_minimal.so"
will ensure that this library gets included in the tar.gz
binary package.

It depends on the build environment to set this variable
to the correct path name, if it is available.
2010-10-03 18:24:45 +02:00
Joerg Bruehe
9defb07e7d Fix bug#56574:
After installation from RPM, server is run under root, not mysql user

The problem was that in the cmake way of building
the variable "MYSQLD_USER" was not set and propagated.
In the script "mysqld_safe" its value is used as the
name of the user who should run the server process.

The fix is to explicitly set this variable to "mysql"
and propagate it in the build process.
It was analyzed and proposed by Jonathan Perkin.
2010-09-07 17:05:16 +02:00
Joerg Bruehe
e6a3c8c458 Fix bug#56574:
After installation from RPM, server is run under root, not mysql user

The problem was that in the cmake way of building
the variable "MYSQLD_USER" was not set and propagated.
In the script "mysqld_safe" its value is used as the
name of the user who should run the server process.

The fix is to explicitly set this variable to "mysql"
and propagate it in the build process.
It was analyzed and proposed by Jonathan Perkin.
2010-09-07 17:05:16 +02:00
Alexey Botchkov
e4246244a0 Bug#54129 Missing the execute bit for scripts
files for cmake had some minor bugs causing this.
      
per-file comments:
  mysql-test/CMakeLists.txt
Bug#54129      Missing the execute bit for scripts
    use same permissions as in the source folder

  mysql-test/t/disabled.def
Bug#54129      Missing the execute bit for scripts
      mysqlhotcopy tests enabled

  scripts/CMakeLists.txt
Bug#54129      Missing the execute bit for scripts
    chmod +x for the script files
2010-08-19 17:11:31 +05:00
Alexey Botchkov
e1d285d1e0 Bug#54129 Missing the execute bit for scripts
files for cmake had some minor bugs causing this.
      
per-file comments:
  mysql-test/CMakeLists.txt
Bug#54129      Missing the execute bit for scripts
    use same permissions as in the source folder

  mysql-test/t/disabled.def
Bug#54129      Missing the execute bit for scripts
      mysqlhotcopy tests enabled

  scripts/CMakeLists.txt
Bug#54129      Missing the execute bit for scripts
    chmod +x for the script files
2010-08-19 17:11:31 +05:00
Alexander Nozdrin
8b645bed97 Patch for Bug#55854 (MySQL AB should not be AUTHOR, copyright incorrect).
Fixing copyright text.
2010-08-12 19:19:57 +04:00
Alexander Nozdrin
13ec2a1625 Patch for Bug#55854 (MySQL AB should not be AUTHOR, copyright incorrect).
Fixing copyright text.
2010-08-12 19:19:57 +04:00
Jonathan Perkin
69091c4949 Merge to mysql-5.5-bugfixing 2010-08-10 15:06:04 +01:00
Jonathan Perkin
66972aa2b3 Merge to mysql-5.5-bugfixing 2010-08-10 15:06:04 +01:00
Jonathan Perkin
2355224c8b Don't try to remove from an empty list. 2010-08-09 15:41:15 +01:00