void-packages/srcpkgs/mysql/template

137 lines
4.2 KiB
Text

# Template file for 'mysql'
pkgname=mysql
version=5.5.27
revision=2
hostmakedepends="perl cmake bison"
makedepends="zlib-devel ncurses-devel openssl-devel readline-devel"
short_desc="The world's most popular open source database"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="https://www.mysql.com/products/community/"
license="GPL-2"
distfiles="https://downloads.mysql.com/archives/mysql-5.5/$pkgname-$version.tar.gz"
checksum=51ffafbd82039f8afbe5b3c26f15cc338ed6cd4f67e56d7dd33efaa28c9d99e4
long_desc="
MySQL is the world's most popular open source database software, with over
100 million copies of its software downloaded or distributed throughout
it's history. With its superior speed, reliability, and ease of use, MySQL
has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom
companies and forward-thinking corporate IT Managers because it eliminates
the major problems associated with downtime, maintenance and administration
for modern, online applications."
do_configure() {
mkdir build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSYSCONFDIR=/etc/mysql \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DINSTALL_INFODIR=share/mysql/docs \
-DINSTALL_MANDIR=share/man \
-DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_DOCREADMEDIR=share/mysql \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_DOCDIR=share/mysql/docs \
-DINSTALL_SHAREDIR=share/mysql \
-DWITH_READLINE=ON \
-DWITH_ZLIB=system \
-DWITH_SSL=system \
-DWITH_LIBWRAP=OFF \
-DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
-DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
-DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti"
}
do_build() {
cd build
make ${makejobs}
}
do_install() {
cd build
make DESTDIR=${DESTDIR} install
# Remove unneeded stuff.
rm -rf ${DESTDIR}/usr/{sql-bench,mysql-test,data}
rm -f ${DESTDIR}/usr/share/man/man1/mysql-test-run.pl.1
# Configuration file.
vinstall ${FILESDIR}/my.cnf 640 etc/mysql
# systemd service.
vinstall ${FILESDIR}/mysqld.service 644 usr/lib/systemd/system
vinstall ${FILESDIR}/mysqld-post 755 usr/lib/systemd/scripts
vinstall ${FILESDIR}/mysqld.tmpfilesd 644 usr/lib/tmpfiles.d mysqld.conf
}
libmysqlclient_package() {
short_desc="MySQL database client library"
pkg_install() {
vmove "usr/lib/libmysqlclient*.so*"
}
}
libmysqlclient-devel_package() {
depends="libmysqlclient>=${version}_${revision}"
short_desc="MySQL database development files"
pkg_install() {
vmove usr/bin/mysql_config
vmove usr/share/man/man1/mysql_config.1
vmove usr/include
vmove "usr/lib/*.a"
}
}
mysql-client_package() {
depends="perl"
short_desc="MySQL database client binaries"
pkg_install() {
for f in innochecksum innotop myisam_ftdump mysql mysql_client_test \
mysql_client_test_embedded mysqldumpslow mysqlbinlog \
mysql_find_rows mysql_fix_extensions mysql_waitpid mysqlaccess \
mysqladmin mysqlanalyze mysqlbug mysqlcheck mysqldump \
mysqlimport mysqloptimize mysqlrepair mysqlreport mysqlshow \
mysqlslap mysqltest_embedded mysqlmanager mysqltest \
mysqlhotcopy mysql_upgrade mysql_zap; do
if [ -f ${DESTDIR}/usr/bin/${f} ]; then
vmove usr/bin/${f}
elif [ -f ${DESTDIR}/usr/sbin/${f} ]; then
vmove usr/sbin/${f}
fi
if [ -f ${DESTDIR}/usr/share/man/man1/${f}.1 ]; then
vmove usr/share/man/man1/${f}.1
elif [ -f ${DESTDIR}/usr/share/man/man8/${f}.8 ]; then
vmove usr/share/man/man8/${f}.8
fi
done
}
}
mysql_package() {
depends="shadow mysql-client"
conf_files="/etc/mysql/my.cnf"
systemd_services="mysqld.service on"
system_accounts="mysql"
mysqld_homedir="/var/lib/mysql"
pkg_install() {
vmove etc
vmove usr
}
}