Date: Sunday, February 17, 2013 @ 19:32:53 Author: bpiotrowski Revision: 178170
upgpkg: mysql 5.5.30-2 - use sha256sums - install my-medium.cnf as default config (it's the same as the trunk's my.cnf is) - add additional condiction to mysqld.post ('access denied' means that service is up) - write PID file - make mysql's tmp private Modified: mysql/trunk/PKGBUILD mysql/trunk/mysqld-post.sh mysql/trunk/mysqld.service Deleted: mysql/trunk/my.cnf ----------------+ PKGBUILD | 17 ++---- my.cnf | 145 ------------------------------------------------------- mysqld-post.sh | 3 - mysqld.service | 10 +++ 4 files changed, 17 insertions(+), 158 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-02-17 17:21:40 UTC (rev 178169) +++ PKGBUILD 2013-02-17 18:32:53 UTC (rev 178170) @@ -5,26 +5,23 @@ pkgbase=mysql pkgname=('libmysqlclient' 'mysql-clients' 'mysql') pkgver=5.5.30 -pkgrel=1 +pkgrel=2 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.5/${pkgbase}-${pkgver}.tar.gz" - 'my.cnf' 'mysqld-post.sh' 'mysqld-tmpfile.conf' 'mysqld.service') -md5sums=('f0cdd56f89e781e800cf223bd9edd00c' - '1351485633baf9894cfdf7c5bbffd7b5' - '6ea6ceb360d09a774e87335ee098ddd5' - '2fa6e456964d4ff5e6d4f9ff0126aed6' - 'a0e1460c276a50a9666c331de83271f2') + 'mysqld-post.sh' 'mysqld-tmpfile.conf' 'mysqld.service') +sha256sums=('909fe596e0044082a02d2757b742a33b8a3ff399b589603940494d3d3d975053' + '368f9fd2454d80eb32abb8f29f703d1cf9553353fb9e1ae4529c4b851cb8c5dd' + '2af318c52ae0fe5428e8a9245d1b0fc3bc5ce153842d1563329ceb1edfa83ddd' + 'c34048bdc994f90b067204cf0e0b6a65cb6f38c30d1145186b6a7ae3b101fe84') build() { mkdir build cd build - # CFLAGS/CXXFLAGS as suggested upstream - cmake ../${pkgbase}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -107,7 +104,7 @@ cd build make DESTDIR="${pkgdir}" install - install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/mysql/my.cnf + install -Dm644 "${pkgdir}"/usr/share/mysql/my-medium.cnf "${pkgdir}"/etc/mysql/my.cnf 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 Deleted: my.cnf =================================================================== --- my.cnf 2013-02-17 17:21:40 UTC (rev 178169) +++ my.cnf 2013-02-17 18:32:53 UTC (rev 178170) @@ -1,145 +0,0 @@ -# MySQL config file for medium systems. -# -# 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) -# -# 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 -# with the "--help" option. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -socket = /run/mysqld/mysqld.sock - -# Here follows entries for some specific programs - -# The MySQL server -[mysqld] -port = 3306 -socket = /run/mysqld/mysqld.sock -datadir = /var/lib/mysql -skip-external-locking -key_buffer_size = 16M -max_allowed_packet = 1M -table_open_cache = 64 -sort_buffer_size = 512K -net_buffer_length = 8K -read_buffer_size = 256K -read_rnd_buffer_size = 512K -myisam_sort_buffer_size = 8M - -# 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=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 -# but will not function as a master if omitted -server-id = 1 - -# Replication Slave (comment out master section to use this) -# -# To configure this host as a replication slave, you can choose between -# two methods : -# -# 1) Use the CHANGE MASTER TO command (fully described in our manual) - -# the syntax is: -# -# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, -# MASTER_USER=<user>, MASTER_PASSWORD=<password> ; -# -# where you replace <host>, <user>, <password> by quoted strings and -# <port> by the master's port number (3306 by default). -# -# Example: -# -# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, -# MASTER_USER='joe', MASTER_PASSWORD='secret'; -# -# OR -# -# 2) Set the variables below. However, in case you choose this method, then -# start replication for the first time (even unsuccessfully, for example -# if you mistyped the password in master-password and the slave fails to -# connect), the slave will create a master.info file, and any later -# change in this file to the variables' values below will be ignored and -# overridden by the content of the master.info file, unless you shutdown -# the slave server, delete master.info and restart the slaver server. -# For that reason, you may want to leave the lines below untouched -# (commented) and instead use CHANGE MASTER TO (see above) -# -# required unique id between 2 and 2^32 - 1 -# (and different from the master) -# defaults to 2 if master-host is set -# but will not function as a slave if omitted -#server-id = 2 -# -# The replication master for this slave - required -#master-host = <hostname> -# -# The username the slave will use for authentication when connecting -# to the master - required -#master-user = <username> -# -# The password the slave will authenticate with when connecting to -# the master - required -#master-password = <password> -# -# The port the master is listening on. -# optional - defaults to 3306 -#master-port = <port> -# -# binary logging - not required for slaves, but recommended -#log-bin=mysql-bin - -# Uncomment the following if you are using InnoDB tables -#innodb_data_home_dir = /var/lib/mysql -#innodb_data_file_path = ibdata1:10M:autoextend -#innodb_log_group_home_dir = /var/lib/mysql -# You can set .._buffer_pool_size up to 50 - 80 % -# of RAM but beware of setting memory usage too high -#innodb_buffer_pool_size = 16M -#innodb_additional_mem_pool_size = 2M -# Set .._log_file_size to 25 % of buffer pool size -#innodb_log_file_size = 5M -#innodb_log_buffer_size = 8M -#innodb_flush_log_at_trx_commit = 1 -#innodb_lock_wait_timeout = 50 - -[mysqldump] -quick -max_allowed_packet = 16M - -[mysql] -no-auto-rehash -# Remove the next comment character if you are not familiar with SQL -#safe-updates - -[myisamchk] -key_buffer_size = 20M -sort_buffer_size = 20M -read_buffer = 2M -write_buffer = 2M - -[mysqlhotcopy] -interactive-timeout Modified: mysqld-post.sh =================================================================== --- mysqld-post.sh 2013-02-17 17:21:40 UTC (rev 178169) +++ mysqld-post.sh 2013-02-17 18:32:53 UTC (rev 178170) @@ -1,7 +1,8 @@ #!/bin/sh while true; do - response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break + response=$(/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1) && break echo "$response" | grep -q "mysqld is alive" && break + echo "$response" | grep -q "Access denied for user" && break sleep 1 done Modified: mysqld.service =================================================================== --- mysqld.service 2013-02-17 17:21:40 UTC (rev 178169) +++ mysqld.service 2013-02-17 18:32:53 UTC (rev 178170) @@ -1,11 +1,17 @@ [Unit] -Description=MySQL Server +Description=MySQL database server +After=syslog.target [Service] User=mysql -ExecStart=/usr/bin/mysqld --user=mysql +Group=mysql + +ExecStart=/usr/bin/mysqld --user=mysql --pid-file=/var/run/mysqld/mysqld.pid ExecStartPost=/usr/bin/mysqld-post + +PIDFile=/var/run/mysqld/mysqld.pid Restart=always +PrivateTmp=true [Install] WantedBy=multi-user.target