Hello community,
here is the log from the commit of package mariadb for openSUSE:11.3
checked in at Fri Jul 1 23:04:18 CEST 2011.
--------
--- old-versions/11.3/all/mariadb/mariadb.changes 2010-05-26 11:54:09.000000000 +0200
+++ 11.3/mariadb/mariadb.changes 2011-07-01 11:24:00.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Jun 30 16:14:37 CEST 2011 - mhrusecky@suse.cz
+
+- updated to MariaDB 5.1.55
+ - contains important security fixes (bnc#676973)
+ - changelog:
+ http://kb.askmonty.org/en/changelogs
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.3/all/mariadb
Destination is old-versions/11.3/UPDATES/all/mariadb
calling whatdependson for 11.3-i586
Old:
----
abi_test.patch
libmysql-no-pkglibdir.patch
mariadb-5.1.44b.tar.bz2
mysql-5.1.31-shebang.patch
mysql-5.1.33-safe-process-in-bin.patch
mysql-5.1.33-scripts-paths.patch
mysql-5.1.33-ssl-lib64-macro.patch
mysql-5.1.35-test-utf8.patch
mysql-5.1.35-test-variables-big.patch
mysql-5.1.36-bmove512.patch
mysql-5.1.36-hotcopy.patch
mysql-5.1.42-myslq-test.patch
mysql-cnf.patch
mysql-enable-plugins.patch
mysql-group.patch
mysql-install_db-quiet.patch
mysql-logrotate.patch
mysql-multi-configuration.patch
mysql-plugins-avoid-version.patch
mysql_config.patch
mysql_upgrade-exit-status.patch
mysqld_multi.patch
New:
----
mariadb-5.1.50-install_db-quiet.patch
mariadb-5.1.50-strncat-overflow.patch
mariadb-5.1.50-upgrade-exit-status.patch
mariadb-5.1.55-cnf.patch
mariadb-5.1.55-compilation-fix.patch
mariadb-5.1.55-libmysql-no-pkglibdir.patch
mariadb-5.1.55-plugins-avoid-version.patch
mariadb-5.1.55-utf8-test-results.patch
mariadb-5.1.55.tar.bz2
mysql-community-server-5.1.31-shebang.patch
mysql-community-server-5.1.33-scripts-paths.patch
mysql-community-server-5.1.33-ssl-lib64-macro.patch
mysql-community-server-5.1.36-bmove512.patch
mysql-community-server-5.1.36-hotcopy.patch
mysql-community-server-5.1.45-group.patch
mysql-community-server-5.1.45-multi-configuration.patch
mysql-community-server-5.1.45-safe-process-in-bin.patch
mysql-community-server-5.1.46-logrotate.patch
mysql-community-server-5.1.51-myslq-test.patch
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.1.51-mysqld_multi-features.patch
mysql-community-server-5.1.53-ssl-compilation-fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb.spec ++++++
--- /var/tmp/diff_new_pack.tRP58Q/_old 2011-07-01 23:03:56.000000000 +0200
+++ /var/tmp/diff_new_pack.tRP58Q/_new 2011-07-01 23:03:56.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package mariadb (Version 5.1.44)
+# spec file for package mariadb
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
# Few definitions which will alter build
%define prefered 0
%define cluster 0
-%define srv_vers 5.1.44
+%define srv_vers 5.1.55
%if %{?rel:0}%{!?rel:1}
%define rel 1
@@ -31,63 +31,40 @@
Name: mariadb
Summary: A True Multiuser, Multithreaded SQL Database Server
-Version: 5.1.44
-Release: 2
+Version: 5.1.55
+Release: 0.<RELEASE2>
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
Group: Productivity/Databases/Servers
Url: http://www.mysql.com
# http://dev.mysql.com/get/Downloads/MySQL-5.1/%{name}-%{version}.tar.gz/from/pick
-Source: mariadb-%{version}b.tar.bz2
+Source: mariadb-%{version}.tar.bz2
Source2: baselibs.conf
Source3: README.debug
Source4: suse-test-run
Source5: mysql.SuSEfirewall2
Source7: rc.mysql-multi
Source8: README.SuSE
-# Polishing default config file
-Patch2: mysql-cnf.patch
-Patch3: mysql-multi-configuration.patch
-# Adds option to set group to something else similarly to the user settings
-Patch4: mysql-group.patch
-# Warning about initscript in mysql_install_db disabled, since the SUSE RPM comes with an init script installed
-Patch5: mysql-install_db-quiet.patch
-# Checks flush-logs exit status in support-files/mysql-log-rotate.sh
-Patch7: mysql-logrotate.patch
-# Adds reload funcionality to mysqld_multi.sh perl script and adds --datadir support
-Patch8: mysqld_multi.patch
-# Disables failure on one test during update and improves error message during update a little bit
-Patch13: mysql_upgrade-exit-status.patch
-# Changes pkglib_LIBRARIES into lib_LIBRARIES in libmysql
-Patch18: libmysql-no-pkglibdir.patch
-# Adds option -avoid-version to LDFLAGS for plugins blackhole, archive and example
-Patch19: mysql-plugins-avoid-version.patch
-# This patch loads plugins by default if there is no settings regarding plugins.
-Patch23: mysql-enable-plugins.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.31-shebang.patch [] mhrusecky@suse.cz -- adds mising shebangs
-Patch25: mysql-5.1.31-shebang.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.35-test-variables-big.patch [upstream bug #38811] -- different way to test whether server crashed
-# http://bugs.mysql.com/bug.php?id=38811
-Patch27: mysql-5.1.35-test-variables-big.patch
-# PATCH-FIX-SUSE mysql-5.1.32-myslq-test.patch mhrusecky@suse.cz -- installs tests into datadir not into prefix
-Patch28: mysql-5.1.42-myslq-test.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.33-scripts-paths.patch [ upstream#45616 ] mhrusecky@suse.cz -- fixes build of scripts when compilation occurs somewhere else
-# http://bugs.mysql.com/bug.php?id=45616
-Patch29: mysql-5.1.33-scripts-paths.patch
-# PATCH-FIX-SUSE mysql-5.1.33-safe-process-in-bin.patch [] mhrusecky@suse.cz -- this will let us move one binary to /usr/bin instead of /usr/share/mysql-test/...
-Patch30: mysql-5.1.33-safe-process-in-bin.patch
-# PATCH-FIX-SUSE mysql-5.1.33-ssl-lib64-macro.patch [] mhrusecky@suse.cz -- search for ssl libraries also in lib64
-Patch31: mysql-5.1.33-ssl-lib64-macro.patch
-# PATCH-FIX-SUSE mysql-5.1.35-test-utf8.patch [] mhrusecky@suse.cz -- we use utf-8 by default which produces different output with few tests
-Patch35: mysql-5.1.35-test-utf8.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.36-bmove512.patch [ upstream#19975 ] mhrusecky@suse.cz -- using standard memcpy instead of bmove512 as it should be beeter
-# http://bugs.mysql.com/bug.php?id=19975
-Patch37: mysql-5.1.36-bmove512.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.36-hotcopy.patch [ upstream#43594, bnc#525325 ] mhrusecky@suse.cz -- hotcopy ignores log tables
-# http://bugs.mysql.com/bug.php?id=43594
-Patch38: mysql-5.1.36-hotcopy.patch
-# PATCH-FIX-UPSTREAM mysql_config.patch [ upstream#39175, bnc#420313 ] mhrusecky@suse.cz -- Fix linking options.
-Patch39: mysql_config.patch
-Patch45: abi_test.patch
+Patch2: mysql-community-server-5.1.31-shebang.patch
+Patch3: mysql-community-server-5.1.33-scripts-paths.patch
+Patch4: mysql-community-server-5.1.33-ssl-lib64-macro.patch
+Patch5: mysql-community-server-5.1.36-bmove512.patch
+Patch6: mysql-community-server-5.1.36-hotcopy.patch
+Patch7: mariadb-5.1.55-cnf.patch
+Patch8: mysql-community-server-5.1.45-group.patch
+Patch9: mysql-community-server-5.1.45-multi-configuration.patch
+Patch10: mysql-community-server-5.1.45-safe-process-in-bin.patch
+Patch11: mysql-community-server-5.1.46-logrotate.patch
+Patch12: mariadb-5.1.50-strncat-overflow.patch
+Patch13: mariadb-5.1.50-install_db-quiet.patch
+Patch14: mariadb-5.1.55-libmysql-no-pkglibdir.patch
+Patch15: mysql-community-server-5.1.51-myslq-test.patch
+Patch16: mysql-community-server-5.1.51-mysql_config.patch
+Patch17: mysql-community-server-5.1.51-mysqld_multi-features.patch
+Patch18: mariadb-5.1.55-plugins-avoid-version.patch
+Patch19: mariadb-5.1.50-upgrade-exit-status.patch
+Patch20: mariadb-5.1.55-utf8-test-results.patch
+Patch21: mariadb-5.1.55-compilation-fix.patch
+Patch22: mysql-community-server-5.1.53-ssl-compilation-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
PreReq: pwdutils
@@ -413,30 +390,30 @@
%prep
#-------------------------------------------------------------------------------
-%setup -q -n mariadb-%{version}b
+%setup -q -n mariadb-%{version}
cp %_sourcedir/README.SuSE .
cp %_sourcedir/suse-test-run .
-%patch2
+%patch2 -p1
%patch3
%patch4
%patch5
+%patch6
%patch7
%patch8
+%patch9
+%patch10
+%patch11
+%patch12
%patch13
+%patch14
+%patch15
+%patch16
+%patch17
%patch18
%patch19
-%patch23
-%patch25 -p1
-%patch27
-%patch28
-%patch29
-%patch30
-%patch31
-%patch35
-%patch37
-%patch38
-%patch39
-%patch45 -p1
+%patch20
+%patch21
+%patch22
# remove unneeded manpages ('make install' basically installs everything under
# man/*)
rm -f man/mysqlman.1 # dummy fallback manpage
@@ -502,7 +479,7 @@
--with-atomic-ops=smp \
%endif
--with-ssl=/usr \
- --with-plugins=partition,csv,heap,myisam,ndbcluster,innobase \
+ --with-plugins=partition,csv,heap,myisam,ndbcluster,maria,myisammrg,innodb_plugin \
HOSTNAME="/bin/hostname -f" \
"$@"
# Add this for MyISAM RAID support:
@@ -582,7 +559,7 @@
done
popd >/dev/null
}
-filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip >mysql.files
+filelist maria_chk maria_ftdump maria_pack maria_dump_log maria_read_log innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip >mysql.files
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
@@ -612,8 +589,6 @@
install -m 644 "${DOCS[@]}" ${DOCDIR}
install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
-# this is used by the init script
-install -m 755 -d %buildroot/var/run/mysql
# SuSEfirewall service description
install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -815,7 +790,6 @@
/etc/init.d/mysql
/usr/sbin/rcmysql
/usr/share/mysql/
-%dir %attr(755,mysql,mysql)/var/run/mysql
%dir %{_libdir}/mysql
%{_libdir}/mysql/mysqld.sym
%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
++++++ mariadb-5.1.50-install_db-quiet.patch ++++++
PATCH-P0-FEATURE-SUSE: Use better comments in install_db
We ship init script so we don't need to warn user to install one and we also
have a testsuite in separate packege.
Maintainer: Michal Hrusecky
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -456,9 +456,10 @@ fi
# the screen.
if test "$cross_bootstrap" -eq 0 && test -z "$srcdir"
then
- s_echo
- s_echo "To start mysqld at boot time you have to copy"
- s_echo "support-files/mysql.server to the right place for your system"
+# Output disabled, since the SUSE RPM comes with an init script installed
+# s_echo
+# s_echo "To start mysqld at boot time you have to copy"
+# s_echo "support-files/mysql.server to the right place for your system"
echo
echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !"
@@ -480,10 +481,10 @@ then
then
echo
echo "You can start the MariaDB daemon with:"
- echo "cd $basedir ; $bindir/mysqld_safe &"
+ echo "rcmysql start"
echo
- echo "You can test the MariaDB daemon with mysql-test-run.pl"
- echo "cd $basedir/mysql-test ; perl mysql-test-run.pl"
+ echo "You can test the MariaDB daemon with mariadb-test package"
+# echo "cd $basedir/mysql-test ; perl mysql-test-run.pl"
fi
echo
++++++ mariadb-5.1.50-strncat-overflow.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix possible buffer overflow
strncat function is used with n not depending on current length of string we
are appending to. Result might be buffer overflow.
Maintainer: Michal Hrusecky
Index: mysys/mf_loadpath.c
===================================================================
--- mysys/mf_loadpath.c.orig
+++ mysys/mf_loadpath.c
@@ -45,7 +45,7 @@ char * my_load_path(char * to, const cha
if (! my_getwd(buff,(uint) (FN_REFLEN-strlen(path)+is_cur),MYF(0)))
{
size_t length= strlen(buff);
- (void) strmake(buff + length, path+is_cur, FN_REFLEN - length);
+ (void) strmake(buff + length, path+is_cur, FN_REFLEN - strlen(buff) - length);
}
else
from= path; /* Return org file name */
++++++ mariadb-5.1.50-upgrade-exit-status.patch ++++++
PATCH-P0-FEATURE-SUSE: Returning 0 when already upgraded.
Returning non-zero exit status in this case is not nice to scripts using
mysql_upgrade (eg. our init script)
Maintainer: Michal Hrusecky
Index: client/mysql_upgrade.c
===================================================================
--- client/mysql_upgrade.c.orig
+++ client/mysql_upgrade.c
@@ -878,7 +878,9 @@ int main(int argc, char **argv)
printf("This installation of MySQL is already upgraded to %s, "
"use --force if you still need to run mysql_upgrade\n",
MYSQL_SERVER_VERSION);
- die(NULL);
+ free_used_memory();
+ my_end(MY_CHECK_ERROR);
+ exit(0);
}
/*
Index: mysql-test/t/mysql_upgrade.test
===================================================================
--- mysql-test/t/mysql_upgrade.test.orig
+++ mysql-test/t/mysql_upgrade.test
@@ -41,7 +41,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrad
--echo Run it again - should say already completed
--replace_result $MYSQL_SERVER_VERSION VERSION
---error 1
+--error 0
--exec $MYSQL_UPGRADE 2>&1
# It should have created a file in the MySQL Servers datadir
++++++ mariadb-5.1.55-cnf.patch ++++++
PATCH-P0-FIX-SUSE: Tweak default configuration
This patch adds log file locations and socket location as they should be in
SuSE to the default configuration files.
Maintainer: Michal Hrusecky
Index: support-files/my-huge.cnf.sh
===================================================================
--- support-files/my-huge.cnf.sh.orig
+++ support-files/my-huge.cnf.sh
@@ -132,7 +132,15 @@ o#innodb_log_group_home_dir = @localstat
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-large.cnf.sh
===================================================================
--- support-files/my-large.cnf.sh.orig
+++ support-files/my-large.cnf.sh
@@ -132,7 +132,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -28,6 +28,8 @@ socket = @MYSQL_UNIX_ADDR@
[mysqld]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
+# Change following line if you want to store your database elsewhere
+datadir = /var/lib/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
@@ -130,7 +132,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-small.cnf.sh
===================================================================
--- support-files/my-small.cnf.sh.orig
+++ support-files/my-small.cnf.sh
@@ -65,7 +65,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
++++++ mariadb-5.1.55-compilation-fix.patch ++++++
PATCH-P0-HACK-SUSE: Fixing few compilation problems
Mostly minor things. Mostly just to make compiler happy as it can't determine
that everything is ok. But few things might actually worth reporting as they
could be handled better (mostly the write calls).
Maintainer: Michal Hrusecky
Index: client/readline.cc
===================================================================
--- client/readline.cc.orig
+++ client/readline.cc
@@ -45,7 +45,7 @@ LINE_BUFFER *batch_readline_init(ulong m
char *batch_readline(LINE_BUFFER *line_buff, bool *truncated)
{
char *pos;
- ulong out_length;
+ ulong out_length=0;
DBUG_ASSERT(truncated != NULL);
if (!(pos=intern_read_line(line_buff,&out_length, truncated)))
Index: storage/innodb_plugin/ut/ut0ut.c
===================================================================
--- storage/innodb_plugin/ut/ut0ut.c.orig
+++ storage/innodb_plugin/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,8 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- fwrite(buf, 1, size, dest);
+ if(fwrite(buf, size, 1, dest)is_null())
- fwrite("NULL", sizeof(char), 4, DBUG_FILE);
+ if(fwrite("NULL", sizeof(char), 4, DBUG_FILE) != sizeof(char) * 4)
+ break;
if (field->type() == MYSQL_TYPE_BIT)
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE) !=
+ sizeof(char) * tmp.length())
+ break;
if (pfield[1])
- fwrite(", ", sizeof(char), 2, DBUG_FILE);
+ if(fwrite(", ", sizeof(char), 2, DBUG_FILE) != sizeof(char) * 2)
+ break;
}
fprintf(DBUG_FILE, ")");
if (print_rowid)
Index: sql/opt_range.cc
===================================================================
--- sql/opt_range.cc.orig
+++ sql/opt_range.cc
@@ -11368,7 +11368,8 @@ print_key(KEY_PART *key_part, const ucha
{
if (*key)
{
- fwrite("NULL",sizeof(char),4,DBUG_FILE);
+ if(fwrite("NULL",sizeof(char),4,DBUG_FILE)!=4*sizeof(char))
+ break;
continue;
}
key++; // Skip null byte
@@ -11379,7 +11380,8 @@ print_key(KEY_PART *key_part, const ucha
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE)!=sizeof(char)*tmp.length())
+ break;
if (key+store_length < key_end)
fputc('/',DBUG_FILE);
}
Index: sql/sql_table.cc
===================================================================
--- sql/sql_table.cc.orig
+++ sql/sql_table.cc
@@ -6992,7 +6992,7 @@ view_err:
need_copy_table= ALTER_TABLE_DATA_CHANGED;
else
{
- enum_alter_table_change_level need_copy_table_res;
+ enum_alter_table_change_level need_copy_table_res = ALTER_TABLE_DATA_CHANGED;
/* Check how much the tables differ. */
if (compare_tables(table, alter_info,
create_info, order_num,
Index: storage/xtradb/ut/ut0ut.c
===================================================================
--- storage/xtradb/ut/ut0ut.c.orig
+++ storage/xtradb/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- (void) fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,7 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- (void) fwrite(buf, 1, size, dest);
+ size=fwrite(buf, 1, size, dest);
len -= (long) size;
if (size < maxs) {
break;
Index: storage/maria/ha_maria.cc
===================================================================
--- storage/maria/ha_maria.cc.orig
+++ storage/maria/ha_maria.cc
@@ -2792,7 +2792,7 @@ int ha_maria::create(const char *name, r
HA_CREATE_INFO *ha_create_info)
{
int error;
- uint create_flags= 0, record_count, i;
+ uint create_flags= 0, record_count=0, i;
char buff[FN_REFLEN];
MARIA_KEYDEF *keydef;
MARIA_COLUMNDEF *recinfo;
Index: storage/pbxt/src/discover_xt.cc
===================================================================
--- storage/pbxt/src/discover_xt.cc.orig
+++ storage/pbxt/src/discover_xt.cc
@@ -1337,8 +1337,8 @@ static bool mysql_create_table_no_lock(T
char path[FN_REFLEN];
uint path_length;
const char *alias;
- uint db_options, key_count;
- KEY *key_info_buffer;
+ uint db_options, key_count=0;
+ KEY *key_info_buffer=NULL;
handler *file;
bool error= TRUE;
DBUG_ENTER("mysql_create_table_no_lock");
Index: storage/pbxt/src/table_xt.cc
===================================================================
--- storage/pbxt/src/table_xt.cc.orig
+++ storage/pbxt/src/table_xt.cc
@@ -726,7 +726,7 @@ xtPublic void xt_check_tables(XTThreadPt
{
u_int edx;
XTTableEntryPtr te_ptr;
- volatile XTTableHPtr tab;
+ volatile XTTableHPtr tab=NULL;
char path[PATH_MAX];
enter_();
@@ -1132,7 +1132,7 @@ static int tab_new_handle(XTThreadPtr se
XTOpenFilePtr of_rec, of_ind;
XTTableEntryPtr te_ptr;
size_t tab_format_offset;
- size_t tab_head_size;
+ size_t tab_head_size=0;
enter_();
++++++ mariadb-5.1.55-libmysql-no-pkglibdir.patch ++++++
PATCH-P0-FIX-UPSTREAM: Use lib_LIBRARIES instead of pkglib_LIBRARIES
Make more sense and is more intuitive when compiling.
Maintainer: Michal Hrusecky
Index: libmysql/Makefile.shared
===================================================================
--- libmysql/Makefile.shared.orig
+++ libmysql/Makefile.shared
@@ -26,7 +26,7 @@ MYSQLBASEdir= $(prefix)
## We'll use CLIENT_EXTRA_LDFLAGS for threaded and non-threaded
## until someone complains that they need separate options.
LDADD = @CLIENT_EXTRA_LDFLAGS@ $(target)
-pkglib_LTLIBRARIES = $(target)
+lib_LTLIBRARIES = $(target)
noinst_PROGRAMS = conf_to_src
Index: libmysqld/Makefile.am
===================================================================
--- libmysqld/Makefile.am.orig
+++ libmysqld/Makefile.am
@@ -37,7 +37,7 @@ INCLUDES= -I$(top_builddir)/include -I$
@condition_dependent_plugin_includes@ \
@ndbcluster_includes@
-pkglib_LTLIBRARIES = libmysqld.la
+lib_LTLIBRARIES = libmysqld.la
SUBDIRS = . examples
libmysqld_sources= libmysqld.c lib_sql.cc emb_qcache.cc
libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \
++++++ mariadb-5.1.55-plugins-avoid-version.patch ++++++
PATCH-P0-FEATURE-SUSE: Avoid version for all plugins
Making all storage plugins unversioned.
Maintainer: Michal Hrusecky
Index: storage/blackhole/Makefile.am
===================================================================
--- storage/blackhole/Makefile.am.orig
+++ storage/blackhole/Makefile.am
@@ -34,7 +34,7 @@ noinst_HEADERS = ha_blackhole.h
EXTRA_LTLIBRARIES = libblackhole.la ha_blackhole.la
pkgplugin_LTLIBRARIES = @plugin_blackhole_shared_target@
-ha_blackhole_la_LDFLAGS=-module -rpath $(pkgplugindir)
+ha_blackhole_la_LDFLAGS=-module -avoid-version -rpath $(pkgplugindir)
ha_blackhole_la_CXXFLAGS=-shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_blackhole_la_SOURCES=ha_blackhole.cc
Index: storage/archive/Makefile.am
===================================================================
--- storage/archive/Makefile.am.orig
+++ storage/archive/Makefile.am
@@ -35,7 +35,7 @@ noinst_PROGRAMS = archive_test archive_r
EXTRA_LTLIBRARIES = libarchive.la ha_archive.la
pkgplugin_LTLIBRARIES = @plugin_archive_shared_target@
-ha_archive_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_archive_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_archive_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_archive_la_CFLAGS = -shared $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_archive_la_SOURCES = ha_archive.cc azio.c
Index: storage/example/Makefile.am
===================================================================
--- storage/example/Makefile.am.orig
+++ storage/example/Makefile.am
@@ -34,7 +34,7 @@ noinst_HEADERS = ha_example.h
EXTRA_LTLIBRARIES = libexample.la ha_example.la
pkgplugin_LTLIBRARIES = @plugin_example_shared_target@
-ha_example_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_example_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_example_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_example_la_SOURCES = ha_example.cc
Index: storage/federated/Makefile.am
===================================================================
--- storage/federated/Makefile.am.orig
+++ storage/federated/Makefile.am
@@ -32,7 +32,7 @@ noinst_HEADERS = ha_federated.h
EXTRA_LTLIBRARIES = libfederated.la libfederated_embedded.la ha_federated.la
pkgplugin_LTLIBRARIES = @plugin_federated_shared_target@
-ha_federated_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_federated_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_federated_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_federated_la_CFLAGS = -shared $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_federated_la_SOURCES = ha_federated.cc $(top_srcdir)/mysys/string.c
Index: storage/innodb_plugin/Makefile.am
===================================================================
--- storage/innodb_plugin/Makefile.am.orig
+++ storage/innodb_plugin/Makefile.am
@@ -330,7 +330,7 @@ libinnobase_la_CFLAGS= $(AM_CFLAGS)
EXTRA_LTLIBRARIES= libinnobase.la ha_innodb_plugin.la
pkgplugin_LTLIBRARIES= @plugin_innodb_plugin_shared_target@
-ha_innodb_plugin_la_LDFLAGS= -module -rpath $(pkgplugindir)
+ha_innodb_plugin_la_LDFLAGS= -module -avoid-version -rpath $(pkgplugindir)
ha_innodb_plugin_la_CXXFLAGS= -shared $(AM_CXXFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_plugin_la_CFLAGS= -shared $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_plugin_la_SOURCES= $(libinnobase_la_SOURCES)
Index: storage/federatedx/Makefile.am
===================================================================
--- storage/federatedx/Makefile.am.orig
+++ storage/federatedx/Makefile.am
@@ -19,7 +19,7 @@ noinst_HEADERS = ha_federatedx.h federat
EXTRA_LTLIBRARIES = libfederatedx.la libfederatedx_common.la libfederatedx_embedded.la ha_federatedx.la
pkgplugin_LTLIBRARIES = @plugin_federatedx_shared_target@
-ha_federatedx_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_federatedx_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_federatedx_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
Index: storage/xtradb/Makefile.am
===================================================================
--- storage/xtradb/Makefile.am.orig
+++ storage/xtradb/Makefile.am
@@ -331,7 +331,7 @@ libxtradb_la_CFLAGS= $(AM_CFLAGS)
EXTRA_LTLIBRARIES= libxtradb.la ha_xtradb.la
pkgplugin_LTLIBRARIES= @plugin_xtradb_shared_target@
-ha_xtradb_la_LDFLAGS= -module -rpath $(pkgplugindir)
+ha_xtradb_la_LDFLAGS= -avoid-version -module -rpath $(pkgplugindir)
ha_xtradb_la_CXXFLAGS= -shared $(AM_CXXFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_xtradb_la_CFLAGS= -shared $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_xtradb_la_SOURCES= $(libxtradb_la_SOURCES)
++++++ mariadb-5.1.55-utf8-test-results.patch ++++++
PATCH-P0-FIX-SUSE: Fix test results confused by utf-8
We are using utf-8 as a default charset during the compilation and it has some
effect on the test results. Correct sollution would be to make these results
charset independent, but easiest one is obviously to modify them to reflect our
default settings.
Maintainer: Michal Hrusecky
Index: mysql-test/r/information_schema.result
===================================================================
--- mysql-test/r/information_schema.result.orig
+++ mysql-test/r/information_schema.result
@@ -9,7 +9,7 @@ create user mysqltest_3@localhost;
create user mysqltest_3;
select * from information_schema.SCHEMATA where schema_name > 'm';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL mtr latin1 latin1_swedish_ci NULL
+NULL mtr utf8 utf8_unicode_ci NULL
NULL mysql latin1 latin1_swedish_ci NULL
NULL test latin1 latin1_swedish_ci NULL
select schema_name from information_schema.schemata;
Index: mysql-test/r/mysql_comments.result
===================================================================
--- mysql-test/r/mysql_comments.result.orig
+++ mysql-test/r/mysql_comments.result
@@ -13,23 +13,23 @@ drop trigger if exists t1_bi;
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx utf8 utf8_unicode_ci latin1_swedish_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n \n \n \n\n \n\n \n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n \n \n \n\n \n\n \n return x;\nend utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) latin1 latin1_swedish_ci latin1_swedish_ci
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend latin1 latin1_swedish_ci latin1_swedish_ci
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
trig 12
"Pass 2 : --enable-comments"
@@ -40,23 +40,23 @@ trig 12
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line utf8 utf8_unicode_ci latin1_swedish_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body latin1 latin1_swedish_ci latin1_swedish_ci
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend latin1 latin1_swedish_ci latin1_swedish_ci
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
trig 12
End of 5.0 tests
Index: mysql-test/r/mysql_upgrade.result
===================================================================
--- mysql-test/r/mysql_upgrade.result.orig
+++ mysql-test/r/mysql_upgrade.result
@@ -182,8 +182,8 @@ Phase 3/3: Running 'mysql_fix_privilege_
OK
CALL testproc();
DROP PROCEDURE testproc;
-WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary.
-WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary.
+WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (utf8). Please verify if necessary.
+WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (utf8_unicode_ci). Please verify if necessary.
WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.
#
# Bug #53613: mysql_upgrade incorrectly revokes
++++++ mariadb-5.1.44b.tar.bz2 -> mariadb-5.1.55.tar.bz2 ++++++
old-versions/11.3/all/mariadb/mariadb-5.1.44b.tar.bz2 11.3/mariadb/mariadb-5.1.55.tar.bz2 differ: char 11, line 1
++++++ mysql-community-server-5.1.31-shebang.patch ++++++
PATCH-P1-FIX-UPSTREAM: Adds shebangs
Shebangs were missing at various places, so we are adding them.
Maintainer: Michal Hrusecky
diff -Naru mysql-5.1.31-bak/mysql-test/t/long_tmpdir-master.sh mysql-5.1.31/mysql-test/t/long_tmpdir-master.sh
--- mysql-5.1.31-bak/mysql-test/t/long_tmpdir-master.sh 2009-02-23 17:18:48.000000000 +0100
+++ mysql-5.1.31/mysql-test/t/long_tmpdir-master.sh 2009-02-24 17:57:42.000000000 +0100
@@ -1,3 +1,4 @@
+#!/bin/sh
d="$MYSQLTEST_VARDIR/tmp/long_temporary_directory_path_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789"
test -d "$d" || mkdir "$d"
rm -f "$d"/*
diff -Naru mysql-5.1.31-bak/mysql-test/t/lowercase_mixed_tmpdir-master.sh mysql-5.1.31/mysql-test/t/lowercase_mixed_tmpdir-master.sh
--- mysql-5.1.31-bak/mysql-test/t/lowercase_mixed_tmpdir-master.sh 2009-02-23 17:18:48.000000000 +0100
+++ mysql-5.1.31/mysql-test/t/lowercase_mixed_tmpdir-master.sh 2009-02-24 17:58:12.000000000 +0100
@@ -1,3 +1,4 @@
+#!/bin/sh
# This test requires a non-lowercase tmpdir directory on a case-sensitive
# filesystem.
diff -Naru mysql-5.1.31-bak/sql-bench/graph-compare-results.sh mysql-5.1.31/sql-bench/graph-compare-results.sh
--- mysql-5.1.31-bak/sql-bench/graph-compare-results.sh 2009-02-23 17:18:49.000000000 +0100
+++ mysql-5.1.31/sql-bench/graph-compare-results.sh 2009-02-24 18:00:16.000000000 +0100
@@ -1,3 +1,4 @@
+#/usr/bin/perl
####
#### Hello ... this is a heavily hacked script by Luuk
#### instead of printing the result it makes a nice gif
++++++ mysql-community-server-5.1.33-scripts-paths.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix building in different directory
BUGS: upstream#45616
Makes it possible to run compilation somewhere else then source code is.
Maintainer: Michal Hrusecky
--- scripts/Makefile.am 2009-04-02 18:29:00.292563355 +0200
+++ scripts/Makefile.am 2009-04-02 18:21:50.462559739 +0200
@@ -110,7 +110,7 @@
mysql_fix_privilege_tables.sql: mysql_system_tables.sql \
mysql_system_tables_fix.sql
@echo "Building $@";
- @cat mysql_system_tables.sql mysql_system_tables_fix.sql > $@
+ @cat $(top_srcdir)/scripts/mysql_system_tables.sql $(top_srcdir)/scripts/mysql_system_tables_fix.sql > $@
#
# Build mysql_fix_privilege_tables_sql.c from
@@ -123,7 +123,7 @@
sleep 2
$(top_builddir)/scripts/comp_sql$(EXEEXT) \
mysql_fix_privilege_tables \
- $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@
+ $(top_builddir)/scripts/mysql_fix_privilege_tables.sql $@
SUFFIXES = .sh
++++++ mysql-community-server-5.1.33-ssl-lib64-macro.patch ++++++
PATCH-P0-HACK-UPSTREAM: Add lib64 dir to the library path
On x86_64 systems openssl library is installed into /usr/lib64 directory and
MySQL couldn't find as it was searching only in /usr/lib. We can add it quite
safelly even on i586 as this directory wouldn't exist on them so no harm done.
Maintainer: Michal Hrusecky
--- config/ac-macros/ssl.m4 2009-04-10 14:05:07.000000000 +0200
+++ config/ac-macros/ssl.m4 2009-04-10 14:15:15.000000000 +0200
@@ -102,7 +102,7 @@
#
# Try to link with openSSL libs in <location>
#
- openssl_libs="-L$location/lib/ -lssl -lcrypto"
+ openssl_libs="-L$location/lib -L$location/lib64 -lssl -lcrypto"
MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs])
if test "$mysql_ssl_found" == "no"
++++++ mysql-community-server-5.1.36-bmove512.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Better handling of memcpy
BUGS: upstream#19975
Standard memcpy should behave better then self made one.
Maintainer: Michal Hrusecky
Index: mysys/mf_keycache.c
===================================================================
--- mysys/mf_keycache.c.orig
+++ mysys/mf_keycache.c
@@ -2646,10 +2646,7 @@ uchar *key_cache_read(KEY_CACHE *keycach
#endif
/* Copy data from the cache buffer */
- if (!(read_length & 511))
- bmove512(buff, block->buffer+offset, read_length);
- else
- memcpy(buff, block->buffer+offset, (size_t) read_length);
+ memcpy(buff, block->buffer+offset, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
@@ -2857,10 +2854,7 @@ int key_cache_insert(KEY_CACHE *keycache
#endif
/* Copy data from buff */
- if (!(read_length & 511))
- bmove512(block->buffer+offset, buff, read_length);
- else
- memcpy(block->buffer+offset, buff, (size_t) read_length);
+ memcpy(block->buffer+offset, buff, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
@@ -3164,10 +3158,7 @@ int key_cache_write(KEY_CACHE *keycache,
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_unlock(&keycache->cache_lock);
#endif
- if (!(read_length & 511))
- bmove512(block->buffer+offset, buff, read_length);
- else
- memcpy(block->buffer+offset, buff, (size_t) read_length);
+ memcpy(block->buffer+offset, buff, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
++++++ mysql-community-server-5.1.36-hotcopy.patch ++++++
PATCH-P0-FIX-UPSTREAM: Makes hotcopy to ignores log tables
BUGS: upstream#43594, bnc#525325
If you are running hotcopy, you probably want to ignore all
log tables.
Maintainer: Michal Hrusecky
=== modified file 'scripts/mysqlhotcopy.sh'
--- scripts/mysqlhotcopy.sh 2008-03-07 20:45:40 +0000
+++ scripts/mysqlhotcopy.sh 2009-03-12 13:06:42 +0000
@@ -777,7 +777,24 @@ sub get_list_of_tables {
} || [];
warn "Unable to retrieve list of tables in $db: $@" if $@;
- return (map { $_->[0] } @$tables);
+ my @ignore_tables = ();
+
+ # Ignore tables for the mysql database
+ if ($db eq 'mysql') {
+ @ignore_tables = qw(general_log slow_log schema apply_status);
+ }
+
+ my @res = ();
+ if ($#ignore_tables > 1) {
+ my @tmp = (map { $_->[0] } @$tables);
+ for my $t (@tmp) {
+ push(@res, $t) if not exists { map { $_=>1 } @ignore_tables }->{$t};
+ }
+ } else {
+ @res = (map { $_->[0] } @$tables);
+ }
+
+ return @res;
}
sub quote_names {
++++++ mysql-community-server-5.1.45-group.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Adds group option
This patch let's you specify not only user to use but also group that MySQL
should use.
Maintainer: Michal Hrusecky
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -793,6 +793,14 @@ AC_ARG_WITH(mysqld-user,
[ MYSQLD_USER=mysql ]
)
AC_SUBST(MYSQLD_USER)
+AC_ARG_WITH(mysqld-group,
+ [ --with-mysqld-group=groupname
+ What group the mysqld daemon shall be run as.],
+ [ MYSQLD_GROUP=$withval ],
+ [ MYSQLD_GROUP=mysql ]
+ )
+AC_SUBST(MYSQLD_GROUP)
+
# If we should allow LOAD DATA LOCAL
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
Index: scripts/Makefile.am
===================================================================
--- scripts/Makefile.am.orig
+++ scripts/Makefile.am
@@ -185,6 +185,7 @@ SUFFIXES = .sh
-e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \
-e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
+ -e 's!@''MYSQLD_GROUP''@!@MYSQLD_GROUP@!' \
-e 's!@''STATIC_NSS_FLAGS''@!@STATIC_NSS_FLAGS@!' \
-e 's!@''NON_THREADED_LIBS''@!@NON_THREADED_LIBS@!' \
-e 's!@''ZLIB_DEPS''@!@ZLIB_DEPS@!' \
Index: scripts/mysqld_safe.sh
===================================================================
--- scripts/mysqld_safe.sh.orig
+++ scripts/mysqld_safe.sh
@@ -19,6 +19,7 @@ logging=init
want_syslog=0
syslog_tag=
user='@MYSQLD_USER@'
+group='@MYSQLD_GROUP@'
pid_file=
err_log=
@@ -162,6 +163,7 @@ parse_arguments() {
--datadir=*) DATADIR="$val" ;;
--pid-file=*) pid_file="$val" ;;
--user=*) user="$val"; SET_USER=1 ;;
+ --group=*) group="$val"; SET_USER=1 ;;
# these might have been set in a [mysqld_safe] section of my.cnf
# they are added to mysqld command line to override settings from my.cnf
@@ -388,11 +390,17 @@ then
if test "$user" != "root" -o $SET_USER = 1
then
USER_OPTION="--user=$user"
+ GROUP_OPTION="--group=$group"
fi
# Change the err log to the right user, if it is in use
if [ $want_syslog -eq 0 ]; then
touch "$err_log"
- chown $user "$err_log"
+ if [ "$user" -a "$group" ]; then
+ chown $user:$group $err_log
+ else
+ [ "$user" ] && chown $user $err_log
+ [ "$group" ] && chgrp $group $err_log
+ fi
fi
if test -n "$open_files"
then
@@ -407,7 +415,12 @@ mysql_unix_port_dir=`dirname $safe_mysql
if [ ! -d $mysql_unix_port_dir ]
then
mkdir $mysql_unix_port_dir
- chown $user $mysql_unix_port_dir
+ if [ "$user" -a "$group" ]; then
+ chown $user:$group $mysql_unix_port_dir
+ else
+ [ "$user" ] && chown $user $mysql_unix_port_dir
+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
+ fi
chmod 755 $mysql_unix_port_dir
fi
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -28,6 +28,7 @@ args=""
defaults=""
mysqld_opt=""
user=""
+group=""
force=0
in_rpm=0
@@ -63,6 +64,11 @@ Usage: $0 [OPTIONS]
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
+ --group=group_name The login group to use for running mysqld. Files and
+ directories created by mysqld will be owned by this
+ group. You must be root to use this option. By default
+ mysqld runs using your current group and files and
+ directories that it creates will be owned by you.
All other options are passed to the mysqld program
@@ -103,11 +109,11 @@ parse_arguments()
--builddir=*) builddir=`parse_arg "$arg"` ;;
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
--ldata=*|--datadir=*) ldata=`parse_arg "$arg"` ;;
- --user=*)
# Note that the user will be passed to mysqld so that it runs
# as 'user' (crucial e.g. if log-bin=/some_other_path/
# where a chown of datadir won't help)
- user=`parse_arg "$arg"` ;;
+ --user=*) user=`parse_arg "$arg"` ;;
+ --group=*) group=`parse_arg "$arg"` ;;
--skip-name-resolve) ip_only=1 ;;
--verbose) verbose=1 ;; # Obsolete
--rpm) in_rpm=1 ;;
@@ -360,7 +366,12 @@ do
fi
if test -w / -a ! -z "$user"
then
- chown $user $dir
+ if test -z "$group"
+ then
+ chown $user $dir
+ else
+ chown $user:$group $dir
+ fi
fi
done
@@ -369,6 +380,11 @@ then
args="$args --user=$user"
fi
+if test -n "$group"
+then
+ args="$args --group=$group"
+fi
+
# When doing a "cross bootstrap" install, no reference to the current
# host should be added to the system tables. So we filter out any
# lines which contain the current host name.
++++++ mysql-community-server-5.1.45-multi-configuration.patch ++++++
PATCH-P0-FEATURE-SUSE: Add multi configuration
This patch adds example of how to setup multiple running MySQL servers. It is
by default commented out, but it can be used as an example and help people
start with new configuration.
Maintainer: Michal Hrusecky
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -154,3 +154,46 @@ write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
+
+[mysqld_multi]
+mysqld = /usr/bin/mysqld_safe
+mysqladmin = /usr/bin/mysqladmin
+log = /var/log/mysqld_multi.log
+# user = multi_admin
+# password = secret
+
+# If you want to use mysqld_multi uncomment 1 or more mysqld sections
+# below or add your own ones.
+
+# WARNING
+# --------
+# If you uncomment mysqld1 than make absolutely sure, that database mysql,
+# configured above, is not started. This may result in corrupted data!
+# [mysqld1]
+# port = @MYSQL_TCP_PORT@
+# datadir = /var/lib/mysql
+# pid-file = /var/lib/mysql/mysqld.pid
+# socket = /var/lib/mysql/mysql.sock
+# user = mysql
+
+# [mysqld2]
+# port = 3307
+# datadir = /var/lib/mysql-databases/mysqld2
+# pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld2/mysql.sock
+# user = mysql
+
+# [mysqld3]
+# port = 3308
+# datadir = /var/lib/mysql-databases/mysqld3
+# pid-file = /var/lib/mysql-databases/mysqld3/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld3/mysql.sock
+# user = mysql
+
+# [mysqld6]
+# port = 3309
+# datadir = /var/lib/mysql-databases/mysqld6
+# pid-file = /var/lib/mysql-databases/mysqld6/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld6/mysql.sock
+# user = mysql
+
++++++ mysql-community-server-5.1.45-safe-process-in-bin.patch ++++++
PATCH-P0-FEATURE-SUSE: Moving SafeProcess to /usr/bin
We prefer to have this script somewhere else, so we moved it out of
the mysql-test directory.
Maintainer: Michal Hrusecky
Index: mysql-test/lib/My/SafeProcess.pm
===================================================================
--- mysql-test/lib/My/SafeProcess.pm.orig
+++ mysql-test/lib/My/SafeProcess.pm
@@ -89,7 +89,7 @@ sub find_bin {
if (IS_WIN32PERL or IS_CYGWIN)
{
# Use my_safe_process.exe
- my $exe= my_find_bin(".", ["lib/My/SafeProcess", "My/SafeProcess"],
+ my $exe= my_find_bin(".", ["../../bin", "lib/My/SafeProcess", "My/SafeProcess"],
"my_safe_process");
push(@safe_process_cmd, $exe);
@@ -99,7 +99,7 @@ sub find_bin {
else
{
# Use my_safe_process
- my $exe= my_find_bin(".", ["lib/My/SafeProcess", "My/SafeProcess"],
+ my $exe= my_find_bin(".", ["../../bin", "lib/My/SafeProcess", "My/SafeProcess"],
"my_safe_process");
push(@safe_process_cmd, $exe);
}
++++++ mysql-community-server-5.1.46-logrotate.patch ++++++
PATCH-P0-FIX-SUSE: Fix log file path for logrotate
In SUSE we've got MySQL log in different directory. It's located in
/var/log/mysql by default. It also adds some extra error message.
Maintainer: Michal Hrusecky
Index: support-files/mysql-log-rotate.sh
===================================================================
--- support-files/mysql-log-rotate.sh.orig
+++ support-files/mysql-log-rotate.sh
@@ -18,7 +18,7 @@
# ATTENTION: This /root/.my.cnf should be readable ONLY
# for root !
-@localstatedir@/mysqld.log {
+/var/log/mysql/mysqld.log {
# create 600 mysql mysql
notifempty
daily
@@ -31,6 +31,14 @@
@bindir@/mysqladmin ping &>/dev/null
then
@bindir@/mysqladmin flush-logs
+ ret=$?
+ if test $ret -ne 0
+ then
+ echo "@sysconfdir@/logrotate.d/mysql failed, probably because" >&2
+ echo "the root acount is protected by password." >&2
+ echo "See comments in @sysconfdir@/logrotate.d/mysql on how to fix this" >&2
+ exit $ret
+ fi
fi
endscript
}
++++++ mysql-community-server-5.1.51-myslq-test.patch ++++++
PATCH-P0-FEATURE-SUSE: Tests in $(datadir)
By default tests would get installed to /usr and as we want it LSB compilant,
we install them into /usr/share.
Maintainer: Michal Hrusecky
Index: mysql-test/Makefile.am
===================================================================
--- mysql-test/Makefile.am.orig
+++ mysql-test/Makefile.am
@@ -17,7 +17,7 @@
## Process this file with automake to create Makefile.in
-testroot = $(prefix)
+testroot = $(datadir)
testdir = $(testroot)/mysql-test
test_SCRIPTS = mtr \
Index: mysql-test/lib/My/SafeProcess/Makefile.am
===================================================================
--- mysql-test/lib/My/SafeProcess/Makefile.am.orig
+++ mysql-test/lib/My/SafeProcess/Makefile.am
@@ -13,7 +13,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-testroot = $(prefix)
+testroot = $(datadir)
safedir = $(testroot)/mysql-test/lib/My/SafeProcess
#nobase_bin_PROGRAMS = ...
safe_PROGRAMS = my_safe_process
++++++ mysql-community-server-5.1.51-mysql_config.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix linking options
BUGS: upstream#39175, bnc#420313
Maintainer: Michal Hrusecky
Index: scripts/mysql_config.sh
===================================================================
--- scripts/mysql_config.sh.orig
+++ scripts/mysql_config.sh
@@ -94,7 +94,7 @@ fix_path pkgincludedir include/mysql inc
version='@VERSION@'
socket='@MYSQL_UNIX_ADDR@'
-ldflags='@LDFLAGS@'
+ldflags='@SAVE_LDFLAGS@'
if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
port=0
++++++ mysql-community-server-5.1.51-mysqld_multi-features.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Add more functionality to mysqld_multi script
Adds reload funcionality to mysqld_multi.sh perl script and adds --datadir
support.
Maintainer: Michal Hrusecky
Index: scripts/mysqld_multi.sh
===================================================================
--- scripts/mysqld_multi.sh.orig
+++ scripts/mysqld_multi.sh
@@ -2,6 +2,7 @@
use Getopt::Long;
use POSIX qw(strftime getcwd);
+use File::Path qw(mkpath);
$|=1;
$VER="2.16";
@@ -125,6 +126,7 @@ sub main
usage() if (!defined($ARGV[0]) ||
(!($ARGV[0] =~ m/^start$/i) &&
!($ARGV[0] =~ m/^stop$/i) &&
+ !($ARGV[0] =~ m/^reload$/i) &&
!($ARGV[0] =~ m/^report$/i)));
if (!$opt_no_log)
@@ -138,7 +140,7 @@ sub main
print strftime "%a %b %e %H:%M:%S %Y", localtime;
print "\n";
}
- if ($ARGV[0] =~ m/^start$/i)
+ if (($ARGV[0] =~ m/^start$/i) || ($ARGV[0] =~ m/^reload$/i))
{
if (!defined(($mysqld= my_which($opt_mysqld))) && $opt_verbose)
{
@@ -147,7 +149,11 @@ sub main
print "This is OK, if you are using option \"mysqld=...\" in ";
print "groups [mysqldN] separately for each.\n\n";
}
- start_mysqlds();
+ if ($ARGV[0] =~ m/^start$/i) {
+ start_mysqlds();
+ } elsif ($ARGV[0] =~ m/^reload$/i) {
+ reload_mysqlds();
+ }
}
else
{
@@ -303,6 +309,39 @@ sub start_mysqlds()
$com= "$mysqld";
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
{
+ if ("--datadir=" eq substr($options[$j], 0, 10)) {
+ $datadir = $options[$j];
+ $datadir =~ s/\-\-datadir\=//;
+ eval { mkpath($datadir) };
+ if ($@) {
+ print "FATAL ERROR: Cannot create data directory $datadir: $!\n";
+ exit(1);
+ }
+ if (! -d $datadir."/mysql") {
+ if (-w $datadir) {
+ print "\n\nInstalling new database in $datadir\n\n";
+ $install_cmd="@bindir@/mysql_install_db ";
+ $install_cmd.="--user=mysql ";
+ $install_cmd.="--datadir=$datadir";
+ system($install_cmd);
+ } else {
+ print "\n";
+ print "FATAL ERROR: Tried to create mysqld under group [$groups[$i]],\n";
+ print "but the data directory is not writable.\n";
+ print "data directory used: $datadir\n";
+ exit(1);
+ }
+ }
+
+ if (! -d $datadir."/mysql") {
+ print "\n";
+ print "FATAL ERROR: Tried to start mysqld under group [$groups[$i]],\n";
+ print "but no data directory was found or could be created.\n";
+ print "data directory used: $datadir\n";
+ exit(1);
+ }
+ }
+
if ("--mysqladmin=" eq substr($options[$j], 0, 13))
{
# catch this and ignore
@@ -367,6 +406,58 @@ sub start_mysqlds()
}
####
+#### reload multiple servers
+####
+
+sub reload_mysqlds()
+{
+ my (@groups, $com, $tmp, $i, @options, $j);
+
+ if (!$opt_no_log)
+ {
+ w2log("\nReloading MySQL servers\n","$opt_log",0,0);
+ }
+ else
+ {
+ print "\nReloading MySQL servers\n";
+ }
+ @groups = &find_groups($groupids);
+ for ($i = 0; defined($groups[$i]); $i++)
+ {
+ $mysqld_server = $mysqld;
+ @options = defaults_for_group($groups[$i]);
+
+ for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
+ {
+ if ("--mysqladmin=" eq substr($options[$j], 0, 13))
+ {
+ # catch this and ignore
+ }
+ elsif ("--mysqld=" eq substr($options[$j], 0, 9))
+ {
+ $options[$j] =~ s/\-\-mysqld\=//;
+ $mysqld_server = $options[$j];
+ }
+ elsif ("--pid-file=" eq substr($options[$j], 0, 11))
+ {
+ $options[$j] =~ s/\-\-pid-file\=//;
+ $pid_file = $options[$j];
+ }
+ }
+ $com = "killproc -p $pid_file -HUP $mysqld_server";
+ system($com);
+
+ $com = "touch $pid_file";
+ system($com);
+ }
+ if (!$i && !$opt_no_log)
+ {
+ w2log("No MySQL servers to be reloaded (check your GNRs)",
+ "$opt_log", 0, 0);
+ }
+}
+
+###
#### stop multiple servers
####
@@ -729,7 +820,7 @@ sub usage
$my_progname version $VER by Jani Tolonen
Description:
-$my_progname can be used to start, or stop any number of separate
+$my_progname can be used to start, reload, or stop any number of separate
mysqld processes running in different TCP/IP ports and UNIX sockets.
$my_progname can read group [mysqld_multi] from my.cnf file. You may
@@ -747,16 +838,16 @@ starting from 1. These groups should be
[mysqld] group, but with those port, socket and any other options
that are to be used with each separate mysqld process. The number
in the group name has another function; it can be used for starting,
-stopping, or reporting any specific mysqld server.
+reloading, stopping, or reporting any specific mysqld server.
-Usage: $my_progname [OPTIONS] {start|stop|report} [GNR,GNR,GNR...]
-or $my_progname [OPTIONS] {start|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
+Usage: $my_progname [OPTIONS] {start|reload|stop|report} [GNR,GNR,GNR...]
+or $my_progname [OPTIONS] {start|reload|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
-The GNR means the group number. You can start, stop or report any GNR,
+The GNR means the group number. You can start, reload, stop or report any GNR,
or several of them at the same time. (See --example) The GNRs list can
be comma separated or a dash combined. The latter means that all the
GNRs between GNR1-GNR2 will be affected. Without GNR argument all the
-groups found will either be started, stopped, or reported. Note that
+groups found will either be started, reloaded, stopped, or reported. Note that
syntax for specifying GNRs must appear without spaces.
Options:
++++++ mysql-community-server-5.1.53-ssl-compilation-fix.patch ++++++
PATCH-P0-FIX-UPSTREAM: Incompatible types in ssl
Sometimes argument of this function can be const and function doesn't change
the variable so there is no reason not to make that argument const;
Maintainer: Michal Hrusecky
Index: vio/viosslfactories.c
===================================================================
--- vio/viosslfactories.c.orig
+++ vio/viosslfactories.c
@@ -198,7 +198,7 @@ static void check_ssl_init()
static struct st_VioSSLFd *
new_VioSSLFd(const char *key_file, const char *cert_file,
const char *ca_file, const char *ca_path,
- const char *cipher, SSL_METHOD *method,
+ const char *cipher, const SSL_METHOD *method,
enum enum_ssl_init_error* error)
{
DH *dh;
++++++ rc.mysql-multi ++++++
--- /var/tmp/diff_new_pack.tRP58Q/_old 2011-07-01 23:03:56.000000000 +0200
+++ /var/tmp/diff_new_pack.tRP58Q/_new 2011-07-01 23:03:56.000000000 +0200
@@ -251,6 +251,8 @@
datadir=/var/lib/mysql
mysql_daemon_user=mysql
mysql_daemon_group=mysql
+ mkdir -m 755 -p /var/run/mysql
+ chown $mysql_daemon_user:$mysql_daemon_group /var/run/mysql
pid_file=/var/run/mysql/mysqld.pid
socket=/var/run/mysql/mysql.sock
print_defaults=/usr/bin/my_print_defaults
@@ -278,12 +280,12 @@
# prepare tmp dir
if [ "$TMPDIR" ] && [ -d "$TMPDIR" ] && \
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TMPDIR"
fi
TMPDIR="`mktemp -d -p /var/tmp mysql.XXXXXX | tee /var/run/mysql/tmpdir`"
[ -z "$TMPDIR" ] || chown "$mysql_daemon_user:$mysql_daemon_group" "$TMPDIR"
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $TMPDIR"
rc_failed; rc_status -v; rc_exit;
}
@@ -377,7 +379,7 @@
fi
protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`"
[ -z "$protected" ] || chown "$mysql_daemon_user:$mysql_daemon_group" "$protected"
- [ "`ls -ld "$protected" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
+ [ "`ls -ld "$protected" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $protected" | tee -a "$log_upgrade"
rc_failed; rc_status -v; rc_exit;
}
@@ -442,7 +444,7 @@
echo -n "Shutting down service MySQL "
kill_mysql
if [ "$TMPDIR" ] && [ -d "$TMPDIR" ] && \
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TMPDIR"
fi
# Remember status and be verbose
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org