You are not logged in.

#1 2012-08-01 15:27:58

kmindi
Member
Registered: 2012-08-01
Posts: 4

MySQL 5.6.* Development version somewhere / create AUR package

Hi,

I am interested in the new features of mysql version 5.6 (innodb full text search).

I could not find any package in the repos nor in the AUR. If that is correct we could create one ( I already had a look at the official package for mysql).

Offline

#2 2012-08-29 15:01:00

lspci
Member
From: Virginia, USA
Registered: 2012-06-09
Posts: 242

Re: MySQL 5.6.* Development version somewhere / create AUR package

What makes you think that there's a new version?  MySQL is provided by Oracle, if I'm right, and from the looks of it they haven't come out with version 5.6 yet.


Please don't be a help vampire. | Bitbucket

Give a little more for a little less today.  smile

Offline

#3 2012-08-30 13:29:02

SidK
Member
Registered: 2011-03-03
Posts: 116

Re: MySQL 5.6.* Development version somewhere / create AUR package

There isn't a stable version, but you can install 5.6.6-m9 (which I assume means milestone 9).
Here's a PKGBUILD:

# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>

pkgbase=mysql
pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
pkgver=5.6.6
_milestone=m9
pkgrel=3
arch=('i686' 'x86_64')
license=('GPL')
url="https://www.mysql.com/products/community/"
makedepends=('cmake' 'openssl' 'zlib')
options=('!libtool')
source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.6/${pkgbase}-${pkgver}-${_milestone}.tar.gz"
        'mysqld.rc' 'my.cnf' 'mysqld-post.sh' 'mysqld-tmpfile.conf' 'mysqld.service')
md5sums=('82f4a7fa46db5d735fdf34002be77e9d'
         'e7eb2faeab755cbb2fe03542bf328da9'
         '1c949c0dbea5206af0db14942d9927b6'
         '6ea6ceb360d09a774e87335ee098ddd5'
         '2fa6e456964d4ff5e6d4f9ff0126aed6'
         'a0e1460c276a50a9666c331de83271f2')

build() {
  mkdir build
  cd build

  # CFLAGS/CXXFLAGS as suggested upstream

  cmake ../${pkgbase}-${pkgver}-${_milestone} \
    -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"

  make
}

package_libmysqlclient(){
  pkgdesc="MySQL client libraries"
  depends=('openssl')
  
  cd build
  for dir in include libmysql libmysqld libservices; do
    make -C ${dir} DESTDIR="${pkgdir}" install
  done

  install -d "${pkgdir}"/usr/bin
  install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
  install -d "${pkgdir}"/usr/share/man/man1
  for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do
    install -m644 "${srcdir}"/${pkgbase}-${pkgver}-${_milestone}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
  done
}

package_mysql-clients(){
  pkgdesc="MySQL client tools"
  depends=('libmysqlclient')
  
  cd build
  make -C client DESTDIR="${pkgdir}" install

  # install man pages
  install -d "${pkgdir}"/usr/share/man/man1
  for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do
    install -m644 "${srcdir}"/${pkgbase}-${pkgver}-${_milestone}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
  done

  # provided by mysql
  rm "${pkgdir}"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest}
}

package_mysql(){
  pkgdesc="A fast SQL database server"
  backup=('etc/mysql/my.cnf')
  install=mysql.install
  depends=('mysql-clients' 'systemd-tools')
  options=('emptydirs')

  cd build
  make DESTDIR="${pkgdir}" install

  install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/mysql/my.cnf
  install -Dm755 "${srcdir}"/mysqld.rc "${pkgdir}"/etc/rc.d/mysqld
  install -Dm755 "${srcdir}"/mysqld-post.sh "${pkgdir}"/usr/bin/mysqld-post
  install -Dm644 "${srcdir}"/mysqld-tmpfile.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysqld.conf
  install -d "${pkgdir}"/usr/lib/systemd/system
  install -Dm644 "${srcdir}"/mysqld.service "${pkgdir}"/usr/lib/systemd/system/

  # provided by libmysqlclient
  rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
  rm "${pkgdir}"/usr/lib/libmysql*
  rm -r "${pkgdir}"/usr/include/
  rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
  
  # provided by mysql-clients
  rm "${pkgdir}"/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
  rm "${pkgdir}"/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1

  # not needed
  rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench}
  rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1

  install -dm700 "${pkgdir}"/var/lib/mysql
}

That's based on the PKGBUILD for the mysql in the repos. All I did was edit which version it should grab, the md5sum and in a few places the paths, since the '-m9' needs to be added. I've run it for myself for a couple of weeks and it seems to run quite well.

Note that while you can migrate mysql 5.5 data into mysql 5.6 it won't do the reverse for you. I suggest you make backups and all that. You may have other problems, this is, of course, totally unsupported.

Last edited by SidK (2012-08-30 18:45:00)

Offline

#4 2012-09-15 19:20:39

kmindi
Member
Registered: 2012-08-01
Posts: 4

Re: MySQL 5.6.* Development version somewhere / create AUR package

Thats what I did too smile, can't wait for the release of it

Offline

#5 2012-09-29 21:24:22

kmindi
Member
Registered: 2012-08-01
Posts: 4

Re: MySQL 5.6.* Development version somewhere / create AUR package

Has someone solved (or experienced) the error while compiling mysql-5.6.7-rc?:

http://pastebin.com/RGbRkkCP / https://gist.github.com/3805221

Offline

#6 2012-09-30 22:09:14

kmindi
Member
Registered: 2012-08-01
Posts: 4

Re: MySQL 5.6.* Development version somewhere / create AUR package

Compiling version mysql-5.6.7-rc is working if I set

...
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
...

Offline

Board footer

Powered by FluxBB