forked from pool/mariadb
Accepting request 184338 from server:database
- avoiding file conflicts with mytop - updated to MariaDB 5.5.32 * Release notes: http://kb.askmonty.org/v/mariadb-5532-release-notes * Changelog: http://kb.askmonty.org/v/mariadb-5532-changelog - enable support for libaio (bnc#796164) - better rights for logdir (bnc#789263) - Moving directory with configuration to upstream default (/etc/mysql -> /etc/my.cnf.d) - New default config file - updated to MariaDB 5.5.31 * Release notes: http://kb.askmonty.org/v/mariadb-5531-release-notes * Changelog: http://kb.askmonty.org/v/mariadb-5531-changelog - cleanups in upgrade procedure - little cleanup of systemd - updated to MariaDB 5.5.30 * Release notes: http://kb.askmonty.org/v/mariadb-5530-release-notes * Changelog: http://kb.askmonty.org/v/mariadb-5530-changelog OBS-URL: https://build.opensuse.org/request/show/184338 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=29
This commit is contained in:
commit
84cdc1899a
@ -109,6 +109,7 @@ BuildMySQL() {
|
||||
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
|
||||
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
|
||||
-DWITH_EMBEDDED_SERVER=true \
|
||||
-DCOMPILATION_COMMENT="openSUSE package" \
|
||||
-DDENABLE_DOWNLOADS=false \
|
||||
"$@" ..
|
||||
make %{?jobs:-j%jobs}
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9d7787ba1d8fcb24323d602ecf38185504f9b0edfca9e00533045c88867a9c42
|
||||
size 220
|
||||
oid sha256:b2b4528bfd705dccf6be532a58ace71daff468b7e2777a01f569836a29552488
|
||||
size 323
|
||||
|
25
install.inc
25
install.inc
@ -10,6 +10,9 @@ install -m 644 _build/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld.sym
|
||||
# remove handler socket client
|
||||
rm -f %buildroot%_libdir/libhsclient*
|
||||
rm -f %buildroot%_bindir/hsclient*
|
||||
if [ -f "%{buildroot}%{_bindir}/mytop" ]; then
|
||||
mv %{buildroot}%{_bindir}/mytop %{buildroot}%{_bindir}/%{name}_mytop
|
||||
fi
|
||||
rm -f %buildroot%_libdir/mysql/plugin/handlersocket.so
|
||||
# remove most static libs (FIXME: don't build them at all...)
|
||||
rm -f %buildroot%_libdir/libmysqlclient*a
|
||||
@ -56,11 +59,14 @@ filelist mysqlslap >mysql-bench.files
|
||||
filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
|
||||
# all binaries that don't need to be in a "default" install (mysql.rpm +
|
||||
# mysql-client.rpm)
|
||||
filelist msql2mysql mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded mytop hsclient >mysql-tools.files
|
||||
filelist msql2mysql mysql_config_editor mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files
|
||||
filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
|
||||
filelist ndb_mgmd >mysql-ndb-management.files
|
||||
filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
|
||||
filelist ndb_{cpcd,delete_all,drop_index,index_stat,print_file,redo_log_reader,drop_table} ndbinfo_select_all memcached >mysql-ndb-extra.files
|
||||
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.ini`" ] || echo '/usr/share/mysql/*.ini' >> mysql.files
|
||||
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.cnf`" ] || echo '/usr/share/mysql/*.cnf' >> mysql.files
|
||||
[ \! -f "%buildroot/usr/share/%name"/dictionary.txt ] || echo "/usr/share/%name/dictionary.txt" >> mysql.files
|
||||
errmsg_list()
|
||||
{
|
||||
echo '%%defattr(-, root, root)'
|
||||
@ -87,7 +93,7 @@ install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
|
||||
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
|
||||
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
|
||||
%endif
|
||||
install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf
|
||||
install -m 660 %{S:14} %buildroot/etc/my.cnf
|
||||
install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
|
||||
for i in "${DOCS[@]}"; do
|
||||
install -m 644 "${i}" "${DOCDIR}" || true
|
||||
@ -129,15 +135,15 @@ cat mysql-ndb-storage.files mysql-ndb-management.files \
|
||||
done
|
||||
%endif
|
||||
%if ! 0%{prefered} > 0
|
||||
cat libmysqlclient-devel.files | while read tmp; do
|
||||
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
|
||||
cd '%buildroot'
|
||||
rm -f .$tmp
|
||||
rm -f ."$tmp"
|
||||
done
|
||||
rm -rf '%buildroot'/%_libdir/libmysqld.*
|
||||
rm -rf '%buildroot'/%_libdir/*.la
|
||||
rm -rf '%buildroot'/%_libdir/*.so
|
||||
rm -rf '%buildroot'/%_datadir/man/*/mysql_config.1*
|
||||
rm -rf '%buildroot'/%_includedir
|
||||
rm -rf '%buildroot'/%_datadir/man/*/mysql_config*
|
||||
rm -rf '%buildroot'/%_datadir/aclocal
|
||||
rm -rf '%buildroot'/%_libdir/*.a
|
||||
%endif
|
||||
@ -152,8 +158,9 @@ ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6
|
||||
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
|
||||
mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
|
||||
fi
|
||||
mkdir -p '%buildroot'/etc/mysql
|
||||
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/mysql -xvf -
|
||||
mkdir -p '%buildroot'/etc/my.cnf.d
|
||||
rm -rf '%buildroot'/etc/my.cnf.d/*
|
||||
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/my.cnf.d -xvf -
|
||||
if [ -z "`ls '%buildroot'/usr/share/info/mysql.info*`" ]; then
|
||||
install -D -m 0644 Docs/mysql.info "%buildroot/usr/share/info/mysql.info"
|
||||
gzip -9 "%buildroot/usr/share/info/mysql.info"
|
||||
@ -163,6 +170,6 @@ if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so`" ]; then
|
||||
echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files
|
||||
echo '%%_libdir/mysql/plugin/dialog*.so' >> mysql-client.files
|
||||
fi
|
||||
rm -rf '%buildroot'/etc/my.cnf.d
|
||||
rm -rf '%buildroot'/usr/share/doc/%{name}-%{version}
|
||||
rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}*
|
||||
rm -rf '%buildroot'/usr/share/mysql/solaris
|
||||
rm -rf '%buildroot'/usr/share/mysql/SELinux
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d6df248b16736c2d3e9f163bb672390d59625f28520410bb746cf8a6d843dfc
|
||||
size 21299322
|
3
mariadb-5.5.32.tar.bz2
Normal file
3
mariadb-5.5.32.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6ae38e45391899f5377ed75e6974100af165f654842517db2b53033159257d72
|
||||
size 21314660
|
@ -1,3 +1,58 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 25 13:08:06 CEST 2013 - mhrusecky@suse.cz
|
||||
|
||||
- avoiding file conflicts with mytop
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 23 10:28:10 CEST 2013 - mhrusecky@suse.cz
|
||||
|
||||
- updated to MariaDB 5.5.32
|
||||
* Release notes:
|
||||
http://kb.askmonty.org/v/mariadb-5532-release-notes
|
||||
* Changelog:
|
||||
http://kb.askmonty.org/v/mariadb-5532-changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 6 13:22:37 UTC 2013 - mhrusecky@suse.com
|
||||
|
||||
- enable support for libaio (bnc#796164)
|
||||
- better rights for logdir (bnc#789263)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 5 08:48:42 UTC 2013 - mhrusecky@suse.com
|
||||
|
||||
- Moving directory with configuration to upstream default
|
||||
(/etc/mysql -> /etc/my.cnf.d)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 5 05:51:45 UTC 2013 - mhrusecky@suse.com
|
||||
|
||||
- New default config file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 24 08:27:48 CEST 2013 - mhrusecky@suse.cz
|
||||
|
||||
- updated to MariaDB 5.5.31
|
||||
* Release notes:
|
||||
http://kb.askmonty.org/v/mariadb-5531-release-notes
|
||||
* Changelog:
|
||||
http://kb.askmonty.org/v/mariadb-5531-changelog
|
||||
- cleanups in upgrade procedure
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 26 13:56:50 CET 2013 - mhrusecky@suse.cz
|
||||
|
||||
- little cleanup of systemd
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 26 11:11:37 CET 2013 - mhrusecky@suse.cz
|
||||
|
||||
- updated to MariaDB 5.5.30
|
||||
* Release notes:
|
||||
http://kb.askmonty.org/v/mariadb-5530-release-notes
|
||||
* Changelog:
|
||||
http://kb.askmonty.org/v/mariadb-5530-changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 12 16:03:07 UTC 2013 - tpaszkowski@suse.com
|
||||
|
||||
|
48
mariadb.spec
48
mariadb.spec
@ -35,9 +35,9 @@ Name: mariadb
|
||||
Summary: Server part of MariaDB
|
||||
License: SUSE-GPL-2.0-with-FLOSS-exception
|
||||
Group: Productivity/Databases/Servers
|
||||
Version: 5.5.29
|
||||
Version: 5.5.32
|
||||
Release: 0
|
||||
%define srv_vers 5.5.29
|
||||
%define srv_vers 5.5.32
|
||||
Url: http://www.mariab.org
|
||||
Source: mariadb-%{version}.tar.bz2
|
||||
Source2: baselibs.conf
|
||||
@ -51,6 +51,7 @@ Source10: build.inc
|
||||
Source11: install.inc
|
||||
Source12: series
|
||||
Source13: configuration-tweaks.tar.bz2
|
||||
Source14: my.ini
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if 0%{?suse_version}
|
||||
PreReq: pwdutils
|
||||
@ -60,6 +61,8 @@ BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libedit-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: openssl-devel
|
||||
@ -77,9 +80,6 @@ BuildRequires: fdupes
|
||||
%if 0%{?fedora_version} > 11
|
||||
BuildRequires: sqlite
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1210
|
||||
BuildRequires: systemd
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1030
|
||||
Recommends: logrotate
|
||||
%else
|
||||
@ -91,6 +91,7 @@ Requires: %{name}-errormessages = %version
|
||||
Requires: perl-base
|
||||
# systemd requirements for openSUSE >= 12.1
|
||||
%if 0%{?suse_version} >= 1210
|
||||
BuildRequires: systemd
|
||||
%{?systemd_requires}
|
||||
%endif
|
||||
Provides: mysql = %{srv_vers}
|
||||
@ -171,6 +172,9 @@ languages and applications need to dynamically load and use MariaDB.
|
||||
Summary: Client for MariaDB
|
||||
Group: Productivity/Databases/Clients
|
||||
Provides: mysql-client = %{srv_vers}
|
||||
%if 0%{?suse_version}
|
||||
PreReq: pwdutils
|
||||
%endif
|
||||
%if 0%{?use_extra_provides} > 0
|
||||
Provides: %{extra_provides}-client = %{version}
|
||||
Obsoletes: %{extra_provides}-client < %{version}
|
||||
@ -385,6 +389,12 @@ rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result
|
||||
%service_add_pre mysql.service
|
||||
%endif
|
||||
|
||||
%pre client
|
||||
/usr/sbin/groupadd -r mysql >/dev/null 2>/dev/null || :
|
||||
/usr/sbin/useradd -r -o -g mysql -u 60 -c "MySQL database admin" \
|
||||
-s /bin/false -d /var/lib/mysql mysql 2> /dev/null || :
|
||||
/usr/sbin/usermod -g mysql -s /bin/false mysql || :
|
||||
|
||||
%post
|
||||
# systemd requirment
|
||||
%if 0%{?suse_version} >= 1210
|
||||
@ -396,10 +406,6 @@ rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result
|
||||
#######################################################################
|
||||
%preun
|
||||
[ $1 = 1 ] || /usr/sbin/rcmysql stop
|
||||
# systemd requirment
|
||||
%if 0%{?suse_version} >= 1210
|
||||
%service_del_preun mysql.service
|
||||
%endif
|
||||
|
||||
%pretrans -p <lua>
|
||||
if posix.access("/usr/sbin/rcmysql", "x") then
|
||||
@ -411,16 +417,8 @@ if posix.access("/usr/sbin/rcmysql", "x") then
|
||||
end
|
||||
end
|
||||
|
||||
dbfile="var/mysql/mysql/db.ISM"
|
||||
olddir="var/mysql"
|
||||
newdir="var/lib/mysql"
|
||||
-- Do the database files still belong to root (very old installation)?
|
||||
-- Change ownerships
|
||||
if posix.stat(dbfile, "uid") == 0 then
|
||||
os.execute("/bin/chown -Rv mysql:mysql var/mysql/")
|
||||
end
|
||||
|
||||
%posttrans
|
||||
[ -z "`ls %{_infodir}/mysql.info.* 2> /dev/null`" ] || \
|
||||
%install_info --info-dir=%{_infodir} %{_infodir}/mysql.info.*
|
||||
if [ -d /var/lib/mysql ]; then
|
||||
touch /var/lib/mysql/.run-mysql_upgrade
|
||||
@ -463,11 +461,11 @@ fi
|
||||
if [ $1 = 0 ]; then
|
||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/mysql.info.*
|
||||
%{insserv_cleanup}
|
||||
rm -f "/var/lib/systemd/migrated/mysql.service"
|
||||
if [ -x /usr/bin/systemctl ]; then
|
||||
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
fi
|
||||
fi
|
||||
# systemd requirment
|
||||
%if 0%{?suse_version} >= 1210
|
||||
%service_del_postun mysql.service
|
||||
%endif
|
||||
|
||||
#######################################################################
|
||||
# Files section #
|
||||
@ -476,8 +474,8 @@ fi
|
||||
%files -f mysql.files
|
||||
%defattr(-, root, root)
|
||||
%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf
|
||||
%dir %attr(0750, root, mysql) /etc/mysql
|
||||
%config(noreplace) %attr(0640, root, mysql) /etc/mysql/*
|
||||
%dir %attr(0750, root, mysql) /etc/my.cnf.d
|
||||
%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf.d/*
|
||||
%config /etc/logrotate.d/mysql
|
||||
%doc %{_defaultdocdir}/%{name}
|
||||
%doc %{_infodir}/mysql.info.*
|
||||
@ -486,8 +484,6 @@ fi
|
||||
%dir /usr/share/%{name}
|
||||
%dir /usr/share/mysql
|
||||
/usr/share/%{name}/charsets/
|
||||
/usr/share/mysql/*.cnf
|
||||
/usr/share/mysql/*.ini
|
||||
/usr/share/%{name}/*.sql
|
||||
%ghost %dir %attr(755,mysql,mysql)/var/run/mysql
|
||||
%dir %{_libdir}/mysql
|
||||
|
103
my.ini
Normal file
103
my.ini
Normal file
@ -0,0 +1,103 @@
|
||||
# This is default example of MySQL/MariaDB configuration provided with openSUSE package
|
||||
# It is based on upstream defaults with some additional examples.
|
||||
|
||||
|
||||
# The following options will be passed to all MariaDB clients
|
||||
[client]
|
||||
# password = your_password
|
||||
# port = 3306
|
||||
# socket = /var/run/mysql/mysql.sock
|
||||
|
||||
[mysqld]
|
||||
|
||||
# Remove leading # if you don't want to listen on network (only socket - safer)
|
||||
# skip-networking
|
||||
|
||||
# Remove leading # and set to the amount of RAM for the most important data
|
||||
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
|
||||
# innodb_buffer_pool_size = 128M
|
||||
|
||||
# Using newer file format that supports dynamic and compressed row formats.
|
||||
# If you are using replication you have to make sure, that these options are
|
||||
# set everywhere the same way (probably comment them out is the easiest way)
|
||||
innodb_file_format=Barracuda
|
||||
innodb_file_per_table=ON
|
||||
|
||||
# Remove leading # to turn on a very important data integrity option: logging
|
||||
# changes to the binary log between backups.
|
||||
# log_bin=mysql-bin
|
||||
# binlog_format=mixed
|
||||
|
||||
# Remove leading # if you want to store your database elsewhere
|
||||
# datadir = /var/lib/mysql
|
||||
|
||||
# required unique id between 1 and 2^32 - 1
|
||||
# defaults to 1 if master-host is not set
|
||||
# but will not function as a master if omitted
|
||||
server-id = 1
|
||||
|
||||
# These are commonly set, remove the # and set as required.
|
||||
# port = 3306
|
||||
# socket = /var/run/mysql/mysql.sock
|
||||
|
||||
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
|
||||
# if all processes that need to connect to mysqld run on the same host.
|
||||
# All interaction with mysqld must be made via Unix sockets or named pipes.
|
||||
# Note that using this option without enabling named pipes on Windows
|
||||
# (via the "enable-named-pipe" option) will render mysqld useless!
|
||||
#
|
||||
# skip-networking
|
||||
|
||||
# Remove leading # to set options mainly useful for reporting servers.
|
||||
# The server defaults are faster for transactions and fast SELECTs.
|
||||
# Adjust sizes as needed, experiment to find the optimal values.
|
||||
# join_buffer_size = 128M
|
||||
# sort_buffer_size = 2M
|
||||
# read_rnd_buffer_size = 2M
|
||||
|
||||
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
|
||||
|
||||
[mysqld_multi]
|
||||
mysqld = /usr/bin/mysqld_safe
|
||||
mysqladmin = /usr/bin/mysqladmin
|
||||
log = /var/log/mysqld_multi.log
|
||||
|
||||
# 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 = 3306
|
||||
# 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
|
||||
|
||||
!include_dir /etc/mysql
|
||||
!include_dir /etc/my.cnf.d
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab62b051b2d913334d421d92dfbe156e55e5571fd163f57d1c58587550ae9341
|
||||
size 11762
|
||||
oid sha256:2b34d03c24091c0a8120aae545ac9f0959b4167c21e7a1954819836bdf66a673
|
||||
size 11823
|
||||
|
@ -91,9 +91,14 @@ wait_for_socket()
|
||||
# See https://bugzilla.novell.com/show_bug.cgi?id=223209
|
||||
kill_mysql ()
|
||||
{
|
||||
local pid exe
|
||||
test -e "$pid_file" || return 7 # not running
|
||||
pid=`cat "$pid_file"` || return 4 # insufficient privileges
|
||||
local pid exe test_pid_file
|
||||
if [ "$1" ]; then
|
||||
test_pid_file="$1"
|
||||
else
|
||||
test_pid_file="$pid_file"
|
||||
fi
|
||||
test -e "$test_pid_file" || return 7 # not running
|
||||
pid=`cat "$test_pid_file"` || return 4 # insufficient privileges
|
||||
if ! test -e /proc/version; then
|
||||
mount -n -t proc proc /proc
|
||||
test -e /proc/version || return 100
|
||||
@ -106,10 +111,10 @@ kill_mysql ()
|
||||
kill -CONT "$pid"
|
||||
for i in `seq 3000`; do
|
||||
# mysqld removes its pid file
|
||||
test -e "$pid_file" || return 0
|
||||
test -e "$test_pid_file" || return 0
|
||||
LC_ALL=C sleep 0.1
|
||||
done
|
||||
test -e "$pid_file" || return 0
|
||||
test -e "$test_pid_file" || return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
@ -324,7 +329,7 @@ else
|
||||
log_dir="`dirname "$i"`"
|
||||
if [ \! -d "$log_dir" ]; then
|
||||
mkdir -p "$log_dir"
|
||||
chmod 660 "$log_dir"
|
||||
chmod 770 "$log_dir"
|
||||
fi
|
||||
done
|
||||
|
||||
@ -339,12 +344,14 @@ else
|
||||
check_obsolete
|
||||
# Run mysql_upgrade on every package install/upgrade. Not allways
|
||||
# necessary, but doesn't do any harm.
|
||||
if test -f "$datadir/.run-mysql_upgrade" ; then
|
||||
echo >> "$log_upgrade"
|
||||
if [ -f "/var/lib/mysql/.run-mysql_upgrade" ]; then
|
||||
echo > "$log_upgrade"
|
||||
echo "`LANG="" date` - upgrading MySQL..." >> "$log_upgrade"
|
||||
echo >> "$log_upgrade"
|
||||
echo "Will update MySQL now, if you encounter any problems, please read following file:" | tee -a "$log_upgrade"
|
||||
echo " /usr/share/doc/packages/mysql/README.SuSE" | tee -a "$log_upgrade"
|
||||
sed -i -e 's|^\([^#]*skip-locking\)|#\1\nskip-external-locking|' \
|
||||
-e 's|^\([^#]*skip-federated\)|#\1|' /etc/my.cnf
|
||||
# Check logs for inconsistencies
|
||||
SRCLOGS=""
|
||||
ALL_SRCLOGS=""
|
||||
@ -364,10 +371,13 @@ else
|
||||
fi
|
||||
fi
|
||||
check_obsolete >> "$log_upgrade"
|
||||
|
||||
# instead of running mysqld --bootstrap, which wouldn't allow
|
||||
# us to run mysql_upgrade, we start a full-featured server with
|
||||
# --skip-grant-tables and restict access to it by unix
|
||||
# permissions of the named socket
|
||||
|
||||
|
||||
protected="`cat /var/run/mysql/protecteddir 2> /dev/null`"
|
||||
if [ -d "$protected" ]; then
|
||||
pid="`cat "$protected/mysqld.pid" 2> /dev/null`"
|
||||
@ -375,6 +385,7 @@ else
|
||||
[ "`readlink "/proc/$pid/exe" | grep "mysql"`" ]; then
|
||||
echo "Can't update as another updating process is currently running" | tee -a "$log_upgrade"
|
||||
echo "Please check process $pid and terminate it before restarting MySQL" | tee -a "$log_upgrade"
|
||||
touch /var/lib/mysql/.run-mysql_upgrade
|
||||
rc_failed; rc_status -v; rc_exit;
|
||||
else
|
||||
rm -rf "$protected"
|
||||
@ -382,9 +393,16 @@ else
|
||||
fi
|
||||
protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`"
|
||||
export TMPDIR="$TEMPDIR"
|
||||
|
||||
# Run upgrade, double check
|
||||
# We need to restart mysql every time as programs
|
||||
# reloads privileges tables, so we can get lock out
|
||||
for cmd in "/usr/bin/mysql_upgrade" \
|
||||
"/usr/bin/mysql_upgrade"; do
|
||||
[ -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:]]\+.*"`" ] || {
|
||||
echo "Can't create secure $protected" | tee -a "$log_upgrade"
|
||||
touch /var/lib/mysql/.run-mysql_upgrade
|
||||
rc_failed; rc_status -v; rc_exit;
|
||||
}
|
||||
|
||||
@ -403,21 +421,49 @@ else
|
||||
wait_for_socket "$protected/mysql.sock" || {
|
||||
echo "error: $protected/mysql.sock file didn't appeared... " | tee -a "$log_upgrade"
|
||||
echo " Try checking \"$log_upgrade_run\"... " | tee -a "$log_upgrade"
|
||||
touch /var/lib/mysql/.run-mysql_upgrade
|
||||
rc_failed; rc_status -v; rc_exit;
|
||||
}
|
||||
echo "Upgrading MySQL... " | tee -a "$log_upgrade"
|
||||
/usr/bin/mysql_upgrade \
|
||||
--socket="$protected/mysql.sock" | tee -a "$log_upgrade"
|
||||
if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; then
|
||||
echo "Rechecking whether everything is Ok... " | tee -a "$log_upgrade"
|
||||
LANG=C $cmd --no-defaults --force \
|
||||
--socket="$protected/mysql.sock" | \
|
||||
sed -e 's|^|\ \ \ |' | \
|
||||
tee -a "$log_upgrade"
|
||||
else
|
||||
echo "Upgrading MySQL... " | tee -a "$log_upgrade"
|
||||
LANG=C $cmd --no-defaults --force \
|
||||
--socket="$protected/mysql.sock" | \
|
||||
sed -e 's|^|\ \ \ |' \
|
||||
-e 's|error|info|' \
|
||||
-e 's|\(Table\ upgrade\ required.\).*|\1|' | \
|
||||
tee -a "$log_upgrade"
|
||||
fi
|
||||
[ "$PIPESTATUS" -ne 0 ] && {
|
||||
rc_failed; rc_status -v;
|
||||
kill -TERM "`cat $protected/mysqld.pid`"
|
||||
kill_mysql "$protected/mysqld.pid"
|
||||
rc_exit; }
|
||||
kill -TERM "`cat $protected/mysqld.pid`"
|
||||
|
||||
kill_mysql "$protected/mysqld.pid" || {
|
||||
echo "error: Can't stop protected MySQL... " | tee -a "$log_upgrade"
|
||||
rc_failed; rc_status -v;
|
||||
kill_mysql "$protected/mysqld.pid"
|
||||
rc_exit; }
|
||||
|
||||
# Everything went fine
|
||||
if [ -z "`grep REPAIR "$log_upgrade"`" ] && \
|
||||
[ -z "`grep "Table\ upgrade\ required" "$log_upgrade"`" ]; then
|
||||
break
|
||||
fi
|
||||
|
||||
done # end of upgrade
|
||||
|
||||
rm -rf "$protected"
|
||||
# Fix ownerships and permissions for $datadir
|
||||
chmod 750 "$datadir"
|
||||
chown -R "$mysql_daemon_user:$mysql_daemon_group" "$datadir"
|
||||
rm -f "$datadir/.run-mysql_upgrade" \
|
||||
rm -f /var/lib/mysql/.run-mysql_upgrade \
|
||||
rm -f /var/lib/mysql/.force_upgrade \
|
||||
"$datadir"/{update-stamp-*,mysql/stamp-4.1} # used in the past
|
||||
chown "$mysql_daemon_user:$mysql_daemon_group" "$log_upgrade"
|
||||
chmod 640 "$log_upgrade"
|
||||
|
2
series
2
series
@ -5,7 +5,7 @@ mariadb-5.1.50-strncat-overflow.patch
|
||||
mariadb-5.5.28-install_db-quiet.patch
|
||||
mysql-community-server-5.1.51-mysql_config.patch
|
||||
mariadb-5.5.25-mysqld_multi-features.patch
|
||||
mariadb-5.1.50-upgrade-exit-status.patch
|
||||
mariadb-5.5.32-upgrade-exit-status.patch
|
||||
mariadb-5.2.3-cnf.patch
|
||||
mysql-community-server-5.5.6-safe-process-in-bin.patch
|
||||
mariadb-5.5.28-group.patch
|
||||
|
Loading…
Reference in New Issue
Block a user