diff options
| -rw-r--r-- | abs/core-testing/mysql/PKGBUILD | 153 | ||||
| -rw-r--r-- | abs/core-testing/mysql/__changelog | 15 | ||||
| -rw-r--r-- | abs/core-testing/mysql/mysql-no-clients.patch | 65 | ||||
| -rw-r--r-- | abs/core-testing/mysql/mysql.install | 20 | ||||
| -rwxr-xr-x | abs/core-testing/mysql/mysqld | 67 | ||||
| -rw-r--r-- | abs/core-testing/mysql/mysqld.conf.d | 1 | ||||
| -rw-r--r-- | abs/core-testing/mysql/skip-abi-check.patch | 13 | 
7 files changed, 171 insertions, 163 deletions
| diff --git a/abs/core-testing/mysql/PKGBUILD b/abs/core-testing/mysql/PKGBUILD index c91ac41..ce41dbc 100644 --- a/abs/core-testing/mysql/PKGBUILD +++ b/abs/core-testing/mysql/PKGBUILD @@ -1,56 +1,113 @@ -# $Id: PKGBUILD 23595 2009-01-11 13:14:19Z douglas $ -# Maintainer: Alexander Baldeck <alexander@archlinux.org> +# $Id: PKGBUILD 81345 2010-05-28 20:08:31Z jgc $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>  # Contributor: judd <jvinet@zeroflux.org> -pkgname=mysql -pkgver=5.0.75 -pkgrel=4 -pkgdesc="A fast SQL database server" -arch=(i686 x86_64) -backup=(etc/my.cnf etc/conf.d/mysqld) -depends=("mysql-clients>=${pkgver}" 'tcp_wrappers') -makedepends=('libtool') -url=('http://www.mysql.com/') -options=('!libtool') -optdepends=('perl-dbi' 'perl-dbd-mysql') + +pkgbase=mysql +pkgname=('libmysqlclient' 'mysql-clients' 'mysql') +pkgver=5.1.47 +pkgrel=1 +arch=('i686' 'x86_64')  license=('GPL') -source=(ftp://ftp.pucpr.br/mysql/Downloads/MySQL-5.0/mysql-${pkgver}.tar.gz -	mysql-no-clients.patch -	mysqld -	my.cnf -	mysqld.conf.d) +url="http://www.mysql.com/" +makedepends=('tcp_wrappers' 'zlib' 'perl' 'openssl' 'libtool' 'patch') +options=('!libtool') +source=(http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/${pkgbase}-${pkgver}.tar.gz +        mysqld +        my.cnf +        skip-abi-check.patch) +md5sums=('02b9964b3966832f3d6bc87524bfd73f' +         '2234207625baa29b2ff7d7b4f088abce' +         '0337741fa9afbe57939993636081a827' +         'a97e574945e19de3908575b956241026')  build() { -  # PIC -  cd ${startdir}/src/${pkgname}-${pkgver} -  patch -Np1 -i ${startdir}/src/mysql-no-clients.patch || return 1 -  ./configure --prefix=/usr --libexecdir=/usr/sbin \ -    --without-debug --without-docs --without-bench --without-readline \ -    --with-innodb --enable-local-infile --with-openssl \ -    --with-charset=latin1 --with-collation=latin1_general_ci \ -    --with-extra-charsets=complex --enable-thread-safe-client \ -    --with-libwrap --with-berkeley-db --with-embedded-server - -  # fixes -  sed -i -e 's/^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$/#define\ HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE/g' include/config.h || return 1 -  sed -i -e 's/size_socket/socklen_t/g' sql/mysqld.cc || return 1 - -  pushd include || return -  make || return 1 -  popd -  pushd libmysql -  make link_sources get_password.lo || return -  popd +  cd "${srcdir}/${pkgbase}-${pkgver}" +  patch -Np0 -i "${srcdir}/skip-abi-check.patch" || return 1 +  # CFLAGS/CXXFLAGS as suggested upstream +  CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \ +  CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \ +  ./configure --prefix=/usr \ +    --libexecdir=/usr/sbin \ +    --localstatedir=/var \ +    --sysconfdir=/etc/mysql \ +    --without-docs \ +    --without-readline \ +    --with-ssl \ +    --with-libwrap \ +    --with-charset=utf8 \ +    --with-collation=utf8_general_ci \ +    --with-extra-charsets=complex \ +    --with-embedded-server \ +    --with-unix-socket-path=/var/run/mysqld/mysqld.sock \ +    --enable-local-infile \ +    --with-plugins=partition,ftexample,archive,blackhole,federated,heap,innobase,innodb_plugin,ndbcluster || return 1    make || return 1 -  make DESTDIR=${startdir}/pkg install -  rm -rf ${startdir}/pkg/usr/{mysql-test,sql-bench} -  install -D -m644 ../my.cnf ${startdir}/pkg/etc/my.cnf -  install -D -m755 ../mysqld ${startdir}/pkg/etc/rc.d/mysqld -  install -D -m644 ../mysqld.conf.d ${startdir}/pkg/etc/conf.d/mysqld -  rm -f ${startdir}/pkg/usr/bin/mysql_config  } -md5sums=('a234f0a60a7f8c290d9875cba3a2c5a2' -         'e892aac36cbeb57f0e003ec0936afb3b' -         'cfff3585dd70cde3ac1ce69e64008733' +package_libmysqlclient(){ +  pkgdesc="MySQL client libraries" +  depends=('openssl' 'zlib' 'gcc-libs' 'tcp_wrappers') +   +  cd "${srcdir}/${pkgbase}-${pkgver}" +  for dir in include libmysql libmysql_r libmysqld; do +    make -C ${dir} DESTDIR="${pkgdir}" install || return 1 +  done +  install -m644 include/*.h "${pkgdir}/usr/include/mysql/" || return 1 + +  install -d "${pkgdir}/usr/bin" +  install -m755 scripts/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 +} + +package_mysql-clients(){ +  pkgdesc="MySQL client tools" +  depends=('libmysqlclient') +   +  cd "${srcdir}/${pkgbase}-${pkgver}/client" +  make DESTDIR="${pkgdir}" install || return 1 + +  # provided by libmysqlclient +  rm -rf "${pkgdir}/usr/lib/" + +  # provided by mysql +  rm -f "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest} +} + +package_mysql(){ +  pkgdesc="A fast SQL database server" +  backup=('etc/my.cnf' 'etc/mysql/my.cnf') +  install=mysql.install +  depends=('mysql-clients') +  optdepends=('perl-dbi' 'perl-dbd-mysql') + +  cd "${srcdir}/${pkgbase}-${pkgver}" +  make DESTDIR=${pkgdir} install || return 1 + +  install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf || return 1 +  install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld || return 1 + +  # provided by libmysqlclient +  rm -f ${pkgdir}/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded} +  rm -f ${pkgdir}/usr/lib/mysql/libmysqlclient* +  rm -f ${pkgdir}/usr/lib/mysql/libmysqld.a +  rm -f ${pkgdir}/usr/include/mysql/*.h +   +  # provided by mysql-clients +  rm -f ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} + +  # not needed +  rm -rf ${pkgdir}/usr/{mysql-test,sql-bench} +  rm -f ${pkgdir}/usr/lib/mysql/plugin/*.a +} +md5sums=('02b9964b3966832f3d6bc87524bfd73f' +         '040148932c625794c4db81ab9139eb68'           '078f6e824d6097d558bcf7c16d508d92' -         'd81d1f51e9ee6941425a63456d07cb21') +         'a97e574945e19de3908575b956241026') diff --git a/abs/core-testing/mysql/__changelog b/abs/core-testing/mysql/__changelog index aa066aa..5466afc 100644 --- a/abs/core-testing/mysql/__changelog +++ b/abs/core-testing/mysql/__changelog @@ -1,13 +1,2 @@ -my.cnf --enable networking --datadir /data/srv/mysql --query_cache_size --tmp_table_size --max_heap_table_size --thread_cache_size --table_cache - -mysqld -	-redirect output to /dev/null -	--skip-name-resolve  -    replace mkdir with mkdir -p +6/13/10 - chw - LinHES specific my.cnf +	- chw - mysqld, added --skip-name-resolve to mysqld_safe line and output to /dev/null diff --git a/abs/core-testing/mysql/mysql-no-clients.patch b/abs/core-testing/mysql/mysql-no-clients.patch deleted file mode 100644 index e1fb5e0..0000000 --- a/abs/core-testing/mysql/mysql-no-clients.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -ruN mysql-5.0.51.orig/Makefile.in mysql-5.0.51/Makefile.in ---- mysql-5.0.51.orig/Makefile.in	2007-12-07 12:59:21.000000000 +0000 -+++ mysql-5.0.51/Makefile.in	2007-12-07 13:03:21.000000000 +0000 -@@ -376,7 +376,7 @@ - SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \ - 			@readline_topdir@ sql-common scripts \ - 			@thread_dirs@ pstack \ --			@sql_union_dirs@ @man_dirs@ tests \ -+			strings mysys dbug extra regex bdb innobase myisam myisammrg heap vio sql @man_dirs@ tests \ - 			netware @libmysqld_dirs@ \ - 			@bench_dirs@ support-files @tools_dirs@ -  -diff -ruN mysql-5.0.51.orig/include/Makefile.in mysql-5.0.51/include/Makefile.in ---- mysql-5.0.51.orig/include/Makefile.in	2007-12-07 12:59:20.000000000 +0000 -+++ mysql-5.0.51/include/Makefile.in	2007-12-07 13:00:12.000000000 +0000 -@@ -557,7 +557,6 @@ - 	  test -z "$$dir" || $(mkdir_p) "$$dir"; \ - 	done - install: $(BUILT_SOURCES) --	$(MAKE) $(AM_MAKEFLAGS) install-am - install-exec: install-exec-am - install-data: install-data-am - uninstall: uninstall-am -diff -ruN mysql-5.0.51.orig/tests/Makefile.in mysql-5.0.51/tests/Makefile.in ---- mysql-5.0.51.orig/tests/Makefile.in	2007-12-07 12:59:20.000000000 +0000 -+++ mysql-5.0.51/tests/Makefile.in	2007-12-07 13:01:51.000000000 +0000 -@@ -96,7 +96,7 @@ - am_mysql_client_test_OBJECTS = mysql_client_test.$(OBJEXT) \ - 	my_memmem.$(OBJEXT) - mysql_client_test_OBJECTS = $(am_mysql_client_test_OBJECTS) --am__DEPENDENCIES_1 = $(top_builddir)/libmysql/libmysqlclient.la -+am__DEPENDENCIES_1 = /usr/lib/mysql/libmysqlclient.so - am__DEPENDENCIES_2 = - mysql_client_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - 	$(am__DEPENDENCIES_2) -@@ -106,7 +106,7 @@ - thread_test_SOURCES = thread_test.c - thread_test_OBJECTS = thread_test.$(OBJEXT) - thread_test_LDADD = $(LDADD) --thread_test_DEPENDENCIES = $(top_builddir)/libmysql/libmysqlclient.la -+thread_test_DEPENDENCIES = /usr/lib/mysql/libmysqlclient.so - DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles -@@ -405,7 +405,7 @@ - 			$(openssl_includes) -  - LDADD = @CLIENT_EXTRA_LDFLAGS@ \ --                        $(top_builddir)/libmysql/libmysqlclient.la -+                        /usr/lib/mysql/libmysqlclient.so -  - mysql_client_test_LDADD = $(LDADD) $(CXXLDFLAGS) - mysql_client_test_SOURCES = mysql_client_test.c\ -diff -ruN mysql-5.0.51.orig/tools/Makefile.in mysql-5.0.51/tools/Makefile.in ---- mysql-5.0.51.orig/tools/Makefile.in	2007-12-07 12:59:19.000000000 +0000 -+++ mysql-5.0.51/tools/Makefile.in	2007-12-07 13:02:32.000000000 +0000 -@@ -369,7 +369,7 @@ - 		$(openssl_includes) -  - LDADD = @CLIENT_EXTRA_LDFLAGS@ \ --		$(top_builddir)/libmysql_r/libmysqlclient_r.la \ -+		/usr/lib/mysql/libmysqlclient_r.so \ - 		@openssl_libs@ @yassl_libs@ @ZLIB_LIBS@ -  - mysqltestmanager_SOURCES = mysqlmanager.c diff --git a/abs/core-testing/mysql/mysql.install b/abs/core-testing/mysql/mysql.install new file mode 100644 index 0000000..9e9011d --- /dev/null +++ b/abs/core-testing/mysql/mysql.install @@ -0,0 +1,20 @@ +post_install(){ +  groupadd -g 89 mysql &>/dev/null +  useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null +  usr/bin/mysql_install_db --user=mysql +  chown -R mysql:mysql var/lib/mysql &>/dev/null +} + +post_upgrade(){ +  getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null +  getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null +} + +post_remove(){ +  if getent passwd mysql >/dev/null 2>&1; then +    userdel mysql +  fi +  if getent group mysql >/dev/null 2>&1; then +    groupdel mysql +  fi +} diff --git a/abs/core-testing/mysql/mysqld b/abs/core-testing/mysql/mysqld index 5857df8..882e6dd 100755 --- a/abs/core-testing/mysql/mysqld +++ b/abs/core-testing/mysql/mysqld @@ -1,48 +1,35 @@  #!/bin/bash -MYSQLD_ROOT="/var/lib/mysql" -# source application-specific settings -[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld -  # general config  . /etc/rc.conf  . /etc/rc.d/functions -PID=`pidof -o %PPID /usr/sbin/mysqld` -if [ ! `egrep '^mysql:' /etc/group` ]; then -  stat_busy "Adding mysql group" -  groupadd -g 89 mysql -  stat_done -fi -if [ ! `egrep '^mysql:' /etc/passwd` ]; then -  stat_busy "Adding mysql user" -  useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql -  [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT -  stat_done -fi - -if [ ! -d $MYSQLD_ROOT ]; then -  mkdir -p $MYSQLD_ROOT -  /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql 2>/dev/null 1>/dev/null -  chown -R mysql.mysql $MYSQLD_ROOT -fi +getPID() { +   echo $(pgrep -u mysql mysqld 2>/dev/null); +}  case "$1" in    start) -    stat_busy "Starting MySQL" -    if [ -z "$PID" ]; then -       /usr/bin/mysqld_safe --skip-name-resolve --datadir=$MYSQLD_ROOT >/dev/null 2>/dev/null & +    stat_busy "Starting MySQL Server" +    [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null +    if [ -z "$(getPID)" ]; then +       /usr/bin/mysqld_safe --skip-name-resolve --user=mysql >/devl/null &>/dev/null &        if [ $? -gt 0 ]; then          stat_fail          exit 1        else -        sleep 1 # wait on children -        PID=`pidof -o %PPID /usr/sbin/mysqld` -        if [ -z "$PID" ]; then +        timeo=30 +        while [ $timeo -gt 0 ]; do +          response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break +          echo "$response" | grep -q "mysqld is alive" && break +          sleep 1 +          let timeo=${timeo}-1 +        done +        if [ $timeo -eq 0 ]; then            stat_fail            exit 1          else -          echo $PID >/var/run/mysqld.pid +          echo $(getPID) > /var/run/mysqld/mysqld.pid            add_daemon mysqld            stat_done          fi @@ -54,16 +41,25 @@ case "$1" in      ;;    stop) -    stat_busy "Stopping MySQL" -    if [ ! -z "$PID" ]; then -      kill $PID &> /dev/null       +    stat_busy "Stopping MySQL Server" +    if [ ! -z "$(getPID)" ]; then +      timeo=30 +      kill $(getPID) &> /dev/null        if [ $? -gt 0 ]; then          stat_fail          exit 1 -      else -        rm -f /var/run/mysqld.pid &>/dev/null +      fi +      while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do +        sleep 1 +        let timeo=${timeo}-1 +      done +      if [ -z "$(getPID)" ]; then +        rm -f /var/run/mysqld/mysqld.pid &>/dev/null          rm_daemon mysqld          stat_done +      else +        stat_fail +        exit 1        fi      else        stat_fail @@ -73,10 +69,9 @@ case "$1" in    restart)      $0 stop -    sleep 3      $0 start      ;;    *) -    echo "usage: $0 {start|stop|restart}"   +    echo "usage: $0 {start|stop|restart}"  esac  exit 0 diff --git a/abs/core-testing/mysql/mysqld.conf.d b/abs/core-testing/mysql/mysqld.conf.d deleted file mode 100644 index 10b7098..0000000 --- a/abs/core-testing/mysql/mysqld.conf.d +++ /dev/null @@ -1 +0,0 @@ -MYSQLD_ROOT="/data/srv/mysql" diff --git a/abs/core-testing/mysql/skip-abi-check.patch b/abs/core-testing/mysql/skip-abi-check.patch new file mode 100644 index 0000000..6791deb --- /dev/null +++ b/abs/core-testing/mysql/skip-abi-check.patch @@ -0,0 +1,13 @@ +--- Makefile.in.orig	2010-05-28 20:03:46.507224494 +0200 ++++ Makefile.in	2010-05-28 20:04:05.737221909 +0200 +@@ -1126,10 +1126,8 @@ + # +  + abi_check:	$(API_PREPROCESSOR_HEADER) +-	$(MAKE) abi_headers="$^" do_abi_check +  + abi_check_all:	$(TEST_PREPROCESSOR_HEADER) +-	$(MAKE) abi_headers="$^" do_abi_check +  + do_abi_check: + 	set -ex; \ | 
