[arch-commits] Commit in mysql/trunk (5 files)
Andrea Scarpino
andrea at archlinux.org
Fri Feb 26 20:12:00 UTC 2010
Date: Friday, February 26, 2010 @ 15:11:59
Author: andrea
Revision: 70428
upgpkg: mysql 5.1.44-1
upstream release; cleanup PKGBUILD; fix-charsets.patch fixes akonadi issue
Added:
mysql/trunk/fix-charsets.patch
Modified:
mysql/trunk/PKGBUILD
mysql/trunk/mysql.install
mysql/trunk/mysqld
mysql/trunk/mysqld.conf.d
--------------------+
PKGBUILD | 77 +++++++++++++++--------------
fix-charsets.patch | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++
mysql.install | 2
mysqld | 11 +++-
mysqld.conf.d | 2
5 files changed, 180 insertions(+), 44 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2010-02-26 19:56:44 UTC (rev 70427)
+++ PKGBUILD 2010-02-26 20:11:59 UTC (rev 70428)
@@ -5,21 +5,21 @@
pkgbase=mysql
pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
-pkgver=5.1.43
+pkgver=5.1.44
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.mysql.com/"
makedepends=('tcp_wrappers' 'zlib' 'perl' 'openssl' 'libtool' 'patch')
-options=('!libtool' 'force')
+options=('!libtool')
source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/${pkgbase}-${pkgver}.tar.gz"
- 'mysqld'
- 'my.cnf'
- 'mysqld.conf.d')
-md5sums=('451fd3e8c55eecdf4c3ed109dce62f01'
- '7e1c46ccbd91553cc11df7199fbfca32'
+ 'mysqld' 'my.cnf' 'mysqld.conf.d'
+ 'fix-charsets.patch')
+md5sums=('a16fa6d6c7f40a963919cbc1c5e86111'
+ 'a564aaf42e62da454f27b62b7eaf01d5'
'5b197896a429537fea7cbe52bbe440bc'
- '4a9077fc95ec6db1d5420e0cdc74d31c')
+ '0d1e778ddeeaedffa0e63dc3f6e51fc4'
+ '6813a3cc0bf28da3137a2bc8008a73ac')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -30,6 +30,9 @@
CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing"
CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing"
+ # fixed upstream
+ patch -Np1 -i ${srcdir}/fix-charsets.patch
+
./configure --prefix=/usr \
--libexecdir=/usr/sbin \
--localstatedir=/var \
@@ -46,6 +49,14 @@
--enable-local-infile \
--with-plugins=partition,ftexample,archive,blackhole,federated,heap,innobase,innodb_plugin,ndbcluster
make || return 1
+
+ pushd libmysql
+ make link_sources get_password.lo || return 1
+ popd
+
+ pushd scripts
+ make mysql_config || return 1
+ popd
}
package_libmysqlclient(){
@@ -64,36 +75,30 @@
# Copy missing includes
install -m644 *.h ${pkgdir}/usr/include/mysql
- # mysql_config
cd ../scripts
- make mysql_config
install -d ${pkgdir}/usr/bin
install -m755 mysql_config ${pkgdir}/usr/bin || return 1
# create library symlinks in /usr/lib
- ln -sf mysql/libmysqlclient.so.16 $pkgdir/usr/lib/libmysqlclient.so.16
- ln -sf libmysqlclient.so.16 $pkgdir/usr/lib/libmysqlclient.so
- ln -sf libmysqlclient.so.16 $pkgdir/usr/lib/libmysqlclient.so.1
- ln -sf mysql/libmysqlclient_r.so.16 $pkgdir/usr/lib/libmysqlclient_r.so.16
- ln -sf libmysqlclient_r.so.16 $pkgdir/usr/lib/libmysqlclient_r.so
- ln -sf libmysqlclient_r.so.16 $pkgdir/usr/lib/libmysqlclient_r.so.1
+ ln -sf mysql/libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.16
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.1
+ ln -sf mysql/libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.16
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.1
}
package_mysql-clients(){
pkgdesc="MySQL client tools"
depends=('libmysqlclient')
- cd ${srcdir}/${pkgbase}-${pkgver}
- pushd libmysql
- make link_sources get_password.lo || return
- popd
-
- cd client
+ cd ${srcdir}/${pkgbase}-${pkgver}/client
make DESTDIR=${pkgdir} install
- # Removing libmysqlclient stuff
- rm -rf $pkgdir/usr/lib/
- # These will be provided by mysql
+ # provided by libmysqlclient
+ rm -rf ${pkgdir}/usr/lib/
+
+ # provided by mysql
rm -f ${pkgdir}/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest}
}
@@ -104,22 +109,18 @@
depends=('mysql-clients')
optdepends=('perl-dbi' 'perl-dbd-mysql')
- cd ${srcdir}/${pkgbase}-${pkgver}
- pushd libmysql
- make link_sources get_password.lo || return
- popd
-
+ cd ${srcdir}/${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}/usr/{mysql-test,sql-bench,lib,include}
- install -D -m644 ../my.cnf ${pkgdir}/etc/mysql/my.cnf
- install -D -m755 ../mysqld ${pkgdir}/etc/rc.d/mysqld
- install -D -m644 ../mysqld.conf.d ${pkgdir}/etc/conf.d/mysqld
+ install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf || return 1
+ install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld || return 1
+ install -Dm644 ${srcdir}/mysqld.conf.d ${pkgdir}/etc/conf.d/mysqld || return 1
- # Cleanup files provided by the others packages
- rm -f ${pkgdir}/usr/bin/{mysql,mysql_config,mysql_client_test_embedded,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,mysqltest_embedded}
+ # provided by libmysqlclient
+ rm -f ${pkgdir}/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
rm -rf ${pkgdir}/usr/{include,lib}
-
- # create directory for PID and sock files
- install -d ${pkgdir}/var/run/mysqld
+
+ # provided by mysql-clients
+ rm -f ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
}
Added: fix-charsets.patch
===================================================================
--- fix-charsets.patch (rev 0)
+++ fix-charsets.patch 2010-02-26 20:11:59 UTC (rev 70428)
@@ -0,0 +1,132 @@
+# 3362 Staale Smedseng 2010-02-26
+# Bug #45058 init_available_charsets uses double checked locking
+#
+# A client doing multiple mysql_library_init() and
+# mysql_library_end() calls over the lifetime of the process may
+# experience lost character set data, potentially even a
+# SIGSEGV.
+#
+# This patch reinstates the reloading of character set data when
+# a mysql_library_init() is done after a mysql_library_end().
+#
+=== modified file 'include/my_sys.h'
+--- a/include/my_sys.h 2009-12-12 18:11:25 +0000
++++ b/include/my_sys.h 2010-02-26 14:30:14 +0000
+@@ -950,7 +950,7 @@ extern my_bool resolve_charset(const cha
+ extern my_bool resolve_collation(const char *cl_name,
+ CHARSET_INFO *default_cl,
+ CHARSET_INFO **cl);
+-
++extern void free_charsets(void);
+ extern char *get_charsets_dir(char *buf);
+ extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
+ extern my_bool init_compiled_charsets(myf flags);
+
+=== modified file 'libmysql/libmysql.c'
+--- a/libmysql/libmysql.c 2009-12-18 18:44:24 +0000
++++ b/libmysql/libmysql.c 2010-02-26 14:30:14 +0000
+@@ -211,6 +211,7 @@ void STDCALL mysql_server_end()
+ }
+ else
+ {
++ free_charsets();
+ mysql_thread_end();
+ }
+
+
+=== modified file 'mysys/charset.c'
+--- a/mysys/charset.c 2009-12-15 09:48:29 +0000
++++ b/mysys/charset.c 2010-02-26 14:30:14 +0000
+@@ -427,6 +427,11 @@ static void init_available_charsets(void
+ }
+
+
++void free_charsets(void)
++{
++ charsets_initialized= MY_PTHREAD_ONCE_INIT;
++}
++
+ uint get_collation_number(const char *name)
+ {
+ my_pthread_once(&charsets_initialized, init_available_charsets);
+
+=== modified file 'mysys/my_init.c'
+--- a/mysys/my_init.c 2009-12-12 18:11:25 +0000
++++ b/mysys/my_init.c 2010-02-26 14:30:14 +0000
+@@ -165,6 +165,7 @@ void my_end(int infoflag)
+ my_print_open_files();
+ }
+ }
++ free_charsets();
+ my_error_unregister_all();
+ my_once_free();
+
+
+=== modified file 'sql/mysqld.cc'
+--- a/sql/mysqld.cc 2010-02-05 12:55:20 +0000
++++ b/sql/mysqld.cc 2010-02-26 14:30:14 +0000
+@@ -1287,6 +1287,7 @@ void clean_up(bool print_message)
+ lex_free(); /* Free some memory */
+ item_create_cleanup();
+ set_var_free();
++ free_charsets();
+ if (!opt_noacl)
+ {
+ #ifdef HAVE_DLOPEN
+
+
+--===============5369465324480993893==
+MIME-Version: 1.0
+Content-Type: text/bzr-bundle; charset="us-ascii";
+ name="bzr/staale.smedseng at stripped"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+# Bazaar merge directive format 2 (Bazaar 0.90)
+# revision_id: staale.smedseng at stripped
+# target_branch: file:///export/home/tmp/ss156133/z/45058-akonadi-51/
+# testament_sha1: 3cda143e1bb6fc7c9cb3c50ddf3b76b575c7208f
+# timestamp: 2010-02-26 15:30:18 +0100
+# base_revision_id: sergey.glukhov at stripped\
+# 5pnihv36uax9kyzv
+#
+# Begin bundle
+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
+R2H/xdyRThQkDCT28wA=
+
+
+--===============5369465324480993893==--
Modified: mysql.install
===================================================================
--- mysql.install 2010-02-26 19:56:44 UTC (rev 70427)
+++ mysql.install 2010-02-26 20:11:59 UTC (rev 70428)
@@ -3,14 +3,12 @@
useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
usr/bin/mysql_install_db --datadir=/var/lib/mysql --user=mysql
chown -R mysql:mysql var/lib/mysql &> /dev/null
- chown mysql:mysql var/run/mysqld &> /dev/null
}
post_upgrade(){
getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql
getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql
chown -R mysql:mysql var/lib/mysql &> /dev/null
- chown mysql:mysql var/run/mysqld &> /dev/null
}
post_remove(){
Modified: mysqld
===================================================================
--- mysqld 2010-02-26 19:56:44 UTC (rev 70427)
+++ mysqld 2010-02-26 20:11:59 UTC (rev 70428)
@@ -1,6 +1,7 @@
#!/bin/bash
MYSQLD_ROOT="/var/lib/mysql"
+
# source application-specific settings
[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld
@@ -14,7 +15,11 @@
case "$1" in
start)
- stat_busy "Starting MySQL"
+ stat_busy "Starting MySQL Server"
+ if [ ! -d /var/run/mysqld ]; then
+ install -d /var/run/mysqld &>/dev/null
+ chown mysql:mysql /var/run/mysqld &>/dev/null
+ fi
if [ -z "$(getPID)" ]; then
/usr/bin/mysqld_safe --datadir=$MYSQLD_ROOT &>/dev/null &
if [ $? -gt 0 ]; then
@@ -32,7 +37,7 @@
stat_fail
exit 1
else
- echo $(getPID) >/var/run/mysqld/mysqld.pid
+ echo $(getPID) > /var/run/mysqld/mysqld.pid
add_daemon mysqld
stat_done
fi
@@ -44,7 +49,7 @@
;;
stop)
- stat_busy "Stopping MySQL"
+ stat_busy "Stopping MySQL Server"
if [ ! -z "$(getPID)" ]; then
kill $(getPID) &> /dev/null
if [ $? -gt 0 ]; then
Modified: mysqld.conf.d
===================================================================
--- mysqld.conf.d 2010-02-26 19:56:44 UTC (rev 70427)
+++ mysqld.conf.d 2010-02-26 20:11:59 UTC (rev 70428)
@@ -1 +1 @@
-MYSQLD_ROOT="/var/lib/mysql"
+#MYSQLD_ROOT="/var/lib/mysql"
More information about the arch-commits
mailing list