mysql: some mysql-server fixes and rework

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2013-08-01 20:08:43 +02:00
parent e4cde4775a
commit 178b417a67
2 changed files with 34 additions and 31 deletions

View File

@ -26,8 +26,8 @@ PKG_LICENSE="LGPL"
PKG_SITE="http://www.mysql.com"
PKG_URL="http://cdn.mysql.com/Downloads/MySQL-5.6/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS="zlib ncurses"
PKG_BUILD_DEPENDS_HOST="toolchain zlib:host ncurses"
PKG_BUILD_DEPENDS_TARGET="toolchain zlib ncurses mysql:host"
PKG_BUILD_DEPENDS_HOST="toolchain ncurses"
PKG_BUILD_DEPENDS_TARGET="toolchain ncurses mysql:host"
PKG_PRIORITY="optional"
PKG_SECTION="database"
PKG_SHORTDESC="mysql: A database server"
@ -36,8 +36,6 @@ PKG_LONGDESC="MySQL is a SQL (Structured Query Language) database server. SQL is
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
# export MAKEFLAGS=-j1
pre_configure_host() {
sed -i "/ADD_SUBDIRECTORY(sql\/share)/d" ../CMakeLists.txt
sed -i "s/ADD_SUBDIRECTORY(libmysql)/&\\nADD_SUBDIRECTORY(sql\/share)/" ../CMakeLists.txt
@ -51,11 +49,6 @@ configure_host() {
-DCMAKE_BUILD_TYPE=Release \
-DWITHOUT_SERVER=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_EXAMPLE_STORAGE_ENGINE=OFF \
-DWITH_FEDERATED_STORAGE_ENGINE=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_EXTRA_CHARSETS=none \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
@ -69,6 +62,7 @@ make_host() {
make comp_err
make gen_lex_hash
make comp_sql
make gen_pfs_lex_token
}
makeinstall_host() {
@ -76,13 +70,13 @@ makeinstall_host() {
cp -PR extra/comp_err $ROOT/$TOOLCHAIN/bin
cp -PR sql/gen_lex_hash $ROOT/$TOOLCHAIN/bin
cp -PR scripts/comp_sql $ROOT/$TOOLCHAIN/bin
cp -PR storage/perfschema/gen_pfs_lex_token $ROOT/$TOOLCHAIN/bin
}
configure_target() {
# strip_lto
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
-DCMAKE_BUILD_TYPE=Release \
-DFEATURE_SET=classic \
-DFEATURE_SET=community \
-DDISABLE_SHARED=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_DOCDIR=share/doc/mysql \
@ -103,18 +97,15 @@ configure_target() {
-DSYSCONFDIR=/etc/mysql \
-DWITHOUT_SERVER=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_EXAMPLE_STORAGE_ENGINE=OFF \
-DWITH_FEDERATED_STORAGE_ENGINE=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=ON \
-DWITH_EXTRA_CHARSETS=all \
-DENABLE_DTRACE=OFF \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
-DWITH_SSL=system \
-DWITH_SSL=bundled \
-DWITH_UNIT_TESTS=OFF \
-DWITH_ZLIB=system \
-DWITH_ZLIB=bundled \
-DSTACK_DIRECTION=1 \
..
}
@ -144,7 +135,17 @@ post_makeinstall_target() {
cp -P extra/my_print_defaults $INSTALL/usr/bin
cp -P client/mysql $INSTALL/usr/bin
cp -P client/mysqladmin $INSTALL/usr/bin
cp -P scripts/mysql_install_db $INSTALL/usr/bin
cp -P ../scripts/mysql_install_db.sh $INSTALL/usr/bin/mysql_install_db
chmod +x $INSTALL/usr/bin/mysql_install_db
sed -e 's,@localstatedir@,/storage/.mysql,g' \
-e 's,@bindir@,/usr/bin,g' \
-e 's,@prefix@,/usr,g' \
-e 's,@libexecdir@,/usr/sbin,g' \
-e 's,@pkgdatadir@,/usr/share/mysql,g' \
-e 's,@scriptdir@,/usr/bin,g' \
-e 's,^.basedir=.*,basedir="/usr",g' \
-e 's,@HOSTNAME@,cat /proc/sys/kernel/hostname,g' \
-i $INSTALL/usr/bin/mysql_install_db
mkdir -p $INSTALL/usr/sbin
cp -P sql/mysqld $INSTALL/usr/sbin

View File

@ -22,22 +22,24 @@
#
# runlevels: openelec, textmode
MYSQL_DATADIR="$CONFIG_CACHE/mysql"
(
progress "Starting MySql server"
mkdir -p /run/mysqld
if [ ! -f /storage/.mysql/data ]
then
mkdir -p /storage/.mysql
mkdir -p /storage/.mysql/data
if [ ! -d "$MYSQL_DATADIR" ]; then
progress "Creating MySql Database"
mkdir -p "$MYSQL_DATADIR"
mysql_install_db --user=root --datadir="$MYSQL_DATADIR" > /dev/null 2>&1
mysqld --user=root --datadir="$MYSQL_DATADIR" > /dev/null 2>&1 &
usleep 3000000
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'openelec' WITH GRANT OPTION;" > /dev/null 2>&1
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'openelec' WITH GRANT OPTION;" > /dev/null 2>&1
mysql_install_db --user=root --datadir=/storage/.mysql/data > /dev/null 2>&1
(mysqld --user=root --datadir=/storage/.mysql/data > /dev/null 2>&1)&
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'openelec' WITH GRANT OPTION;" > /dev/null 2>&1
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'openelec' WITH GRANT OPTION;" > /dev/null 2>&1
killall mysqld
fi
killall mysqld
usleep 2000000
fi
mysqld --user=root --datadir=/storage/.mysql/data > /dev/null 2>&1
mysqld --user=root --datadir="$MYSQL_DATADIR" > /dev/null 2>&1
)&