diff options
author | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
commit | 2648e999d277eac5c3d331a3609bcc73fafbea71 (patch) | |
tree | 40951fb8e7fdbe28a0baa324ae615055203f1e2e /abs/core/mysql | |
parent | c759b5e0c4aa6fc37412b4dee2cf9ad993fd376d (diff) | |
parent | 7e6f7ca174e1af67178dc5293a312a4a733eb095 (diff) | |
download | linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.zip linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.gz linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.bz2 |
Merge branch 'testing'
# By James Meyer (1091) and others
# Via James Meyer (5) and others
* testing: (1148 commits)
LinHES-config: during install don't kill off lirc. This keeps the remote active all the way to the finish
Change version numbers to 8.0 to match the release number. LinHES-conifg LinHES-system mythdb-initial runit-scripts supplemental-web
LinHES-conifig: mv_install.py for the last partition don't go all the way to the end. Gotta leave room for gpt tables.
xf86-video-ati: xorg ati driver.
LinHES-config: timezip.py add syncing up of parental lvl passwords and starting level with MBE.
LinHES-system: correct the logic for breaking out of the wmctrl loop. As written it would break out of the inner loop..but not the 60 iteration loop.
e16_theme_settings: remove slide-in prop for new windows. For whatever reason this was preventing mplayer from being positioned correctly for appletrailers.
LinHES-config, mythinstall: change case of hd_pvr and serial to all lower refs #902
zilog-firmware: firmware for TX support of the hdpvr and pvr-150 In general I can't recommend anybody using these transmitters but including the firmware just in case someone really wants to
linhes-udev-rules: added hdprv_lirc rule. All of these lirc rules are limited to exactly one device. If more then one device is present then only the last device in init will get the symlink
runit-scripts: fix logging for igdeamon, add support to remote init script so that the blaster is always the first device in the chain. added support specificly for hd_pvr
LinHES-system: add lh_system_restore and lh_system_backup. These scripts are called from the mythmenu. refs #900
iguanair: rebuild with python 2.7
LinHES-system: msg_daemon.py fix init and nasty bug related to timeout. In a nutshell timeout wouldn't work unless a msg without a timeout was called first.
linhes-udev-rules: add rules for mce,streamzap,serial lirc devices.
mythinstall: recompile for matching libs
mythtv: latest .25-fixes and change mythbackup/restore call lh_system_$op to replace mythbackup/mythrestore. mythbackup no longer works correctly with the new windowmanager
linhes-scripts: myth2mp3, myth2x264, myth2xvid: use mythutil to get cutlist
LinHES-config, supplimental-web: Fix proxy numbering for Ceton infiniTV
linhes-system: add additional stuff to the system backup and also introduced an exclude file. The exclude/include files are locate in /home/mythtv/backup_config/
...
Diffstat (limited to 'abs/core/mysql')
-rwxr-xr-x[-rw-r--r--] | abs/core/mysql/PKGBUILD | 166 | ||||
-rw-r--r-- | abs/core/mysql/__changelog | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | abs/core/mysql/my.cnf | 51 | ||||
-rw-r--r-- | abs/core/mysql/mysql.install | 10 | ||||
-rwxr-xr-x | abs/core/mysql/mysqld-post.sh | 7 | ||||
-rw-r--r-- | abs/core/mysql/mysqld-tmpfile.conf | 1 | ||||
-rwxr-xr-x | abs/core/mysql/mysqld.rc (renamed from abs/core/mysql/mysqld) | 6 | ||||
-rw-r--r-- | abs/core/mysql/mysqld.service | 11 | ||||
-rw-r--r-- | abs/core/mysql/skip-abi-check.patch | 13 |
9 files changed, 149 insertions, 121 deletions
diff --git a/abs/core/mysql/PKGBUILD b/abs/core/mysql/PKGBUILD index 3ce1aeb..17850bd 100644..100755 --- a/abs/core/mysql/PKGBUILD +++ b/abs/core/mysql/PKGBUILD @@ -1,109 +1,133 @@ -# $Id: PKGBUILD 88432 2010-08-23 17:32:08Z pierre $ +# $Id: PKGBUILD 167246 2012-09-29 09:32:53Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> -# Contributor: judd <jvinet@zeroflux.org> pkgbase=mysql pkgname=('libmysqlclient' 'mysql-clients' 'mysql') -pkgver=5.1.59 -pkgrel=1 +pkgver=5.5.28 +pkgrel=2 arch=('i686' 'x86_64') license=('GPL') -url="http://www.mysql.com/" -makedepends=('tcp_wrappers' 'zlib' 'perl' 'openssl' 'libtool' 'patch') +url="https://www.mysql.com/products/community/" +makedepends=('cmake' 'openssl' 'zlib') 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') +source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" + 'mysqld.rc' 'my.cnf' 'mysqld-post.sh' 'mysqld-tmpfile.conf' 'mysqld.service') build() { - cd "${srcdir}/${pkgbase}-${pkgver}" - patch -Np0 -i "${srcdir}/skip-abi-check.patch" + mkdir build + cd build + # 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 - make || return 1 + + cmake ../${pkgbase}-${pkgver} \ + -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=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' 'zlib' 'gcc-libs' 'tcp_wrappers') - - cd "${srcdir}/${pkgbase}-${pkgver}" - for dir in include libmysql libmysql_r libmysqld; do + depends=('openssl') + + cd build + for dir in include libmysql libmysqld libservices; do make -C ${dir} DESTDIR="${pkgdir}" install done - install -m644 include/*.h "${pkgdir}/usr/include/mysql/" - - install -d "${pkgdir}/usr/bin" - install -m755 scripts/mysql_config "${pkgdir}/usr/bin/" - - # 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 + + 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}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done } package_mysql-clients(){ pkgdesc="MySQL client tools" depends=('libmysqlclient') - - cd "${srcdir}/${pkgbase}-${pkgver}/client" - make DESTDIR="${pkgdir}" install - # provided by libmysqlclient - rm -rf "${pkgdir}/usr/lib/" + 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}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done # provided by mysql - rm -f "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest} + rm "${pkgdir}"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest} } package_mysql(){ pkgdesc="A fast SQL database server" - backup=('etc/my.cnf' 'etc/mysql/my.cnf') + backup=('etc/mysql/my.cnf') install=mysql.install - depends=('mysql-clients') - optdepends=('perl-dbi' 'perl-dbd-mysql') + depends=('mysql-clients' 'systemd-tools') + options=('emptydirs') - cd "${srcdir}/${pkgbase}-${pkgver}" - make DESTDIR=${pkgdir} install + cd build + make DESTDIR="${pkgdir}" install - install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf - install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld + 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 -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 - + 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 -f ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} + 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 -rf ${pkgdir}/usr/{mysql-test,sql-bench} - rm -f ${pkgdir}/usr/lib/mysql/plugin/*.a + 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 } -md5sums=('1e89816164692f44f768024db4bc05f6' - '2234207625baa29b2ff7d7b4f088abce' - 'd60099985e68e36b156423fca6b50924' - 'a97e574945e19de3908575b956241026') +md5sums=('da8ddb3d00e6e159153d2444360f52a8' + 'e7eb2faeab755cbb2fe03542bf328da9' + 'e0f0c53cb6e3cead8896fa1f0c902789' + '6ea6ceb360d09a774e87335ee098ddd5' + '2fa6e456964d4ff5e6d4f9ff0126aed6' + 'a0e1460c276a50a9666c331de83271f2') diff --git a/abs/core/mysql/__changelog b/abs/core/mysql/__changelog index 96a3b29..ec41d21 100644 --- a/abs/core/mysql/__changelog +++ b/abs/core/mysql/__changelog @@ -1,3 +1,2 @@ -using default arch pkgbuild -my.cnf has data dir modified to use /data/srv -upgrade to 5.1.52 +data dir /data/srv/mysql +removed binary logging diff --git a/abs/core/mysql/my.cnf b/abs/core/mysql/my.cnf index 6f0a683..6d24cfa 100644..100755 --- a/abs/core/mysql/my.cnf +++ b/abs/core/mysql/my.cnf @@ -1,13 +1,14 @@ -# Example MySQL config file for large systems. +# MySQL config file for medium systems. # -# This is for a large system with memory = 512M where the system runs mainly -# MySQL. +# This is for a system with little memory (32M - 64M) where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) # -# You can copy this file to -# /etc/my.cnf to set global options, -# mysql-data-dir/my.cnf to set server-specific options (in this -# installation this directory is /var) or -# ~/.my.cnf to set user-specific options. +# MySQL programs look for option files in a set of +# locations which depend on the deployment platform. +# You can copy this option file to one of those +# locations. For information about these locations, see: +# http://dev.mysql.com/doc/mysql/en/option-files.html # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program @@ -26,7 +27,9 @@ socket = /var/run/mysqld/mysqld.sock port = 3306 socket = /var/run/mysqld/mysqld.sock datadir = /data/srv/mysql -skip-locking +skip-external-locking + +net_buffer_length = 8K key_buffer_size = 80M max_allowed_packet = 1M table_open_cache = 256 @@ -39,20 +42,22 @@ myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 16M join_buffer_size = 128K -# Try number of CPU's*2 for thread_concurrency -#thread_concurrency = 8 + # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! -# +# #skip-networking # Replication Master Server (default) # binary logging is required for replication -#log-bin +#log-bin=mysql-bin + +# binary logging format - mixed recommended +#binlog_format=mixed # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set @@ -112,15 +117,7 @@ server-id = 1 #master-port = <port> # # binary logging - not required for slaves, but recommended -#log-bin - -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname - -# Uncomment the following if you are using BDB tables -#bdb_cache_size = 4M -#bdb_max_lock = 10000 +#log-bin=mysql-bin # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql @@ -141,18 +138,12 @@ quick max_allowed_packet = 16M [mysql] -#no-auto-rehash +no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates -[isamchk] -key_buffer = 20M -sort_buffer_size = 20M -read_buffer = 2M -write_buffer = 2M - [myisamchk] -key_buffer = 20M +key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M diff --git a/abs/core/mysql/mysql.install b/abs/core/mysql/mysql.install index 9e9011d..a98f1a8 100644 --- a/abs/core/mysql/mysql.install +++ b/abs/core/mysql/mysql.install @@ -1,13 +1,21 @@ 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 + usr/bin/mysql_install_db --user=mysql --basedir=/usr chown -R mysql:mysql var/lib/mysql &>/dev/null + + usr/bin/systemd-tmpfiles --create mysqld.conf } 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 + + if [ "$(vercmp $2 5.5)" -lt 0 ]; then + echo " >> " + echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it." + echo " >> " + fi } post_remove(){ diff --git a/abs/core/mysql/mysqld-post.sh b/abs/core/mysql/mysqld-post.sh new file mode 100755 index 0000000..8dc9c4e --- /dev/null +++ b/abs/core/mysql/mysqld-post.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +while true; do + response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break + echo "$response" | grep -q "mysqld is alive" && break + sleep 1 +done diff --git a/abs/core/mysql/mysqld-tmpfile.conf b/abs/core/mysql/mysqld-tmpfile.conf new file mode 100644 index 0000000..6883dc7 --- /dev/null +++ b/abs/core/mysql/mysqld-tmpfile.conf @@ -0,0 +1 @@ +d /run/mysqld 0755 mysql mysql - diff --git a/abs/core/mysql/mysqld b/abs/core/mysql/mysqld.rc index 1ac88a7..4bbddb5 100755 --- a/abs/core/mysql/mysqld +++ b/abs/core/mysql/mysqld.rc @@ -11,7 +11,7 @@ getPID() { case "$1" in start) stat_busy "Starting MySQL Server" - [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null + [ ! -d /run/mysqld ] && install -d -g mysql -o mysql /run/mysqld &>/dev/null if [ -z "$(getPID)" ]; then /usr/bin/mysqld_safe --user=mysql &>/dev/null & if [ $? -gt 0 ]; then @@ -29,7 +29,7 @@ case "$1" in stat_fail exit 1 else - echo $(getPID) > /var/run/mysqld/mysqld.pid + echo $(getPID) > /run/mysqld/mysqld.pid add_daemon mysqld stat_done fi @@ -54,7 +54,7 @@ case "$1" in let timeo=${timeo}-1 done if [ -z "$(getPID)" ]; then - rm -f /var/run/mysqld/mysqld.pid &>/dev/null + rm -f /run/mysqld/mysqld.pid &>/dev/null rm_daemon mysqld stat_done else diff --git a/abs/core/mysql/mysqld.service b/abs/core/mysql/mysqld.service new file mode 100644 index 0000000..0175c68 --- /dev/null +++ b/abs/core/mysql/mysqld.service @@ -0,0 +1,11 @@ +[Unit] +Description=MySQL Server + +[Service] +User=mysql +ExecStart=/usr/bin/mysqld --user=mysql +ExecStartPost=/usr/bin/mysqld-post +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/abs/core/mysql/skip-abi-check.patch b/abs/core/mysql/skip-abi-check.patch deleted file mode 100644 index 6791deb..0000000 --- a/abs/core/mysql/skip-abi-check.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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; \ |