diff options
Diffstat (limited to '')
-rw-r--r-- | source/ap/mariadb/doinst.sh (renamed from source/ap/mysql/doinst.sh) | 5 | ||||
-rwxr-xr-x | source/ap/mariadb/mariadb.SlackBuild (renamed from source/ap/mysql/mysql.SlackBuild) | 170 | ||||
-rw-r--r-- | source/ap/mariadb/mirror.url | 1 | ||||
-rw-r--r-- | source/ap/mariadb/rc.mysqld (renamed from source/ap/mysql/rc.mysqld) | 11 | ||||
-rw-r--r-- | source/ap/mariadb/slack-desc | 19 |
5 files changed, 101 insertions, 105 deletions
diff --git a/source/ap/mysql/doinst.sh b/source/ap/mariadb/doinst.sh index a5d835faf..0defd2fe1 100644 --- a/source/ap/mysql/doinst.sh +++ b/source/ap/mariadb/doinst.sh @@ -20,4 +20,9 @@ fi config etc/rc.d/rc.mysqld.new config etc/mysqlaccess.conf.new +config etc/my.cnf.new +config etc/my.cnf.d/client.cnf.new +config etc/my.cnf.d/mysql-clients.cnf.new +config etc/my.cnf.d/server.cnf.new +config etc/logrotate.d/mysql.new diff --git a/source/ap/mysql/mysql.SlackBuild b/source/ap/mariadb/mariadb.SlackBuild index 6690c0f5e..7ba019593 100755 --- a/source/ap/mysql/mysql.SlackBuild +++ b/source/ap/mariadb/mariadb.SlackBuild @@ -1,6 +1,7 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2011, 2012, 2013 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,12 +23,28 @@ # Build and install MySQL on Slackware # by: David Cantrell <david@slackware.com> -# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com> +# MariaDB conversion by: Heinz Wiesinger <pprkut@liwjatan.at> +# Also maintained by: Patrick Volkerding <volkerdi@slackware.com> - -VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +PKGNAM=mariadb +VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} +# To reduce the package size, the embedded server my be omitted. Currently +# only amarok uses this. To build without embedded support, set this to NO. +EMBEDDED=${EMBEDDED:-YES} + +# Add a description tag to the $BUILD. This is used by +# "build_embedded_package.sh" to mark packages containing the embedded server, +# but can optionally be used with any kind of custom tag desired. +TAG=${TAG:-} + +# Don't keep the large static libraries by default: +KEEPSTATIC=${KEEPSTATIC:-NO} + +# Don't keep the test suite by default: +KEEPTESTS=${KEEPTESTS:-NO} + # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -41,28 +58,25 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-mysql +PKG=$TMP/package-${PKGNAM} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" fi rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf mysql-$VERSION -tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1 -cd mysql-$VERSION +rm -rf ${PKGNAM}-$VERSION +tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1 +cd ${PKGNAM}-$VERSION if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then for patch in $CWD/*.diff.gz ; do @@ -79,10 +93,9 @@ find . \ mkdir build cd build -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ -CXX=gcc \ cmake \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT="RPM" \ @@ -93,129 +106,84 @@ cmake \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_SQLBENCHDIR= \ -DINSTALL_MYSQLTESTDIR=mysql-test \ - -DINSTALL_INFODIR=info \ -DINSTALL_MANDIR=man \ -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \ + -DINSTALL_DOCREADMEDIR="doc/${PKGNAM}-$VERSION" \ + -DINSTALL_DOCDIR="doc/${PKGNAM}-$VERSION" \ -DMYSQL_DATADIR="/var/lib/mysql" \ -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=ON \ - -DWITH_EMBEDDED_SERVER=OFF \ + -DWITH_EMBEDDED_SERVER=${EMBEDDED} \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DUSE_ARIA_FOR_TMP_TABLES=ON \ + -DMANUFACTURER="Slackware" \ .. make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG -# Install sample configuration files: -mkdir -p $PKG/etc/mysql -cp support-files/my-*.cnf $PKG/etc/mysql - -# Move mysqlaccess.conf to a more proper place -mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new -chmod 644 $PKG/etc/mysqlaccess.conf.new - # Leave build directory: cd .. -# install additional headers needed for building external engine plugins: -mkdir -p $PKG/usr/include/mysql/private/atomic - -install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/ - -for i in sql include; do - for j in $i/*.h; do - install -m 644 $j $PKG/usr/include/mysql/private/ - done -done +if [ "$KEEPSTATIC" = "NO" ]; then + # Remove large static libraries: + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.a + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqld.a +fi -for i in include/atomic/*.h; do - install -m 644 $i $PKG/usr/include/mysql/private/atomic/ -done +if [ "$KEEPTESTS" = "NO" ]; then + # Do not include the test suite: + rm -rf $PKG/usr/mysql-test +fi -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +# The ./configure option to omit this has gone away, so we'll omit it +# the old-fashioned way. It's all in the source tarball if you need it. +rm -rf $PKG/usr/sql-bench -# Install docs -mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs -cp -a \ - BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \ - $PKG/usr/doc/mysql-$VERSION -( cd Docs - # Seems most of the Docs/* are gone, but we'll leave the cp stuff - # in case it returns. - cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \ - $PKG/usr/doc/mysql-$VERSION/Docs ) -## Too large to justify since the .html version is right there: -#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt -find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \; - -# This is the directory where databases are stored: +# This is the directory where databases are stored mkdir -p $PKG/var/lib/mysql chown mysql.mysql $PKG/var/lib/mysql chmod 0750 $PKG/var/lib/mysql -# This is where the socket is stored: +# This is where the socket is stored mkdir -p $PKG/var/run/mysql chown mysql.mysql $PKG/var/run/mysql chmod 0755 $PKG/var/run/mysql -# Do not package the test suite: -rm -rf $PKG/usr/mysql-test - -# More unpackaged things: -rm -f $PKG/usr/info/dir -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.* -( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so ) - # Add init script: mkdir -p $PKG/etc/rc.d -# This is intentionally chmod 644. +# This is installed chmod 644 so that the server does not run by default. zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new +rm -rf $PKG/etc/init.d -# Install script: -mkdir -p $PKG/install -zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh -cat $CWD/slack-desc > $PKG/install/slack-desc +# Install mysqlaccess.conf +install -m 644 scripts/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new -# Compress and link manpages, if any: -if [ -d $PKG/usr/man ]; then - ( cd $PKG/usr/man - for manpagedir in $(find . -type d -name "man*") ; do - ( cd $manpagedir - for eachpage in $( find . -type l -maxdepth 1) ; do - ln -s $( readlink $eachpage ).gz $eachpage.gz - rm $eachpage - done - gzip -9 *.? - ) - done - ) -fi +# Mark config files under /etc as .new +mv $PKG/etc/my.cnf $PKG/etc/my.cnf.new +mv $PKG/etc/logrotate.d/mysql $PKG/etc/logrotate.d/mysql.new +for i in client mysql-clients server; do + mv $PKG/etc/my.cnf.d/$i.cnf $PKG/etc/my.cnf.d/$i.cnf.new +done -# Compress info files, if any: -if [ -d $PKG/usr/info ]; then - ( cd $PKG/usr/info - rm -f dir - gzip -9 * - ) -fi +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -# If there's a ChangeLog, installing at least part of the recent history -# is useful, but don't let it get totally out of control: -if [ -r ChangeLog ]; then - DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) - cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog - touch -r ChangeLog $DOCSDIR/ChangeLog -fi +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc -# Build package: cd $PKG -/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-${BUILD}${TAG}.txz + diff --git a/source/ap/mariadb/mirror.url b/source/ap/mariadb/mirror.url new file mode 100644 index 000000000..675f23368 --- /dev/null +++ b/source/ap/mariadb/mirror.url @@ -0,0 +1 @@ +ftp://ftp.osuosl.org:/pub/mariadb/mariadb-5.5.32/kvm-tarbake-jaunty-x86/mariadb-5.5.32.tar.gz diff --git a/source/ap/mysql/rc.mysqld b/source/ap/mariadb/rc.mysqld index 300e6eb2d..7c42d03cc 100644 --- a/source/ap/mysql/rc.mysqld +++ b/source/ap/mariadb/rc.mysqld @@ -3,16 +3,16 @@ # # Copyright 2003 Patrick J. Volkerding, Concord, CA # Copyright 2003 Slackware Linux, Inc., Concord, CA -# Copyright 2008 Patrick J. Volkerding, Sebeka, MN +# Copyright 2008, 2013 Patrick J. Volkerding, Sebeka, MN, USA # # This program comes with NO WARRANTY, to the extent permitted by law. # You may redistribute copies of this program under the terms of the # GNU General Public License. -# To start MySQL automatically at boot, be sure this script is executable: +# To start MariaDB automatically at boot, be sure this script is executable: # chmod 755 /etc/rc.d/rc.mysqld -# Before you can run MySQL, you must have a database. To install an initial +# Before you can run MariaDB, you must have a database. To install an initial # database, do this as root: # # mysql_install_db --user=mysql @@ -31,6 +31,9 @@ # uncommented to improve system security. SKIP="--skip-networking" +# Uncomment the next line to use Oracle's InnoDB plugin instead of the included XtraDB +#INNODB="--ignore-builtin-innodb --plugin-load=innodb=ha_innodb.so" + # Start mysqld: mysqld_start() { if [ -x /usr/bin/mysqld_safe ]; then @@ -41,7 +44,7 @@ mysqld_start() { rm -f /var/run/mysql/mysql.pid fi fi - /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP & + /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP $INNODB & fi } diff --git a/source/ap/mariadb/slack-desc b/source/ap/mariadb/slack-desc new file mode 100644 index 000000000..867765fa4 --- /dev/null +++ b/source/ap/mariadb/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mariadb: mariadb (Drop-in replacement for the MySQL Database Server) +mariadb: +mariadb: MariaDB is a backward compatible, drop-in replacement branch of the +mariadb: MySQL(R) Database Server. It includes all major open source storage +mariadb: engines, including the Aria storage engine. +mariadb: +mariadb: Homepage: http://mariadb.org/ +mariadb: +mariadb: +mariadb: +mariadb: |