diff options
Diffstat (limited to 'source/ap/mysql')
-rw-r--r-- | source/ap/mysql/README.mysql-embedded | 7 | ||||
-rw-r--r-- | source/ap/mysql/doinst.sh | 1 | ||||
-rw-r--r-- | source/ap/mysql/mirror-url | 1 | ||||
-rwxr-xr-x | source/ap/mysql/mysql-embedded.SlackBuild | 221 | ||||
-rwxr-xr-x | source/ap/mysql/mysql-embedded.build | 63 | ||||
-rwxr-xr-x | source/ap/mysql/mysql.SlackBuild | 122 |
6 files changed, 290 insertions, 125 deletions
diff --git a/source/ap/mysql/README.mysql-embedded b/source/ap/mysql/README.mysql-embedded new file mode 100644 index 00000000..21b519e9 --- /dev/null +++ b/source/ap/mysql/README.mysql-embedded @@ -0,0 +1,7 @@ +The mysql-embedded.SlackBuild produces a package containing +a static libmysqld.a library (and some support files) that +is required in order to build applications that embed a +mysql server (such as amarok). If you need to build such +applications, first you'll need to use this SlackBuild to +prepare a mysql package that contains embedded support and +install it on your system. diff --git a/source/ap/mysql/doinst.sh b/source/ap/mysql/doinst.sh index 22f77474..a5d835fa 100644 --- a/source/ap/mysql/doinst.sh +++ b/source/ap/mysql/doinst.sh @@ -19,4 +19,5 @@ if [ -e etc/rc.d/rc.mysqld ]; then fi config etc/rc.d/rc.mysqld.new +config etc/mysqlaccess.conf.new diff --git a/source/ap/mysql/mirror-url b/source/ap/mysql/mirror-url new file mode 100644 index 00000000..33ff56b0 --- /dev/null +++ b/source/ap/mysql/mirror-url @@ -0,0 +1 @@ +http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz diff --git a/source/ap/mysql/mysql-embedded.SlackBuild b/source/ap/mysql/mysql-embedded.SlackBuild new file mode 100755 index 00000000..f5f178a9 --- /dev/null +++ b/source/ap/mysql/mysql-embedded.SlackBuild @@ -0,0 +1,221 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Build and install MySQL on Slackware +# by: David Cantrell <david@slackware.com> +# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com> + + +VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mysql + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + 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 + +if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then + for patch in $CWD/*.diff.gz ; do + zcat $patch | patch -p1 --verbose || exit 1 + done +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir build +cd build +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ +CXX=gcc \ +cmake \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT="RPM" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -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" \ + -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=ON \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ + .. + +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 + +for i in include/atomic/*.h; do + install -m 644 $i $PKG/usr/include/mysql/private/atomic/ +done + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# 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: +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: +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. +zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new + +# Install script: +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# 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 + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# 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 + +# Build package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-${BUILD}_withembedded.txz diff --git a/source/ap/mysql/mysql-embedded.build b/source/ap/mysql/mysql-embedded.build deleted file mode 100755 index 004bb30d..00000000 --- a/source/ap/mysql/mysql-embedded.build +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# Build and install MySQL on Slackware -# by: David Cantrell <david@slackware.com> -# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com> - -VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-mysql - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - 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 - -if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then - for patch in $CWD/*.diff.gz ; do - zcat $patch | patch -p1 --verbose || exit 1 - done -fi - -CFLAGS="$SLKCFLAGS -fPIC" CXXFLAGS="$SLKCFLAGS -fPIC" \ - ./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} \ - --datadir=/usr/share --sysconfdir=/etc/mysql \ - --libexecdir=/usr/sbin --localstatedir=/var/lib/mysql \ - --without-docs --without-man --without-server \ - --with-embedded-server \ - --without-readline --disable-shared --with-charset=utf8 \ - --without-debug --with-pthread --without-ssl --without-query-cache \ - --without-geometry --with-pic - -make -j6 || make || exit 1 - -cp libmysqld/libmysqld.a /usr/lib${LIBDIRSUFFIX}/mysql/ - diff --git a/source/ap/mysql/mysql.SlackBuild b/source/ap/mysql/mysql.SlackBuild index ce149a15..6690c0f5 100755 --- a/source/ap/mysql/mysql.SlackBuild +++ b/source/ap/mysql/mysql.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -77,82 +77,104 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +mkdir build +cd build CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ CXX=gcc \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --with-mysqld-user=mysql \ - --with-unix-socket-path=/var/run/mysql/mysql.sock \ - --localstatedir=/var/lib/mysql \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --enable-assembler \ - --without-debug \ - --enable-thread-safe-client \ - --with-extra-charsets=complex \ - --with-ssl=/usr \ - --enable-largefile \ - --with-innodb \ - --with-readline \ - --build=$ARCH-slackware-linux -# -# --without-readline +cmake \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT="RPM" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -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" \ + -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_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ + .. make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG -# install additional headers needed for building external engine plugins -for i in sql include regex; do +# 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/ + install -m 644 $j $PKG/usr/include/mysql/private/ done done -mkdir -p $PKG/usr/include/mysql/atomic for i in include/atomic/*.h; do - install -m 644 $i $PKG/usr/include/mysql/atomic/ + install -m 644 $i $PKG/usr/include/mysql/private/atomic/ done -# 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 - find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -# Install support files -mkdir -p $PKG/etc -cp support-files/my-{huge,large,medium,small}.cnf $PKG/etc - # Install docs mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs cp -a \ - COPYING* EXCEPTIONS* INSTALL-SOURCE README* \ + 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 INSTALL-BINARY *.html *.txt Flags \ + 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 include the test suite: +# 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. @@ -163,29 +185,6 @@ mkdir -p $PKG/install zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cat $CWD/slack-desc > $PKG/install/slack-desc -# Add some handy library symlinks: -if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/mysql/libmysqlclient.so.16 ]; then - ( cd $PKG/usr/lib${LIBDIRSUFFIX} - rm -f libmysqlclient.so libmysqlclient.so.16 - ln -sf mysql/libmysqlclient.so . - ln -sf mysql/libmysqlclient.so.16 . - ) -else - exit 1 -fi -if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/mysql/libmysqlclient_r.so.16 ]; then - ( cd $PKG/usr/lib${LIBDIRSUFFIX} - rm -f libmysqlclient_r.so libmysqlclient_r.so.16 - ln -sf mysql/libmysqlclient_r.so . - ln -sf mysql/libmysqlclient_r.so.16 . - ) -else - exit 1 -fi - -# Packaging standards: -rm -f $PKG/usr/info/dir - # Compress and link manpages, if any: if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man @@ -220,4 +219,3 @@ fi # Build package: cd $PKG /sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz - |