aports/main/mysql/APKBUILD
Natanael Copa b96110fab2 main/mysql: security upgrade to 5.5.31 (CVE-2013-1502...)
fixes #1885

CVE-2013-1502
CVE-2013-1511
CVE-2013-1532
CVE-2013-1544
CVE-2013-2375
CVE-2013-2376
CVE-2013-2389
CVE-2013-2391
CVE-2013-2392
2013-05-16 11:57:03 +00:00

199 lines
6.5 KiB
Plaintext

# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mysql
pkgver=5.5.31
pkgrel=0
pkgdesc="A fast SQL database server"
url="http://www.mysql.com/"
pkgusers="mysql"
pkggroups="mysql"
arch="all"
license='GPL'
depends="mysql-common"
depends_dev="openssl-dev zlib-dev"
makedepends="libtool readline-dev openssl-dev ncurses-dev zlib-dev cmake bison perl libaio-dev"
source="ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-$pkgver.tar.gz
mysql-prefer-dynamic-library.patch
$pkgname.initd
"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-test:mytest
$pkgname-common $pkgname-client $pkgname-bench"
_builddir="$srcdir/$pkgname-$pkgver"
prepare() {
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build() {
cd "$_builddir"
cmake . -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DINSTALL_DOCDIR=share/doc/mysql \
-DINSTALL_DOCREADMEDIR=share/doc/mysql \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LAYOUT=RPM \
-DINSTALL_LIBDIR=lib \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR=lib/mysql/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SHAREDIR=share/mysql \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DMYSQL_DATADIR="/var/lib/mysql" \
-DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
-DSYSCONFDIR=/etc/mysql \
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EMBEDDED_SERVER=ON \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
|| return 1
make || return 1
}
# -DWITH_LIBWRAP=ON \
package() {
cd "$_builddir"
make DESTDIR="$pkgdir/" install || return 1
install -Dm 755 "$startdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname || return 1
# use small example config as default, which has tcp disabled
install -D "$pkgdir"/usr/share/mysql/my-medium.cnf \
"$pkgdir"/etc/mysql/my.cnf || return 1
install -dDo mysql "$pkgdir"/var/log/mysql || return 1
install -dDo mysql "$pkgdir"/var/run/mysqld || return 1
# libmysqlclient_r is no more. Upstream tries to replace it with
# symlinks but that really doesn't work (wrong soname in particular).
# We'll keep just the devel libmysqlclient_r.so link, so that
# rebuilding without any source change is enough to get rid of
# dependency on libmysqlclient_r.
rm -f "$pkgdir"/usr/lib/libmysqlclient_r.so*
ln -s libmysqlclient.so "$pkgdir"/usr/lib/libmysqlclient_r.so
# mysql-test includes one executable that doesn't belong under
# /usr/share, so move it and provide a symlink
mv "$pkgdir"/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process \
"$pkgdir"/usr/bin
ln -s ../../../../../bin/my_safe_process \
"$pkgdir"/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process
}
dev(){
default_dev
replaces="libmysqlclient"
}
libs() {
pkgdesc="MySQL client library"
# some files moved
replaces="mysql libmysqlclient"
depends="mysql-common"
mkdir -p "$subpkgdir"/usr/lib \
"$subpkgdir"/usr/share/mysql \
|| return 1
mv "$pkgdir"/usr/lib/libmysqlclient.so* \
"$subpkgdir"/usr/lib/ || return 1
}
common() {
pkgdesc="MySQL common files for both server and client"
replaces="mysql"
depends=
mkdir -p "$subpkgdir"/usr/share/mysql \
mv "$pkgdir"/etc "$subpkgdir"/ || return 1
mv "$pkgdir"/usr/share/mysql/english \
"$pkgdir"/usr/share/mysql/czech \
"$pkgdir"/usr/share/mysql/danish \
"$pkgdir"/usr/share/mysql/dutch \
"$pkgdir"/usr/share/mysql/estonian \
"$pkgdir"/usr/share/mysql/french \
"$pkgdir"/usr/share/mysql/german \
"$pkgdir"/usr/share/mysql/greek \
"$pkgdir"/usr/share/mysql/hungarian \
"$pkgdir"/usr/share/mysql/italian \
"$pkgdir"/usr/share/mysql/japanese \
"$pkgdir"/usr/share/mysql/korean \
"$pkgdir"/usr/share/mysql/norwegian \
"$pkgdir"/usr/share/mysql/norwegian-ny \
"$pkgdir"/usr/share/mysql/polish \
"$pkgdir"/usr/share/mysql/portuguese \
"$pkgdir"/usr/share/mysql/romanian \
"$pkgdir"/usr/share/mysql/russian \
"$pkgdir"/usr/share/mysql/serbian \
"$pkgdir"/usr/share/mysql/slovak \
"$pkgdir"/usr/share/mysql/spanish \
"$pkgdir"/usr/share/mysql/swedish \
"$pkgdir"/usr/share/mysql/ukrainian \
"$pkgdir"/usr/share/mysql/charsets \
"$subpkgdir"/usr/share/mysql/ \
|| return 1
}
mytest() {
pkgdesc="The test suite distributed with MySQL"
mkdir -p "$subpkgdir"/usr/bin || return 1
mv "$pkgdir"/usr/share/mysql-test \
"$subpkgdir"/usr/share/ \
|| return 1
mv "$pkgdir"/usr/bin/mysql_client_test \
"$pkgdir"/usr/bin/my_safe_process \
"$subpkgdir"/usr/bin/ \
|| return 1
}
client() {
pkgdesc="client for the MySQL database"
depends="mysql-common"
install=""
local bins="myisam_ftdump mysql mysqlaccess mysqladmin mysqlbug
mysqlcheck mysqldump mysqldumpslow mysql_find_rows
mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid"
mkdir -p "$subpkgdir"/usr/bin/ || return 1
for i in $bins; do
mv "$pkgdir"/usr/bin/${i} "$subpkgdir"/usr/bin/ || return 1
done
}
bench() {
pkgdesc="MySQL benchmark scripts and data"
replaces="mysql"
mkdir -p "$subpkgdir"/usr/share/
mv "$pkgdir"/usr/share/sql-bench "$subpkgdir"/usr/share/
}
md5sums="bf402cbd52a9af33e5c25b2a4bbc56db mysql-5.5.31.tar.gz
b2b038b1905fa5b80f6723d0ee2f811f mysql-prefer-dynamic-library.patch
799b154c4ab8a1971d2753ab584a466a mysql.initd"
sha256sums="9cdd650b47e3ea864ab40d4ab23fa4a9fdfabc7fd018bf5c9cce30722c0abcea mysql-5.5.31.tar.gz
83d685f6c03d0a1c4811b82ff973e617c3758a72e5d1659b409194221d0cc1c7 mysql-prefer-dynamic-library.patch
6876f86d25bc8a276fd43c13e237feac4c2cef9f9cadb6edce1cee3d7b4b4b29 mysql.initd"
sha512sums="2384e08cf78891718aaa8b962666f81c06d1762faff3facb1c0d59c476714416f86ff5186a8e443a78cd8654583241bb8e857cd5a9fb483e77cbb58ca9f7eae6 mysql-5.5.31.tar.gz
2b6dfe1262a68f08f6d9aa53d204b7fb7bb88af2c5d1e8f84bd83529ea0fb2521c2f10fdfb730ecc29c6d0acfca762badbd89a3679a05315572e679e4f3c12b0 mysql-prefer-dynamic-library.patch
6d5b144c17211b0ea0fa62e24543464bf65ba7abe6bf2284bbf81c8eda1430d304a40058f7ad8a4cb4070481ec5095348b0f3bf67ee719bc8ab20cff23cfd3a7 mysql.initd"