Added mysql-5.1.14 build template.

--HG--
extra : convert_revision : 7414719ac4625fd2f8805d18fbd71096cba41eb6
This commit is contained in:
Juan RP 2010-03-04 13:50:13 +01:00
parent 03b853851a
commit 1534f5be21
21 changed files with 488 additions and 0 deletions

1
srcpkgs/libmysqlclient Symbolic link
View File

@ -0,0 +1 @@
mysql

View File

@ -0,0 +1 @@
mysql

1
srcpkgs/libmysqld-devel Symbolic link
View File

@ -0,0 +1 @@
mysql

1
srcpkgs/libndbclient Symbolic link
View File

@ -0,0 +1 @@
mysql

1
srcpkgs/libndbclient-devel Symbolic link
View File

@ -0,0 +1 @@
mysql

1
srcpkgs/mysql-client Symbolic link
View File

@ -0,0 +1 @@
mysql

1
srcpkgs/mysql-ndb Symbolic link
View File

@ -0,0 +1 @@
mysql

33
srcpkgs/mysql/INSTALL Normal file
View File

@ -0,0 +1,33 @@
# *-*-shell-*-*
#
case ${ACTION} in
post)
cat << _EOF
==========================================================================
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER
To do so, start the server with:
$ /etc/init.d/mysqld start
and then issue the following commands:
$ mysqladmin -u root password 'new-password'
$ mysqladmin -u root -h $hostname password 'new-password'
Alternatively you can run:
$ mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
Don't forget that you should also tweak /etc/mysql/my.cnf
for server settings. Additional configuration files are available
in the /usr/share/mysql/my-*.cnf files.
==========================================================================
_EOF
;;
esac

2
srcpkgs/mysql/depends Normal file
View File

@ -0,0 +1,2 @@
abi_depends=">=5.1.14"
api_depends="${abi_depends}"

150
srcpkgs/mysql/files/my.cnf Normal file
View File

@ -0,0 +1,150 @@
# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.
#
# 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.
#
# 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 = /var/run/mysqld/mysqld.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/run/mysqld/mysqld.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# 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=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
# Point the following paths to different dedicated disks
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 256M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 64M
#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 = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

View File

@ -0,0 +1,10 @@
# Configuration file for MySQL server.
#
# Directory to store database files. Set to /var/lib/mysql by default.
#
#MYSQLD_DATADIR=/var/lib/mysql
#
# Additional arguments to be passed to the MySQL server daemon.
# Please note that you should also tweak /etc/mysql/my.cnf.
#
#MYSQLD_ARGS=""

View File

@ -0,0 +1,47 @@
#!/sbin/runscript
#
: ${MYSQLD_PIDFILE:=/var/run/mysqld/mysqld.pid}
: ${MYSQLD_DATADIR=/var/lib/mysql}
depend()
{
need net localmount
provide mysqld
}
start_pre()
{
if [ ! -d /var/run/mysqld ]; then
mkdir -p /var/run/mysqld
chown mysqld:mysqld /var/run/mysqld
fi
if [ ! -d ${MYSQLD_DATADIR} ]; then
ebegin "Initializing MySQL datadir: ${MYSQLD_DATADIR}"
mkdir -p ${MYSQLD_DATADIR}
/usr/bin/mysql_install_db --datadir=${MYSQLD_DATADIR} \
--user=mysqld 2>&1 >/dev/null && \
chown -R mysqld:mysqld ${MYSQLD_DATADIR}
eend $?
fi
}
start()
{
ebegin "Starting MySQL server"
start-stop-daemon --start --user mysqld:mysqld \
--pidfile ${MYSQLD_PIDFILE} --background \
--exec /usr/sbin/mysqld -- \
--basedir=/usr --datadir=${MYSQLD_DATADIR} \
--user=mysqld --pid-file=${MYSQLD_PIDFILE} \
--external-locking ${MYSQLD_ARGS} 2>&1 >/dev/null
eend $?
}
stop()
{
ebegin "Stopping MySQL server"
start-stop-daemon --stop --pidfile ${MYSQLD_PIDFILE}
eend $?
}

View File

@ -0,0 +1,29 @@
# Template file for 'libmysqlclient-devel'.
#
short_desc="MySQL database development files"
long_desc="${long_desc}
This package includes development libraries and header files."
Add_dependency run libstdc++-devel
Add_dependency run libmysqlclient
noverifyrdeps=yes
do_install()
{
mkdir -p ${DESTDIR}/usr/lib/mysql/plugin \
${DESTDIR}/usr/share/man/man1 ${DESTDIR}/usr/bin \
${DESTDIR}/usr/include/mysql
mv ${SRCPKGDESTDIR}/usr/bin/mysql_config ${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/share/man/man1/mysql_config.1 \
${DESTDIR}/usr/share/man/man1
mv ${SRCPKGDESTDIR}/usr/include/mysql/*.h ${DESTDIR}/usr/include/mysql
mv ${SRCPKGDESTDIR}/usr/lib/mysql/libmysqlclient*.{a,so} ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/share/aclocal ${DESTDIR}/usr/share
for p in *example* mypluglib* *.{a,so}; do
mv ${SRCPKGDESTDIR}/usr/lib/mysql/plugin/${p} \
${DESTDIR}/usr/lib/mysql/plugin
done
}

View File

@ -0,0 +1,16 @@
# Template file for 'libmysqlclient'.
#
short_desc="MySQL database client library"
long_desc="${long_desc}
This package includes the client library."
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run openssl
do_install()
{
mkdir -p ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/lib/mysql/libmysqlclient*.so.* ${DESTDIR}/usr/lib
}

View File

@ -0,0 +1,15 @@
# Template file for 'libmysqld-devel'.
#
short_desc="MySQL embedded database development files"
long_desc="${long_desc}
This package includes the client library."
Add_dependency run glibc
Add_dependency run libmysqlclient-devel
do_install()
{
mkdir -p ${DESTDIR}/usr/lib/mysql
mv ${SRCPKGDESTDIR}/usr/lib/mysql/*.a ${DESTDIR}/usr/lib/mysql
}

View File

@ -0,0 +1,24 @@
# Template file for 'libndbclient-devel'.
#
short_desc="MySQL NDB (Network Database) development files"
long_desc="${long_desc}
This package includes the NDB development files."
Add_dependency run glibc
Add_dependency run libndbclient
noverifyrdeps=yes
do_install()
{
mkdir -p ${DESTDIR}/usr/lib ${DESTDIR}/usr/share/man/man1 \
${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/lib/mysql/libndbclient*.{a,so} \
${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/bin/ndb_config ${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/share/man/man1/ndb_config.1 \
${DESTDIR}/usr/share/man/man1
mv ${SRCPKGDESTDIR}/usr/include ${DESTDIR}/usr
}

View File

@ -0,0 +1,15 @@
# Template file for 'libndbclient'.
#
short_desc="MySQL NDB (Network Database) client library"
long_desc="${long_desc}
This package includes the NDB client library."
Add_dependency run glibc
Add_dependency run zlib
do_install()
{
mkdir -p ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/lib/mysql/libndbclient*.so.* ${DESTDIR}/usr/lib
}

View File

@ -0,0 +1,44 @@
# Template file for 'mysql-client'.
#
short_desc="MySQL database client binaries"
long_desc="${long_desc}
This package includes the client binaries and the additional tools
innotop and mysqlreport."
Add_dependency run libgcc
Add_dependency run glibc
Add_dependency run libstdc++
Add_dependency run ncursesw
Add_dependency run libmysqlclient
Add_dependency run zlib
Add_dependency run tcp_wrappers-libs
Add_dependency run readline
Add_dependency run openssl
Add_dependency run perl
do_install()
{
mkdir -p ${DESTDIR}/usr/{,s}bin ${DESTDIR}/usr/share/man/man{1,8}
for f in innochecksum innotop myisam_ftdump mysql mysql_client_test \
mysql_client_test_embedded mysqldumpslow mysqlbinlog \
mysql_find_rows mysql_fix_extensions mysql_waitpid mysqlaccess \
mysqladmin mysqlanalyze mysqlbug mysqlcheck mysqldump \
mysqlimport mysqloptimize mysqlrepair mysqlreport mysqlshow \
mysqlslap mysqltest_embedded mysqlmanager mysqltest \
mysqlhotcopy mysql_upgrade mysql_zap; do
if [ -f ${SRCPKGDESTDIR}/usr/bin/${f} ]; then
mv ${SRCPKGDESTDIR}/usr/bin/${f} ${DESTDIR}/usr/bin
elif [ -f ${SRCPKGDESTDIR}/usr/sbin/${f} ]; then
mv ${SRCPKGDESTDIR}/usr/sbin/${f} ${DESTDIR}/usr/sbin
fi
if [ -f ${SRCPKGDESTDIR}/usr/share/man/man1/${f}.1 ]; then
mv ${SRCPKGDESTDIR}/usr/share/man/man1/${f}.1 \
${DESTDIR}/usr/share/man/man1
elif [ -f ${SRCPKGDESTDIR}/usr/share/man/man8/${f}.8 ]; then
mv ${SRCPKGDESTDIR}/usr/share/man/man8/${f}.8 \
${DESTDIR}/usr/share/man/man8
fi
done
}

View File

@ -0,0 +1,26 @@
# Template file for 'mysql-ndb'.
#
short_desc="MySQL NDB (Network Database) binaries"
long_desc="${long_desc}
This package includes the binaries for the MySQL NDB (Network Database)
component."
Add_dependency run libgcc
Add_dependency run glibc
Add_dependency run libstdc++
Add_dependency run ncursesw
Add_dependency run zlib
Add_dependency run readline
do_install()
{
mkdir -p ${DESTDIR}/usr/{,s}bin ${DESTDIR}/usr/share/man/man{1,8}
mv ${SRCPKGDESTDIR}/usr/bin/ndb_* ${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/sbin/ndb* ${DESTDIR}/usr/sbin
mv ${SRCPKGDESTDIR}/usr/share/man/man1/ndb* \
${DESTDIR}/usr/share/man/man1
mv ${SRCPKGDESTDIR}/usr/share/man/man8/ndb* \
${DESTDIR}/usr/share/man/man8
}

67
srcpkgs/mysql/template Normal file
View File

@ -0,0 +1,67 @@
# Template file for 'mysql'
pkgname=mysql
version=5.1.44
distfiles="http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/mysql-${version}.tar.gz"
build_style=gnu_configure
configure_args="--localstatedir=/var --sysconfdir=/etc/mysql
--with-libwrap --with-charset=utf8 --with-collation=utf8_general_ci
--with-extra-charsets=complex --with-embedded-server --enable-local-infile
--with-unix-socket-path=/var/run/mysqld/mysqld.sock --enable-assembler
--with-pthread --with-named-curses-libs=\"-lncursesw\" --with-ssl=/usr
--with-zlib-dir=/usr --with-fast-mutexes --with-big-tables
--with-plugins=all --with-embedded-privilege-control --with-mysqlmanager
--with-mysqld-user=mysqld --enable-thread-safe-client
--libexecdir=/usr/sbin --without-readline"
short_desc="The world's most popular open source database"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=15dfccb34082a633a3f1793c21c7bf1432bf009a35acef0068885b7b68ecb540
long_desc="
MySQL is the world's most popular open source database software, with over
100 million copies of its software downloaded or distributed throughout
it's history. With its superior speed, reliability, and ease of use, MySQL
has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom
companies and forward-thinking corporate IT Managers because it eliminates
the major problems associated with downtime, maintenance and administration
for modern, online applications."
# Fix build with gcc-4.4.
CFLAGS="-fPIC -fno-strict-aliasing"
CXXFLAGS="-fPIC -fno-strict-aliasing"
subpackages="libmysqlclient libmysqlclient-devel libndbclient"
subpackages="${subpackages} libndbclient-devel libmysqld-devel"
subpackages="${subpackages} mysql-client mysql-ndb"
conf_files="/etc/mysql/my.cnf /etc/conf.d/mysqld"
openrc_services="mysqld default"
# Create mysqld user/group.
system_accounts="mysqld"
mysqld_homedir="/var/lib/mysql"
Add_dependency run glibc
Add_dependency run libgcc
Add_dependency run libstdc++
Add_dependency run zlib
Add_dependency run tcp_wrappers-libs
Add_dependency run openssl
Add_dependency run mysql-client
Add_dependency build libstdc++-devel
Add_dependency build zlib-devel
Add_dependency build tcp_wrappers-devel
Add_dependency build ncursesw-devel
Add_dependency build openssl-devel
Add_dependency build readline-devel
Add_dependency full perl
post_install()
{
# Remove tests
rm -rf ${DESTDIR}/usr/sql-bench ${DESTDIR}/usr/mysql-test
# Install config files and OpenRC service.
install -D -m640 ${FILESDIR}/my.cnf ${DESTDIR}/etc/mysql/my.cnf
install -D -m644 ${FILESDIR}/mysqld.confd ${DESTDIR}/etc/conf.d/mysqld
install -D -m755 ${FILESDIR}/mysqld.rc ${DESTDIR}/etc/init.d/mysqld
}

View File

@ -480,3 +480,6 @@ libecpg_compat.so postgresql-libs postgresql-libs-devel
libecpg.so postgresql-libs postgresql-libs-devel
libpgtypes.so postgresql-libs postgresql-libs-devel
libpq.so postgresql-libs postgresql-libs-devel
libmysqlclient_r.so.16 libmysqlclient libmysqlclient-devel
libmysqlclient.so.16 libmysqlclient libmysqlclient-devel
libndbclient.so.16 libndbclient libndbclient-devel