diff --git a/packages/databases/mysql/package.mk b/packages/databases/mysql/package.mk index a3090fc0f5..36351cd2f4 100644 --- a/packages/databases/mysql/package.mk +++ b/packages/databases/mysql/package.mk @@ -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 diff --git a/packages/databases/mysql/scripts/54_mysql b/packages/databases/mysql/scripts/54_mysql index 214c92ff6a..697337669d 100644 --- a/packages/databases/mysql/scripts/54_mysql +++ b/packages/databases/mysql/scripts/54_mysql @@ -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 )& -