Hello community,

here is the log from the commit of package mysql-community-server.1914 for 
openSUSE:12.2:Update checked in at 2013-08-13 22:31:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/mysql-community-server.1914 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.mysql-community-server.1914.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mysql-community-server.1914"

Changes:
--------
New Changes file:

--- /dev/null   2013-07-23 23:44:04.804033756 +0200
+++ 
/work/SRC/openSUSE:12.2:Update/.mysql-community-server.1914.new/mysql-community-server.changes
      2013-08-13 22:31:58.000000000 +0200
@@ -0,0 +1,1889 @@
+-------------------------------------------------------------------
+Sun Aug  4 22:17:01 CEST 2013 - mhruse...@suse.cz
+
+- updated to 5.5.32
+  * see
+    http://dev.mysql.com/doc/refman/5.5/en/news-5-5-32.html
+    http://dev.mysql.com/doc/refman/5.5/en/news-5-5-31.html
+    http://dev.mysql.com/doc/refman/5.5/en/news-5-5-30.html
+    http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html
+  * fixes multiple security issues (bnc#830086)
+- get rid of info which is not info (bnc#747811)
+- minor polishing of spec/installation
+- avoiding file conflicts with mytop
+- better fix for hardcoded libdir issue
+- making mysqldump work with MySQL 5.0 (bnc#768832)
+- fixed log rights (bnc#789263 and bnc#803040)
+- binlog disabled in default configuration (bnc#791863)
+- fixed dependencies for client package (bnc#780019)
+
+-------------------------------------------------------------------
+Wed Dec 19 10:48:53 CET 2012 - mhruse...@suse.cz
+
+- updated to 5.5.28, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html
+- fixed CVE-2012-5611 (bnc#792444)
+
+-------------------------------------------------------------------
+Mon Aug 20 14:35:46 UTC 2012 - meiss...@suse.com
+
+- require errormessages in the same version also in libmysqld18,
+  doing again after messed up merge. bnc#712749
+
+-------------------------------------------------------------------
+Mon Jul  9 15:07:58 CEST 2012 - mhruse...@suse.cz
+
+- updated to 5.5.25a
+  * fixes regression bug in the optimizer could cause excessive disk
+    usage for UPDATE statements. (upstream#65745, bnc#770403)
+
+-------------------------------------------------------------------
+Mon Jul  2 15:01:10 CEST 2012 - mhruse...@suse.cz
+
+- fixed path for error messages
+- previous patch merged in
+
+-------------------------------------------------------------------
+Tue Jun 26 19:51:35 UTC 2012 - stefan.bru...@rwth-aachen.de
+
+- initialize errmsgs pointer (bnc#769131)
+
+-------------------------------------------------------------------
+Tue Jun 19 22:28:24 UTC 2012 - stefan.bru...@rwth-aachen.de
+
+- split off files containing error messages, needed by both
+  standalone and embedded server (bnc#712749)
+- bail out early on broken error message files, instead of
+  failing silently later ( http://bugs.mysql.com/bug.php?id=39693 )
+
+-------------------------------------------------------------------
+Tue Jun 12 08:19:02 CEST 2012 - mhruse...@suse.cz
+
+- updated to 5.5.25, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html
+
+-------------------------------------------------------------------
+Tue Mar 27 08:31:58 CEST 2012 - mhruse...@suse.cz
+
+- updated to 5.5.22, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html
+
+-------------------------------------------------------------------
+Fri Mar 16 15:01:14 UTC 2012 - dval...@suse.com
+
+- fix libdir for ppc64 
+
+-------------------------------------------------------------------
+Wed Mar 14 15:57:38 UTC 2012 - mhruse...@suse.cz
+
+- better va_list handling (fixes build on arm)
+
+-------------------------------------------------------------------
+Wed Feb 22 14:06:55 CET 2012 - mhruse...@suse.cz
+
+- updated to 5.5.21, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html
+
+-------------------------------------------------------------------
+Wed Feb 15 10:54:25 UTC 2012 - cfarr...@suse.com
+
+- license update: SUSE-GPL-2.0-with-FLOSS-exception
+
+-------------------------------------------------------------------
+Wed Feb  1 18:22:20 UTC 2012 - mhruse...@suse.cz
+
+- updated to 5.5.20, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html
+
+-------------------------------------------------------------------
+Mon Jan 30 08:36:04 UTC 2012 - mhruse...@suse.cz
+
+- adding /usr/share/aclocal to the files list
+- renaming *-debug package to *-debug-version to avoid conflicts
+
+-------------------------------------------------------------------
+Mon Dec  5 17:54:38 CET 2011 - mhruse...@suse.cz
+
+- migrated to the common packaging
+- updated to 5.5.18, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html
+
+-------------------------------------------------------------------
+Wed Nov  2 12:53:30 UTC 2011 - bku...@suse.com
+
+- Fix pretrans script in spec file to use RPM embedded LUA.
+
+-------------------------------------------------------------------
+Thu Oct 20 19:03:22 UTC 2011 - a...@suse.de
+
+- Add empty line after libmysqld18 postun, so that rpm does not
+  use the next line as argument.
+
+-------------------------------------------------------------------
+Tue Oct 18 14:23:10 CEST 2011 - mhruse...@suse.cz
+
+- re-adding static mysql user id
+
+-------------------------------------------------------------------
+Sun Oct  2 15:38:26 CEST 2011 - mhruse...@suse.cz
+
+- updated to 5.5.16, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html
+
+-------------------------------------------------------------------
+Sun Oct  2 13:42:43 CEST 2011 - mhruse...@suse.cz
+
+- passing correct types to add_plugin (fixes arm build)
+
+-------------------------------------------------------------------
+Fri Sep  9 20:11:57 UTC 2011 - jeng...@medozas.de
+
+- Update baselibs.conf to also provide libmysqlclient-devel-32bit
+- Add default_plugins.cnf/old-ssl.series to specfile
+  (osc warning:" (W) Attention, default_plugins.cnf is not
+  mentioned in spec files as source or patch.")
+
+-------------------------------------------------------------------
+Wed Sep  7 20:06:36 UTC 2011 - andrea.turr...@gmail.com
+
+- fixed typos from descriptions of mysql-community-server.spec
+
+-------------------------------------------------------------------
+Wed Aug 17 14:04:19 CEST 2011 - mhruse...@suse.cz
+
+- updated to 5.5.15, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html
+
+-------------------------------------------------------------------
+Wed Jul 27 13:26:39 CEST 2011 - mhruse...@suse.cz
+
+- updated to 5.5.14, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html
+
+-------------------------------------------------------------------
+Mon Jun  6 10:01:24 CEST 2011 - mhruse...@suse.cz
+
+- updated to 5.5.13, see
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html
+
+-------------------------------------------------------------------
+Wed May 25 08:12:35 UTC 2011 - co...@novell.com
+
+- adapt baselibs.conf
+
+-------------------------------------------------------------------
+Mon May 23 12:07:18 CEST 2011 - mhruse...@suse.cz
+
+- enable creation of libraries and devel packages
+
+-------------------------------------------------------------------
+Mon May  9 08:32:16 CEST 2011 - mhruse...@suse.cz
+
+- updated to 5.5.12, see
+  http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html
+  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html
+
+-------------------------------------------------------------------
+Mon Mar 14 14:56:48 CET 2011 - mhruse...@suse.cz
+
+- updated to 5.1.56, see
+  http://dev.mysql.com/doc/refman/5.1/en/news-5-1-56.html
+
+-------------------------------------------------------------------
++++ 1692 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:12.2:Update/.mysql-community-server.1914.new/mysql-community-server.changes

New:
----
  README.SuSE
  README.debug
  baselibs.conf
  build.inc
  configuration-tweaks.tar.bz2
  install.inc
  mysql-5.5.32.tar.bz2
  mysql-community-server.changes
  mysql-community-server.spec
  mysql-patches.tar.bz2
  mysql.SuSEfirewall2
  rc.mysql-multi
  series
  suse-test-run

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mysql-community-server.spec ++++++
++++ 612 lines (skipped)

++++++ README.SuSE ++++++
Notes about MySQL 5.1 package:
==============================

With MySQL 5.1 package we introduced some changes you may like to know. Most of
them will affect you only if you are upgrading from previous version and you
did some changes to your configuration.

1) Plugins:
===========

One of the new features in MySQL 5.1 is support for plugins. So some of the
storage engines are now shipped like that. You can use following plugins:

 - archive
 - blackhole
 - federated
 - example

InnoDB is still compiled as internal part of MySQL. If you are upgrading from
version 5.0 or if this is your first installation of MySQL 5.1, all plugins
will be enabled by default and you can disable them manually later (see
http://dev.mysql.com/doc/refman/5.1/en/uninstall-plugin.html).

With this change you need to remove skip-federated option from your my.cnf file
if you have changed it manually. This option was there by default in previous
versions of MySQL.

2) File locations:
==================

There were some changes in files locations. Most of them were made in the
default configuration file so if you are experiencing problems and you have
made some manual adjustments to your /etc/my.cnf, try to merge this file with
/etc/my.cnf.rpmnew.

File locations changes:
 - MySQL socket file and pid file were moved from /var/lib/mysql to more
   reasonable location ( /var/run/mysql ) by default.
 - MySQL log files are in /var/log/mysql.

3) BerkeleyDB:
==============

MySQL no longer contains BerkeleyDB as storage engine. There is no fix for that
and if you used it before, you have to migrate your data to different storage
engine BEFORE updating. This can be done for example using following command:

        ALTER TABLE foo ENGINE = INNODB;

4) MySQL Upgrade Log
====================

If you missed messages displayed during automatic MySQL database upgrade, you
can find them from now on in

        /var/log/mysql/mysqld-upgrade.log

++++++ README.debug ++++++
Debugging mysqld crashes
========================
Author: Michal Marek <mma...@suse.cz>
Last modified: 2006-07-31

Contents
--------
1) Query log
2) Coredumps and Backtraces
3) Trace files

In case your MySQL server crashes, here are some hints on what to
include in a bugreport at https://bugzilla.novell.com/ . Please report
there only bugs in the MySQL packages packaged by Novell/SUSE, bugs in
binaries / source provided by MySQL AB should be reported at
http://bugs.mysql.com/ .

1) Query log
------------
  Note: Skip this chapter if you already have an exact query that
  crashes the server

To find out which query possibly crashed the server, add the following
line to your /etc/my.cnf into section [mysqld]:

    log=/var/lib/mysql/mysqld-query.log

Mysqld then will, at some performance cost, log all queries into this
file. After a server crash, you can examine the queries from the time it
crashed and try to reproduce the crash with single queries (this might
not allways work, eg. if the crash is caused by some race condition).

Note that this log file may become extremly large, so if you decide to
attach it whole to the bugzilla, don't forget to

    bzip2 -k /var/lib/mysql/mysqld-query.log

and attach the bzipped file instead.

2) Coredumps and Backtraces
---------------------------
Another valuable information for the developers is the backtrace. The
easies way to get one is to let mysqld produce a coredump. Add the
following line to your /etc/my.cnf into section [mysqld]:

    core-file

  Note: this unfortunatelly doesn't work in SUSE Linux 10.1 and older.
  On these systems, you need to run safe_mysqld directly under user
  mysql:

    su - mysql
    mysqld_safe --socket=/var/lib/mysql/mysql.sock \
        --datadir=/var/lib/mysql --core-file &

The core file will be written to the /var/lib/mysql/ directory. I
suggest setting the kernel variable kernel.core_uses_pid to 1

    sysctl -w kernel.core_uses_pid=1

so that the coredumps don't overwrite each other if you experience
multiple crashes.

After you got the core file, install the gdb and mysql-debuginfo
packages and run

    gdb /usr/sbin/mysqld /var/lib/mysql/core
    (gdb) bt

Replace mysqld with the mysqld version you used (mysqld, mysqld-max or
mysqld-debug) and core with the actual name of the coredump.

3) Trace files
--------------
You'll need the mysqld-debug binary from the mysql-debug package to get
a trace file. Install the mysqld-debug package and the start mysqld
using following command:

    $ MYSQLD_DEBUG=yes rcmysql start

  Note: The init script doesn't automatically pick up the mysqld-debug
  binary (as it does with mysqld-max), because it is expected to be used
  just temporarily to help solving a particular problem.

The init script will then start mysqld-debug and add the --core-file,
--log and --debug options for you. The query log will be stored in

    /var/lib/mysql/myqld-query.log

and the trace file in

    /var/lib/mysql/mysqld.trace

If you don't like the options set by the init script, just put your own
into /etc/my.cnf and the init script will honor it. For information
about the --debug option, see "The DBUG Package":
http://dev.mysql.com/doc/refman/5.0/en/the-dbug-package.html .

The trace file will contain various debug information and function
calls/returns and will become _extremly_ huge after a while, so don't
attach it to bugzilla unless requested.

++++++ baselibs.conf ++++++
libmysqlclient18
libmysqlclient_r18
++++++ build.inc ++++++
%if 0%{?suse_version} < 1120 && 0%{?suse_version} > 0
%define socketpath /var/lib/mysql
%else
%define socketpath /var/run/mysql
%endif
%if 0%{?suse_version} > 1140
export WARN_DIS="$WARN_DIS -Wno-unused-but-set-variable -fno-strict-aliasing 
-Wno-unused-parameter "
%endif
export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DFORCE_INIT_OF_VARS $WARN_DIS "
export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"

%if 0%{use_cmake} < 1
autoreconf -f -i
# Make the compile a function, since we do multiple builds
BuildMySQL() {
        # The --enable-assembler simply does nothing on systems that do not
        # support assembler speedups.
        suffix="$1"; shift
        mkdir _build$suffix
        pushd _build$suffix
        ../configure \
                --enable-assembler \
                --with-readline \
                --infodir=%{_infodir} \
                --libdir=%{_libdir} \
                --libexecdir=/usr/sbin \
                --localstatedir=/var/lib/mysql \
                --mandir=%{_mandir} \
                --prefix=%{_prefix} \
                --sysconfdir=/etc \
                --with-mysqld-user=mysql \
                --with-mysqld-group=mysql \
                --without-debug \
                --datadir=/usr/share \
                --includedir=/usr/include \
                --with-charset=utf8 \
                --with-collation=utf8_unicode_ci \
                --with-extra-charsets=all \
                --with-unix-socket-path=%{socketpath}/mysql.sock \
                --enable-thread-safe-client \
                --with-comment="SUSE MySQL RPM" \
                --with-libwrap \
                --with-server-suffix=$suffix \
%ifarch s390 s390x
                --with-atomic-ops=rwlocks \
%else
                --with-atomic-ops=smp \
%endif
                --with-ssl=/usr \
                --with-plugins=%{builtin_plugins} \
                --without-plugin-handlersocket \
                HOSTNAME="/bin/hostname -f" \
                "$@"
        # Add this for MyISAM RAID support:
        # --with-raid
        # benchdir does not fit in above model. Fix when we make a separate 
package
        make %{?jobs:-j%jobs}
        nm --numeric-sort sql/mysqld > sql/mysqld.sym
        # needed for make check, which is not VPATH aware
        # copy the files unconditionally so that manual 'make check' after
        # the build works, too
        cp -a ../mysql-test/* mysql-test/
        for i in ../sql/share/{english,charsets}; do
                [ -d $i ] && cp -a $i sql/share/
        done
        cp -a ../scripts/*.sql scripts/
%if %{?_with_testsuite:1}0
        pushd mysql-test; perl ./mysql-test-run.pl --force; popd
%endif
        popd
}
# Build the client, extra tools, libraries
%if 0%{?prefered} > 0
BuildMySQL "" --with-embedded-server
%else
BuildMySQL "" --without-embedded-server
%endif
# build mysqld-debug
BuildMySQL "-debug" --with-debug --without-embedded-server

%if 0%{?prefered} > 0
mkdir -p _buildlibmysqld/tmp
cd _buildlibmysqld/tmp
ar -x ../../_build/libmysqld/libmysqld.a
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o 
../libmysqld.so.0.0.1 \
*.o \
-lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc
cd ..
rm -rf tmp
cd ..
%endif

%else # cmake build

BuildMySQL() {
        mkdir _build$1
        pushd _build$1
        shift
        cmake -DWITH_SSL=system                                            \
                        -DWITH_ZLIB=system                                      
     \
                        -DWITH_READLINE=0                                       
     \
                        -DWITH_LIBEDIT=0                                        
     \
                        -DINSTALL_LAYOUT=RPM                                    
     \
                        -DMYSQL_UNIX_ADDR=%{socketpath}/mysql.sock              
     \
                        -DINSTALL_MYSQLSHAREDIR=share/%{name}                   
     \
                        -DWITH_COMMENT="openSUSE MySQL rpm"                     
     \
                        -DWITH_EXTRA_CHARSET=all                                
     \
                        -DDEFAULT_CHARSET=utf8  
-DDEFAULT_COLLATION=utf8_general_ci  \
                        -DWITH_INNOBASE_STORAGE_ENGINE=1                        
     \
                        -DWITH_PERFSCHEMA_STORAGE_ENGINE=1                      
     \
                        -DWITH_EMBEDDED_SERVER=true                             
     \
                        -DCOMPILATION_COMMENT="openSUSE package"                
     \
                        -DDENABLE_DOWNLOADS=false                               
     \
                        -DINSTALL_PLUGINDIR_RPM="%{_libdir}/mysql/plugin"       
     \
                        -DINSTALL_LIBDIR_RPM="%{_libdir}"                       
     \
                        "$@" ..
        make %{?jobs:-j%jobs}
        nm --numeric-sort sql/mysqld > sql/mysqld.sym
        popd
}

BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
%endif
++++++ install.inc ++++++
# install the debug server first, so that we don't overwrite the standard
# /usr/sbin/mysqld
mkdir -p %buildroot%_libdir/mysql
make -C _build-debug/sql install DESTDIR=%buildroot
mv %buildroot/usr/sbin/mysqld %buildroot/usr/sbin/mysqld-debug
install -m 644 _build-debug/sql/mysqld.sym 
%buildroot%_libdir/mysql/mysqld-debug.sym
# install the client, extra tools, libraries and the standard server
make -C _build install DESTDIR=%buildroot benchdir_root=/usr/share/
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...)
[ \! -f "%buildroot%_libdir/"libmysqld.a ] || mv 
"%buildroot%_libdir/"libmysqld.a "%buildroot%_libdir/"libmysqld.static
rm -f %buildroot%_libdir/*.a
[ \! -f "%buildroot%_libdir/"libmysqld.static ] || mv 
"%buildroot%_libdir/"libmysqld.static "%buildroot%_libdir/"libmysqld.a
rm -f %buildroot%_libdir/mysql/{,plugin}/*.{a,la}
# XXX: package these? The ndb tools are linked statically atm
rm -f %buildroot%_libdir/mysql/libndbclient.*
rm -f %{buildroot}/usr/share/mysql-test/{mysql-test-run,mtr}
rm -f 
%{buildroot}/usr/share/mysql/{binary-configure,errmsg-utf8.txt,magic,mysql-log-rotate,mysql*.server}
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr  
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run 
mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process 
%{buildroot}%{_bindir}
# generate filelist for binaries and their manpages (easier than enumerating
# all the binaries and manapages manually
filelist()
{
        echo '%%defattr(-, root, root)'
        pushd %buildroot >/dev/null
        for i; do
                if test -e usr/sbin/"$i"; then
                        echo /usr/sbin/"$i"
                fi
                if test -e usr/bin/"$i"; then
                        echo /usr/bin/"$i"
                fi
                if ls usr/share/man/*/"$i".[1-9]* >/dev/null 2>&1; then
                        echo "%%doc %_mandir/*/$i.[1-9]*"
                fi
        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 
{m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log 
xtstat >mysql.files
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow 
>mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
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_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)'
        pushd %buildroot >/dev/null
        for f in usr/share/%{name}/*; do
                if test -e $f/errmsg.sys; then
                        echo "%%dir /$f"
                fi
        done
        echo /usr/share/%{name}/errmsg-utf8.txt
        popd >/dev/null
}
errmsg_list > errormessages.files
### files not installed by make install
# Create directory structure
DOCS=(COPYING README EXCEPTIONS-CLIENT %_sourcedir/README.debug 
%_sourcedir/README.SuSE plugin/daemon_example/daemon_example.ini)
DOCDIR=%buildroot%_defaultdocdir/%name
install -d -m 755 ${DOCDIR}
install -d -m 755 %buildroot/etc/logrotate.d
install -d -m 755 %buildroot/etc/init.d
install -m 644 _build/support-files/mysql-log-rotate 
%buildroot/etc/logrotate.d/mysql
%if 0%{?prefered} > 0%{?use_cmake}
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 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
for i in "${DOCS[@]}"; do
        install -m 644 "${i}" "${DOCDIR}" || true
done
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
# testsuite
mkdir -p '%buildroot'/usr/share/mysql-test/
install -m 755 suse-test-run '%buildroot'/usr/share/mysql-test/
mkdir '%buildroot'/usr/share/mysql-test/var
# Final fixes
find '%buildroot'/usr/share/mysql-test -name '*.orig' -delete
%if 0%{?suse_version} > 1030
%fdupes -s '%buildroot'/usr/share/mysql-test
%endif
%if 0%{?fedora_version} > 8
fdupes -q -n -r '%buildroot'/usr/share/mysql-test
%endif
dos2unixConversion() {
        %{__sed} -i 's/\r//g' "$1"
}
for i in `grep -Rl '\r' '%buildroot'/usr/share/sql-bench`; do
        dos2unixConversion "$i"
done
%if ! 0%{cluster} > 0
cat mysql-ndb-storage.files mysql-ndb-management.files  \
        mysql-ndb-tools.files mysql-ndb-extra.files |   \
        sed 's|^%%doc\ ||' | while read tmp; do
        cd '%buildroot'
        rm -f .$tmp
done
%endif
pushd '%buildroot'/%_libdir
for i in *.so.*.*.*; do
        if [ -L "$i" ]; then
                trg="`readlink "$i"`"
                rm "$i"
                mv "$trg" "$i"
                ln -s "$i" "$trg"
        fi
done
for i in *.so.*; do
        if [ -L "$i" ] && [ -L "`readlink "$i"`" ]; then
                trg="`readlink "$i"`"
                rm "$i"
                ln -s "`readlink "$trg"`" "$i"
        fi
done
popd
%if ! 0%{prefered} > 0
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
        cd '%buildroot'
        rm -f ."$tmp"
done
rm -rf '%buildroot'/%_libdir/libmysqld.*
rm -rf '%buildroot'/%_libdir/{*.la,*.so,*.a}
rm -rf '%buildroot'/%_datadir/man/*/mysql_config.1*
rm -rf '%buildroot'/%_includedir  
rm -rf '%buildroot'/%_datadir/aclocal
%endif
sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' 
'%buildroot'/etc/init.d/mysql
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
%if 0%{?cluster} > 1
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6.0
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6
%endif
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
        mv '%buildroot'/usr/bin/mysqlaccess.conf 
'%buildroot'/etc/mysqlaccess.conf
fi
rm -rf '%buildroot'/etc/{mysql,my.cnf.d}
mkdir -p '%buildroot'/etc/mysql
sed -i 's|^log-bin=|#\ log-bin=|' %buildroot/etc/my.cnf
sed -i 's|^binlog_format=|#\ binlog_format=|' %buildroot/etc/my.cnf
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C 
'%buildroot'/etc/mysql -xvf -
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f 
'%buildroot'/usr/share/info/mysql.info*
if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so 2> /dev/null`" ]; then
        echo '%%dir %%_libdir/mysql'               >> mysql-client.files
        echo '%%dir %%_libdir/mysql/plugin'        >> mysql-client.files
        echo '%%_libdir/mysql/plugin/dialog*.so'   >> mysql-client.files
fi
rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}*
rm -rf '%buildroot'/usr/share/mysql/{solaris,SELinux}
++++++ mysql.SuSEfirewall2 ++++++
## Name: MySQL server
## Description: opens ports for MySQL in order to allow other hosts connect to 
it

# space separated list of allowed TCP ports
TCP="3306"

++++++ rc.mysql-multi ++++++
#!/bin/bash
# Copyright (c) 1995-2011 SuSE Linux AG Nuernberg, Germany.
#
# Author:     Lenz Grimmer
# Maintainer: Michal Hrusecky <mhruse...@suse.cz>
#
# mysqld_multi extension added by Richard Bos, 2008
#
# /etc/init.d/mysql
#
#   and its symbolic link
#
# /usr/sbin/rcmysql
#
### BEGIN INIT INFO
# Provides:       mysql
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start:  3 5
# Default-Stop:
# Short-Description: Start the MySQL database server
# Description:    Start the MySQL database server
### END INIT INFO

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status
. /etc/rc.status

# First reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.

# Check for the location of initscript
if [ "`echo "$0" | grep "^\."`" ] || [ "`echo "$0" | grep "^[^/].*/"`" ]; then
        MYSELF="`pwd`/$0"
else
        MYSELF="$0"
fi

parse_arguments() {
  for arg do
    case "$arg" in
      --basedir=*)   basedir="`echo "$arg"            | sed -e 's/^[^=]*=//'`" 
;;
      --datadir=*)   datadir="`echo "$arg"            | sed -e 's/^[^=]*=//'`" 
;;
      --pid-file=*)  pid_file="`echo "$arg"           | sed -e 's/^[^=]*=//'`" 
;;
      --socket=*)    socket="`echo "$arg"             | sed -e 's/^[^=]*=//'`" 
;;
      --log-error=*) log_error="`echo "$arg"          | sed -e 's/^[^=]*=//'`" 
;;
      --user=*)      mysql_daemon_user="`echo "$arg"  | sed -e 's/^[^=]*=//'`" 
;;
      --group=*)     mysql_daemon_group="`echo "$arg" | sed -e 's/^[^=]*=//'`" 
;;
    esac
  done
}

wait_for_socket()
{
        local i
        for((i=0; i<150; i++)); do
                sleep 0.2
                test -S $1 && i='' && break
        done
        test -z "$i" || return 1
        return 0
}

# Don't run killproc -TERM, as it could send a SIGKILL as well, possibly
# resulting in database corruption. Run kill -TERM manually instead,  wait
# approximately 300 seconds and fail if mysql doesn't respond. This will at
# least prevent the SIGKILL when doing 'rcmysql stop' manually. During system
# shutdown, we are out of luck...
# See https://bugzilla.novell.com/show_bug.cgi?id=223209
kill_mysql ()
{
        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
        fi
        test -L "/proc/$pid/exe" || return 7
        exe=`readlink "/proc/$pid/exe"` || return 4
        test "`echo "$exe" | grep "^$MYSQLD"`" || return 7
        kill -STOP "$pid"
        kill -TERM "$pid" || return 4 # suboptimal
        kill -CONT "$pid"
        for i in `seq 3000`; do
                # mysqld removes its pid file
                test -e "$test_pid_file" || return 0
                LC_ALL=C sleep 0.1
        done
        test -e "$test_pid_file" || return 0
        return 1
}

# Helper function which can end with any status
set_return_value() {
        return $1
}

# Checks for obsolete database
check_obsolete() {
        # check for ISAM tables
        tables="`find "$datadir" -name '*.ISM' 2> /dev/null | sed 
"s@$datadir/*@@; s@.ISM@@; s@/@.@;"`"
        if test "$tables" ; then
                echo
                echo "Some tables still use ISAM format, which is NO LONGER 
SUPPORTED"
                echo "since mysql 5.0. To use these tables, you would need to 
open them"
                echo "from an older mysql server and convert to something 
better (eg. MyISAM)."
                echo
                echo "Tables using ISAM are: "
                echo "  $tables "
                echo
        fi
        # check for bdb tables
        tables="`find "$datadir" -name '*.db' 2> /dev/null | sed 
"s@$datadir/*@@; s@.db@@; s@/@.@;"`"
        if test -n "$tables" ; then
                echo
                echo "Some tables still use BerkeleyDB format, which is NO 
LONGER SUPPORTED"
                echo "since mysql 5.1. To use these tables, you would need to 
open them"
                echo "from an older mysql server and convert to something 
better (eg. MyISAM)."
                echo
                echo "Tables using BerkeleyDB are: "
                echo "  $tables "
                echo
        fi
}

# Check if we want to run multiple instances.
[[ "`cat /etc/my.cnf | sed -n 's|^[[:blank:]]*\[mysqld[0-9]\+\]|yes|p'`" ]] && 
MYSQLD_MULTI=yes

# This was old way how to specify this, left for backward compatibility.
[[ -f /etc/sysconfig/mysql ]] && . /etc/sysconfig/mysql

if [[ "$MYSQLD_MULTI" == "yes" ]]; then

  [[ -x /usr/bin/mysqld_multi ]] || {
    echo -n "MySQL: /usr/bin/mysqld_multi not found" 
    rc_failed 5; rc_status -v; rc_exit;
  }

  case "$1" in
      start)

        # FIXME:
        # We assume a fresh install if the directory $datadir/mysql
        # does not exist and create the privilege database
        # if ! test -d $datadir/mysql; then
        #   echo -n "Creating MySQL privilege database... "
        #   mysql_install_db --user=$mysql_daemon_user --datadir=$datadir || {
        #     rc_failed;  rc_status -v; rc_exit
        #   }
        # fi
        echo -n "Starting service multi MySQL "
        mysqld_multi start

        # Remember status and be verbose
        rc_status -v
        ;;

      stop)
        echo -n "Shutting down service multi MySQL "
        mysqld_multi stop

        # Remember status and be verbose
        rc_status -v
        ;;

      try-restart)
        ## Stop the service and if this succeeds (i.e. the 
        ## service was running before), start it again.
        ## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
        "$MYSELF" status >/dev/null &&  "$MYSELF" restart

        # Remember status and be quiet
        rc_status
        ;;

      restart|force-reload)
        echo "Restarting service multi MySQL "
        "$MYSELF" stop
        "$MYSELF" start

        rc_status
        ;;

      reload)
        echo -n "Reloading service multi MySQL "
        mysqld_multi reload
        rc_status -v
        ;;
        
      status)
        STATUS=$(mysqld_multi report)
        echo -n "$STATUS"
        # Set the status for rc_status
        echo "$STATUS" | grep -q "is running"
        rc_status -v
        ;;

      *)
        echo "Usage: $MYSELF 
{start|stop|status|reload|restart|try-restart|force-reload}"
        exit 1
        ;;
  esac

else
        # Test, if mysqld or mysql-max actually exist
        unset MYSQLD

        # use mysqld-debug only if explicitly requested (TODO: sysconfig 
variable?)
        if test "$MYSQLD_DEBUG" = yes -a -x /usr/sbin/mysqld-debug
        then
                MYSQLD=/usr/sbin/mysqld-debug
        elif test -x /usr/sbin/mysqld-max
        then
                MYSQLD=/usr/sbin/mysqld-max
        elif test -x /usr/sbin/mysqld
        then
                MYSQLD=/usr/sbin/mysqld
        fi
                test "$MYSQLD" || {
                echo -n "Nor /usr/sbin/mysqld nor /usr/sbin/mysqld-max exists";
                rc_failed 5; rc_status -v; rc_exit;
        }


        # The following section has been taken from
        # the original MySQL init script
        # Note: If you want to change these variables, you'll make your life 
easier
        # if you do so in /etc/my.cnf, which is preserved during upgrades
        basedir=/usr
        datadir=/var/lib/mysql
        mysql_daemon_user=mysql
        mysql_daemon_group=mysql
        pid_file=/var/run/mysql/mysqld.pid
        socket=/var/run/mysql/mysql.sock
        print_defaults=/usr/bin/my_print_defaults
        log_error=/var/log/mysql/mysqld.log

        mode=$1 # start or stop

        log_base="`echo "$log_error" | sed 's|\.log$||'`"
        [ "$log_base" \!= "$log_error" ] || log_base="/var/log/mysql/mysql"
        log_upgrade="${log_base}-upgrade.log"
        log_upgrade_run="${log_base}-upgrade-run.log"
        log_query="${log_base}-query.log"

        parse_arguments `$print_defaults $defaults mysqld mysql_server`
        mkdir -m 755 -p /var/run/mysql
        chown $mysql_daemon_user:$mysql_daemon_group /var/run/mysql
        export TEMPDIR="`cat /var/run/mysql/tmpdir 2> /dev/null`"

        # Safeguard (relative paths, core dumps..)
        cd "$basedir"

        case "$1" in
            start)
                # exit gracefully, if we are already running
                "$MYSELF" status >/dev/null && echo -n "Starting service MySQL 
" && \
                rc_status -v && rc_exit

                # prepare tmp dir
                unset TMPDIR
                if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
                        [ "`ls -ld "$TEMPDIR" | grep 
"^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`"
 ]; then
                        rm -rf "$TEMPDIR"
                fi
                TEMPDIR="`mktemp -d -p /var/tmp mysql.XXXXXX | tee 
/var/run/mysql/tmpdir`"
                [ -z "$TEMPDIR" ] || chown 
"$mysql_daemon_user:$mysql_daemon_group" "$TEMPDIR"
                [ "`ls -ld "$TEMPDIR" | grep 
"^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`"
 ] || {
                        echo "Can't create secure $TEMPDIR"
                        rc_failed; rc_status -v; rc_exit;
                }

                # Test, if safe_mysqld actually exists
                SAFE_MYSQLD=/usr/bin/mysqld_safe
                test -x $SAFE_MYSQLD || {
                        echo "$SAFE_MYSQLD does not exist ";
                        rc_failed 5; rc_status -v; rc_exit;
                }
                debug_flags=""
                if test "$MYSQLD_DEBUG" = yes; then
                        # add --log, --core-file and --debug
                        # but only if not already set in my.cnf
                        if ! $print_defaults mysqld | \
                                grep -q -e '--log$' -e '--log[[:blank:]=]'
                        then
                                debug_flags="--log=${log_query}"
                        fi
                        if ! $print_defaults mysqld | grep -q -e '^--debug\>' &&
                                test "$MYSQLD" = /usr/sbin/mysqld-debug
                        then
                                debug_flags="$debug_flags 
--debug=d:t:F:L:o,$datadir/mysqld.trace"
                        fi
                        if ! $print_defaults mysqld | grep -q -e 
'^--core-file\>'
                        then
                                debug_flags="$debug_flags --core-file"
                        fi
                fi

                # Creating parent directories for logs
                for i in "$log_upgrade" "$log_query" "$log_error"; do
                        log_dir="`dirname "$i"`"
                        if [ \! -d "$log_dir" ]; then
                                mkdir -p "$log_dir"
                        fi
                        chmod 770 "$log_dir"
                        chown -R mysql:mysql "$log_dir"
                done

                MYSQLVER="`mysqld --version | sed 's|.*Ver\ *\([^\ 
]*\)\.[0-9]\+[\-\ ].*|\1|'`"

                # We assume a fresh install if the directory $datadir/mysql
                # does not exist and create the privilege database
                if ! test -d "$datadir/mysql"; then
                        echo "Creating MySQL privilege database... "
                        mysql_install_db --user="$mysql_daemon_user" 
--datadir="$datadir" ||{
                                rc_failed;  rc_status -v; rc_exit
                        }
                        echo -n "$MYSQLVER" > "$datadir"/mysql_upgrade_info
                fi
                check_obsolete
                # Run mysql_upgrade on every package install/upgrade. Not always
                # necessary, but doesn't do any harm. On big upgrade, require 
                # user confirmation.
                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=""
                        for i in "$log_error" /var/lib/mysql/mysqld.log \
                                 /var/log/mysqld.log ; do
                                        if test -f "$i"; then
                                                SRCLOGS="$i"
                                                ALL_SRCLOGS="${ALL_SRCLOGS} 
${i}"
                                        fi
                        done
                        if [ "${ALL_SRCLOGS}" \!= " ${SRCLOGS}"  ]; then
                                echo "Log files inconsistency, please merge 
following files manually:"
                                echo $ALL_SRCLOGS | sed 's|[[:blank:]]\+|\n|' | 
sed 's|^|\t|'
                        else
                                if [ "$SRCLOGS" ]; then
                                        [ "$SRCLOGS" = "$log_error" ] || mv 
"$SRCLOGS" "$log_error"
                                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`"
                                if [ "$pid" ] && [ -d "/proc/$pid" ] &&
                                        [ "`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"
                                fi
                        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;
                        }

                        echo "Running protected MySQL... " | tee -a 
"$log_upgrade"
                        $SAFE_MYSQLD \
                                --mysqld=${MYSQLD#/usr/sbin/} \
                                $debug_flags \
                                --skip-networking \
                                --skip-grant-tables \
                                --datadir="$datadir" \
                                --user="$mysql_daemon_user" \
                                --log-error="$log_upgrade_run" \
                                --socket="$protected/mysql.sock" \
                                --pid-file="$protected/mysqld.pid" \
                                --group="$mysql_daemon_group" &>/dev/null &
                        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;
                        }
                        if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; 
then
                                echo "Problems should be fixed now."
                                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_mysql "$protected/mysqld.pid"
                                rc_exit; }

                        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 /var/adm/update-messages/mysql-*
                        rm -f /var/lib/mysql/.run-mysql_upgrade
                        rm -f /var/lib/mysql/.force_upgrade
                        rm -f "$datadir"/{update-stamp-*,mysql/stamp-4.1} # 
used in the past
                        chown "$mysql_daemon_user:$mysql_daemon_group" 
"$log_upgrade"
                        chmod 640 "$log_upgrade"
                fi 

                export TMPDIR="$TEMPDIR"

                echo -n "Starting service MySQL "
                
                $SAFE_MYSQLD \
                        --mysqld=${MYSQLD#/usr/sbin/} \
                        $debug_flags \
                        --user="$mysql_daemon_user" \
                        --pid-file="$pid_file" \
                        --socket="$socket" \
                        --datadir="$datadir" &>/dev/null &

                wait_for_socket "$socket" || {
                        # let's not treat this as a fatal error
                        echo "warning: $socket didn't appear within 30 seconds"
                }
                chmod a+r "$pid_file"

                # Rmember status and be verbose
                rc_status -v
                ;;

            stop)
                echo -n "Shutting down service MySQL "
                kill_mysql
                if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
                        [ "`ls -ld "$TEMPDIR" | grep 
"^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`"
 ]; then
                        rm -rf "$TEMPDIR"
                fi
                # Remember status and be verbose
                rc_status -v
                ;;

            try-restart)
                ## Stop the service and if this succeeds (i.e. the 
                ## service was running before), start it again.
                ## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
                "$MYSELF" status >/dev/null &&  "$MYSELF" restart

                # Remember status and be quiet
                rc_status
                ;;

            restart|force-reload)
                echo "Restarting service MySQL "
                "$MYSELF" stop
                "$MYSELF" start

                rc_status
                ;;

            reload)
                echo -n "Reloading service MySQL "
                kill -HUP "`cat "$pid_file"`"
                touch "$pid_file"
                rc_status -v
                ;;
                
            check|status)
                echo -n "Checking for service MySQL: "
                ## Check status with checkproc(8), if process is running
                ## checkproc will return with exit status 0.

                # Status has a slightly different for the status command:
                # 0 - service running
                # 1 - service dead, but /var/run/  pid  file exists
                # 2 - service dead, but /var/lock/ lock file exists
                # 3 - service not running

                # NOTE: checkproc returns LSB compliant status values,
                #       but it checks for running binary first and only
                #       if it doesn't find running process with proper
                #       name it checks pidfile. So we can't use it because
                #       akonadi runs it's own database.
                # checkproc -p $pid_file $MYSQLD
                if [ -f "$pid_file" ]; then
                        if ! [ -e /proc/version ]; then
                                mount -n -t proc proc /proc
                                test -e /proc/version || set_return_value 100
                        fi
                        pid="`cat "$pid_file"`"
                        if [ "$pid" ] && [ -d "/proc/$pid" ]; then
                                cmd=`cat "/proc/$pid/cmdline" 2> /dev/null`
                                exe=`readlink "/proc/$pid/exe" 2> /dev/null`
                                if [ "`echo "$exe" | grep "^$MYSQLD"`" ] || [ 
"`echo "$cmd" | grep "^$MYSQLD"`" ]; then
                                        set_return_value 0
                                else
                                        set_return_value 1
                                fi
                        else
                                set_return_value 1
                        fi
                else
                        set_return_value 3
                fi
                rc_status -v
                ;;

            *)
                echo "Usage: $MYSELF 
{start|stop|status|reload|restart|try-restart|force-reload}"
                exit 1
                ;;
        esac
fi

rc_exit

# vim: ft=sh
++++++ series ++++++
mysql-community-server-5.1.31-shebang.patch
mysql-community-server-5.5.29-utf8-test-results.patch
mariadb-5.5.28-hotcopy.patch
mysql-community-server-5.5.6-cnf.patch
mysql-community-server-5.5.8-group.patch
mysql-community-server-5.1.45-multi-configuration.patch
mysql-community-server-5.5.6-safe-process-in-bin.patch
mysql-community-server-5.1.46-logrotate.patch
mysql-community-server-5.5.6-strncat-overflow.patch
mysql-community-server-5.1.51-install_db-quiet.patch
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.1.51-mysqld_multi-features.patch
mysql-community-server-5.5.32-upgrade-exit-status.patch
mysql-community-server-5.5.12-shared-libmysqld.patch
mysql-community-server-5.5.21-va_list-handling.patch
mysql-community-server-5.5.23-fail_on_missing_errmsg_sys.patch
mysql-community-server-5.5.29-test-wrong-path.patch
mysql-community-server-5.5.29-CVE-2012-5611.patch
mysql-community-server-5.6.12-deharcode-libdir.patch
mysql-5.5.31-upgrade-datadir.patch
mysql-5.5-dump.patch
++++++ suse-test-run ++++++
#!/usr/bin/perl
#
# Test the SUSE mysql(-Max) package using the MySQL testsuite

my $id = getpwnam("mysql") or die "can't find user \"mysql\": $!";
my $dir = "/usr/share/mysql-test/";

if ($< == 0) {
        ($<, $>) = ($id, $id);
        if ($< != $id || $> != $id) {
                die "can't switch to user mysql(id $id): $!";
        }
}

chdir($dir) or die "can't cd to $dir: $!";
exec("./mysql-test-run.pl", "--big-test", @ARGV);
die "can't execute mysql-test-run.pl: $!";
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to