diff options
Diffstat (limited to 'abs/mv-core/mysql')
| -rw-r--r-- | abs/mv-core/mysql/PKGBUILD | 48 | ||||
| -rw-r--r-- | abs/mv-core/mysql/my.cnf | 150 | ||||
| -rw-r--r-- | abs/mv-core/mysql/my.cnf.mv | 150 | ||||
| -rw-r--r-- | abs/mv-core/mysql/mysql-no-clients.patch | 65 | ||||
| -rwxr-xr-x | abs/mv-core/mysql/mysqld | 87 | ||||
| -rw-r--r-- | abs/mv-core/mysql/mysqld.conf.d | 1 | 
6 files changed, 501 insertions, 0 deletions
| diff --git a/abs/mv-core/mysql/PKGBUILD b/abs/mv-core/mysql/PKGBUILD new file mode 100644 index 0000000..79ec522 --- /dev/null +++ b/abs/mv-core/mysql/PKGBUILD @@ -0,0 +1,48 @@ +pkgname=mysql +pkgver=5.0.60 +pkgrel=1000 +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') +license=('GPL') +source=(http://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-${pkgver}.tar.gz +	mysql-no-clients.patch +	mysqld +	my.cnf +	mysqld.conf.d) + +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 + +  # 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 +  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 +} + + diff --git a/abs/mv-core/mysql/my.cnf b/abs/mv-core/mysql/my.cnf new file mode 100644 index 0000000..5775958 --- /dev/null +++ b/abs/mv-core/mysql/my.cnf @@ -0,0 +1,150 @@ +# mysql config file for medium systems. +# +# This is for a system with little memory (32M - 64M) where MySQL plays +# a important part and systems up to 128M where MySQL is used together with +# other programs (like a web server) +# +# One can in this file use all long options that the program supports. +# If you want to know which options a program support, run the program +# with --help option. + +# The following options will be passed to all MySQL clients +[client] +#password	= your_password +port		= 3306 +socket		= /tmp/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +port		= 3306 +socket		= /tmp/mysql.sock +datadir		= /data/srv/mysql +skip-locking +key_buffer = 16M +max_allowed_packet = 1M +table_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 16K +myisam_sort_buffer_size = 8M +local-infile=1 + +# 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 + +# 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 + +# 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 + +# 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 +#innodb_log_arch_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 +local-infile=1 + +[isamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[myisamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/abs/mv-core/mysql/my.cnf.mv b/abs/mv-core/mysql/my.cnf.mv new file mode 100644 index 0000000..5775958 --- /dev/null +++ b/abs/mv-core/mysql/my.cnf.mv @@ -0,0 +1,150 @@ +# mysql config file for medium systems. +# +# This is for a system with little memory (32M - 64M) where MySQL plays +# a important part and systems up to 128M where MySQL is used together with +# other programs (like a web server) +# +# One can in this file use all long options that the program supports. +# If you want to know which options a program support, run the program +# with --help option. + +# The following options will be passed to all MySQL clients +[client] +#password	= your_password +port		= 3306 +socket		= /tmp/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +port		= 3306 +socket		= /tmp/mysql.sock +datadir		= /data/srv/mysql +skip-locking +key_buffer = 16M +max_allowed_packet = 1M +table_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 16K +myisam_sort_buffer_size = 8M +local-infile=1 + +# 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 + +# 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 + +# 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 + +# 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 +#innodb_log_arch_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 +local-infile=1 + +[isamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[myisamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/abs/mv-core/mysql/mysql-no-clients.patch b/abs/mv-core/mysql/mysql-no-clients.patch new file mode 100644 index 0000000..e1fb5e0 --- /dev/null +++ b/abs/mv-core/mysql/mysql-no-clients.patch @@ -0,0 +1,65 @@ +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/mv-core/mysql/mysqld b/abs/mv-core/mysql/mysqld new file mode 100755 index 0000000..e7f90d2 --- /dev/null +++ b/abs/mv-core/mysql/mysqld @@ -0,0 +1,87 @@ +#!/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 $MYSQLD_ROOT +  /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql 2>/dev/null > /dev/null +  chown -R mysql.mysql $MYSQLD_ROOT +fi + +if [ ! -e /var/log/mysqld.log ]; then +  touch /var/log/mysqld.log +  chown mysql /var/log/mysqld.log +fi + +case "$1" in +  start) +    stat_busy "Starting MySQL" +    if [ -z "$PID" ]; then +       /usr/bin/mysqld_safe --datadir=$MYSQLD_ROOT  2>/dev/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 +          stat_fail +          exit 1 +        else +          echo $PID >/var/run/mysqld.pid +          add_daemon mysqld +          stat_done +        fi +      fi +    else +      stat_fail +      exit 1 +    fi +    ;; + +  stop) +    stat_busy "Stopping MySQL" +    if [ ! -z "$PID" ]; then +      kill $PID &> /dev/null       +      if [ $? -gt 0 ]; then +        stat_fail +        exit 1 +      else +        rm -f /var/run/mysqld.pid &>/dev/null +        rm_daemon mysqld +        stat_done +      fi +    else +      stat_fail +      exit 1 +    fi +    ;; + +  restart) +    $0 stop +    sleep 3 +    $0 start +    ;; +  *) +    echo "usage: $0 {start|stop|restart}"   +esac +exit 0 diff --git a/abs/mv-core/mysql/mysqld.conf.d b/abs/mv-core/mysql/mysqld.conf.d new file mode 100644 index 0000000..04752b1 --- /dev/null +++ b/abs/mv-core/mysql/mysqld.conf.d @@ -0,0 +1 @@ +MYSQLD_ROOT="/var/lib/mysql" | 
