From ca454d424e2ea196e5ad03a93fff03619d4b864c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 14 Sep 2009 18:43:23 +0200 Subject: [PATCH] new package: add mysql-5.1.38 (does not work at the moment) --- packages/databases/mysql-hosttools/build | 41 ++++++ packages/databases/mysql/55_mysql | 34 +++++ packages/databases/mysql/build | 65 +++++++++ packages/databases/mysql/conf.d/mysqld | 31 +++++ packages/databases/mysql/config/my.cnf | 12 ++ packages/databases/mysql/init.d/55_mysql | 56 ++++++++ packages/databases/mysql/install | 34 +++++ packages/databases/mysql/my.cnf | 39 ++++++ .../10_mysql-5.1.38_crosscompiling.diff | 128 ++++++++++++++++++ packages/databases/mysql/url | 1 + 10 files changed, 441 insertions(+) create mode 100755 packages/databases/mysql-hosttools/build create mode 100755 packages/databases/mysql/55_mysql create mode 100755 packages/databases/mysql/build create mode 100644 packages/databases/mysql/conf.d/mysqld create mode 100644 packages/databases/mysql/config/my.cnf create mode 100755 packages/databases/mysql/init.d/55_mysql create mode 100755 packages/databases/mysql/install create mode 100644 packages/databases/mysql/my.cnf create mode 100644 packages/databases/mysql/patches/10_mysql-5.1.38_crosscompiling.diff create mode 100644 packages/databases/mysql/url diff --git a/packages/databases/mysql-hosttools/build b/packages/databases/mysql-hosttools/build new file mode 100755 index 0000000000..aff2b8875e --- /dev/null +++ b/packages/databases/mysql-hosttools/build @@ -0,0 +1,41 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/build toolchain +$SCRIPTS/unpack mysql + +setup_toolchain host + +cd $BUILD/mysql* + +mkdir -p .objdir-host +cd .objdir-host + +../configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/sbin \ + --localstatedir=/var/mysql \ + +make -C include my_config.h +make -C mysys libmysys.a +make -C strings libmystrings.a + +make -C dbug factorial + +cp -PR dbug/factorial $ROOT/$TOOLCHAIN/bin/mysql-factorial + +make -C vio libvio.a +make -C dbug libdbug.a +make -C regex libregex.a +make -C sql gen_lex_hash + +cp -PR sql/gen_lex_hash $ROOT/$TOOLCHAIN/bin/mysql-gen_lex_hash + +make -C scripts comp_sql + +cp -PR scripts/comp_sql $ROOT/$TOOLCHAIN/bin/mysql-comp_sql + +make -C extra comp_err + +cp -PR extra/comp_err $ROOT/$TOOLCHAIN/bin/mysql-comp_err diff --git a/packages/databases/mysql/55_mysql b/packages/databases/mysql/55_mysql new file mode 100755 index 0000000000..314b212103 --- /dev/null +++ b/packages/databases/mysql/55_mysql @@ -0,0 +1,34 @@ +#!/bin/sh +# +# start mysql server +# +# runlevels: openelec, text, debug + +. /etc/sysconfig + +if test "$OE_MYSQL_START" = "yes" -a -f /etc/my.cnf; then + + if test ! -d $OE_MYSQL_DATADIR/mysql; then + progress "prepare MySQL Systemdatabase" + + install -o mysqld -g mysqld -d $OE_MYSQL_DATADIR + mysql_install_db \ + --datadir=$OE_MYSQL_DATADIR \ + --user=mysqld + fi + + progress "Starting MySQL server" + + mysqld_safe \ + --datadir=$OE_MYSQL_DATADIR \ + --pid-file=$OE_MYSQL_PIDFILE \ + --log-warnings \ + --syslog & + + while [ -f $OE_MYSQL_PIDFILE ]; do + sleep 10 + done + +fi + +exit 0 diff --git a/packages/databases/mysql/build b/packages/databases/mysql/build new file mode 100755 index 0000000000..9acd91d6a5 --- /dev/null +++ b/packages/databases/mysql/build @@ -0,0 +1,65 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/build toolchain +$SCRIPTS/build zlib +$SCRIPTS/build ncurses +$SCRIPTS/build mysql-hosttools + +cd $PKG_BUILD + +ac_cv_c_stack_direction=-1 \ +ac_cv_sys_restartable_syscalls=yes \ +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --target=$TARGET_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/sbin \ + --libdir=/usr/lib \ + --libexecdir=/usr/sbin \ + --localstatedir=/storage/.mysql \ + --with-unix-socket-path=/var/tmp/mysql.socket \ + --with-tcp-port=3306 \ + --disable-static \ + --enable-shared \ + --with-low-memory \ + --enable-largefile \ + --with-big-tables \ + --with-mysqld-user=mysqld \ + --with-extra-charsets=all \ + --with-charset=utf8 \ + --with-collation=utf8_unicode_ci \ + --with-pthread \ + --with-named-thread-libs=-lpthread \ + --enable-thread-safe-client \ + --enable-assembler \ + --enable-local-infile \ + --without-debug \ + --without-docs \ + --without-man \ + --with-readline \ + --without-libwrap \ + --without-pstack \ + --with-server \ + --without-embedded-server \ + --without-libedit \ + --without-query-cache \ + --without-plugin-partition \ + --without-plugin-daemon_example \ + --without-plugin-ftexample \ + --without-plugin-archive \ + --without-plugin-blackhole \ + --without-plugin-example \ + --without-plugin-federated \ + --without-plugin-ibmdb2i \ + --without-plugin-innobase \ + --without-plugin-innodb_plugin \ + --without-plugin-ndbcluster \ + +make + +$MAKEINSTALL + +cp -PR scripts/mysql_config $SYSROOT_PREFIX/usr/bin diff --git a/packages/databases/mysql/conf.d/mysqld b/packages/databases/mysql/conf.d/mysqld new file mode 100644 index 0000000000..6b1281f259 --- /dev/null +++ b/packages/databases/mysql/conf.d/mysqld @@ -0,0 +1,31 @@ +################################################################################ +# MySQL Server environment variables. +# +# This file contains non-OpenELEC evironment variables as well as OpenELEC +# evironment variables that are not user defined. +################################################################################ + +#------------------------------------------------------------------------------- +# starting MySQL Server +#------------------------------------------------------------------------------- +OE_MYSQL_START=yes + +#------------------------------------------------------------------------------- +# Location of MySQL Datadir +#------------------------------------------------------------------------------- +OE_MYSQL_DATADIR=/storage/.mysql + +#------------------------------------------------------------------------------- +# Location of PID-File +#------------------------------------------------------------------------------- +OE_MYSQL_PIDFILE=/var/run/mysqld.pid + +#------------------------------------------------------------------------------- +# Location of Socket-File +#------------------------------------------------------------------------------- +OE_MYSQL_SOCKETFILE=/var/tmp/mysql.socket + +#------------------------------------------------------------------------------- +# Location of Log-File +#------------------------------------------------------------------------------- +OE_MYSQL_LOGFILE=/var/log/mysqld.log diff --git a/packages/databases/mysql/config/my.cnf b/packages/databases/mysql/config/my.cnf new file mode 100644 index 0000000000..3b70d450d3 --- /dev/null +++ b/packages/databases/mysql/config/my.cnf @@ -0,0 +1,12 @@ +[mysqld] +datadir=/storage/.mysql +socket=/var/tmp/mysql.socket +user=mysqld + +# Default to using old password format for compatibility with mysql 3.x +# clients (those using the mysqlclient10 compatibility package). +old_passwords=1 + +[mysqld_safe] +log-error=/var/log/mysqld.log +pid-file=/var/run/mysqld.pid diff --git a/packages/databases/mysql/init.d/55_mysql b/packages/databases/mysql/init.d/55_mysql new file mode 100755 index 0000000000..deabeccccd --- /dev/null +++ b/packages/databases/mysql/init.d/55_mysql @@ -0,0 +1,56 @@ +#!/bin/sh +# +# start mysql server +# +# runlevels: openelec, text, debug + +. /etc/sysconfig + +if test "$OE_MYSQL_START" = "yes"; then + + # creating Logfile + touch $OE_MYSQL_LOGFILE + chown mysqld:mysqld $OE_MYSQL_LOGFILE + chmod 0640 $OE_MYSQL_LOGFILE + + if test ! -d $OE_MYSQL_DATADIR/mysql; then + progress "prepare MySQL Systemdatabase" + + # First, make sure $OE_MYSQL_DATADIR is there with correct permissions + if test ! -e "$OE_MYSQL_DATADIR" -a ! -h "$OE_MYSQL_DATADIR"; then + mkdir -p "$OE_MYSQL_DATADIR" || exit 1 + fi + chown mysqld:mysqld "$OE_MYSQL_DATADIR" + chmod 0755 "$OE_MYSQL_DATADIR" + + # Now create the database + /usr/bin/mysql_install_db \ + --datadir=$OE_MYSQL_DATADIR \ + --user=mysqld + chown -R mysqld:mysqld "$OE_MYSQL_DATADIR" + fi + + progress "Starting MySQL server" + + chown mysqld:mysqld "$OE_MYSQL_DATADIR" + chmod 0755 "$OE_MYSQL_DATADIR" + /usr/bin/mysqld_safe \ + --datadir=$OE_MYSQL_DATADIR \ + --socket="$OE_MYSQL_SOCKETFILE" \ + --log-error="$OE_MYSQL_LOGFILE" \ + --pid-file="$OE_MYSQL_PIDFILE" \ + --user=mysqld >/dev/null 2>&1 & + + STARTTIMEOUT=60 + while [ $STARTTIMEOUT -gt 0 ]; do + RESPONSE=`/usr/bin/mysqladmin \ + --socket="$OE_MYSQL_SOCKETFILE" \ + --user=UNKNOWN_MYSQL_USER ping 2>&1` && break + echo "$RESPONSE" | grep -q "Access denied for user" && break + sleep 1 + let STARTTIMEOUT=${STARTTIMEOUT}-1 + done + +fi + +exit 0 diff --git a/packages/databases/mysql/install b/packages/databases/mysql/install new file mode 100755 index 0000000000..ed90eaf691 --- /dev/null +++ b/packages/databases/mysql/install @@ -0,0 +1,34 @@ +#!/bin/sh + +. config/options +$SCRIPTS/install ncurses +$SCRIPTS/install zlib + +PKG_DIR=`find $PACKAGES -type d -name $1` + +mkdir -p $INSTALL/usr/lib +cp -PR $PKG_BUILD/libmysql/.libs/libmysqlclient.so* $INSTALL/usr/lib +cp -PR $PKG_BUILD/libmysql_r/.libs/libmysqlclient_r.so* $INSTALL/usr/lib + +mkdir -p $INSTALL/usr/bin +cp -PR $PKG_BUILD/client/.libs/mysql $INSTALL/usr/bin +cp -PR $PKG_BUILD/client/.libs/mysqladmin $INSTALL/usr/bin +cp -PR $PKG_BUILD/client/.libs/mysqldump $INSTALL/usr/bin +cp -PR $PKG_BUILD/extra/my_print_defaults $INSTALL/usr/bin +cp -PR $PKG_BUILD/extra/resolveip $INSTALL/usr/bin +cp -PR $PKG_BUILD/scripts/mysqld_safe $INSTALL/usr/bin +cp -PR $PKG_BUILD/scripts/mysql_install_db $INSTALL/usr/bin + +mkdir -p $INSTALL/usr/sbin +cp -PR $PKG_BUILD/sql/mysqld $INSTALL/usr/sbin/mysqld + +mkdir -p $INSTALL/usr/share/mysql/{charsets,english} +cp -PR $PKG_BUILD/scripts/mysql_system_tables.sql $INSTALL/usr/share/mysql +cp -PR $PKG_BUILD/scripts/mysql_system_tables_data.sql $INSTALL/usr/share/mysql +cp -PR $PKG_BUILD/scripts/fill_help_tables.sql $INSTALL/usr/share/mysql +cp -PR $PKG_BUILD/sql/share/charsets/*.xml $INSTALL/usr/share/mysql/charsets +cp -PR $PKG_BUILD/sql/share/english/errmsg.sys $INSTALL/usr/share/mysql/english +cp -PR $PKG_BUILD/sql/share/errmsg.txt $INSTALL/usr/share/mysql + +mkdir -p $INSTALL/etc +cp -PR $PKG_DIR/config/my.cnf $INSTALL/etc diff --git a/packages/databases/mysql/my.cnf b/packages/databases/mysql/my.cnf new file mode 100644 index 0000000000..6b43e92202 --- /dev/null +++ b/packages/databases/mysql/my.cnf @@ -0,0 +1,39 @@ +[client] +#password = your_password +port = 3306 +socket = /var/tmp/.mysql.sock + +[mysqld] +port = 3306 +socket = /var/tmp/.mysql.sock +skip-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 + +#skip-networking + +server-id = 1 + +[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 diff --git a/packages/databases/mysql/patches/10_mysql-5.1.38_crosscompiling.diff b/packages/databases/mysql/patches/10_mysql-5.1.38_crosscompiling.diff new file mode 100644 index 0000000000..b6c3e068a1 --- /dev/null +++ b/packages/databases/mysql/patches/10_mysql-5.1.38_crosscompiling.diff @@ -0,0 +1,128 @@ +diff -Naur mysql-5.1.38/dbug/Makefile.am mysql-5.1.38.patch/dbug/Makefile.am +--- mysql-5.1.38/dbug/Makefile.am 2009-08-21 14:09:22.000000000 +0200 ++++ mysql-5.1.38.patch/dbug/Makefile.am 2009-09-10 02:57:59.000000000 +0200 +@@ -44,19 +44,19 @@ + -groff -mm user.r > $@ + + output1.r: factorial +- ./factorial 1 2 3 4 5 | cat > $@ ++ mysql-factorial 1 2 3 4 5 | cat > $@ + + output2.r: factorial +- ./factorial -\#t:o 2 3 | cat >$@ ++ mysql-factorial -\#t:o 2 3 | cat >$@ + + output3.r: factorial +- ./factorial -\#d:t:o 3 | cat >$@ ++ mysql-factorial -\#d:t:o 3 | cat >$@ + + output4.r: factorial +- ./factorial -\#d,result:o 4 | cat >$@ ++ mysql-factorial -\#d,result:o 4 | cat >$@ + + output5.r: factorial +- ./factorial -\#d:f,factorial:F:L:o 3 | cat >$@ ++ mysql-factorial -\#d:f,factorial:F:L:o 3 | cat >$@ + .c.r: + @RM@ -f $@ + @SED@ -e 's!\\!\\\\!g' $< > $@ +diff -Naur mysql-5.1.38/dbug/Makefile.in mysql-5.1.38.patch/dbug/Makefile.in +--- mysql-5.1.38/dbug/Makefile.in 2009-08-21 14:17:15.000000000 +0200 ++++ mysql-5.1.38.patch/dbug/Makefile.in 2009-09-10 02:58:14.000000000 +0200 +@@ -746,19 +746,19 @@ + -groff -mm user.r > $@ + + output1.r: factorial +- ./factorial 1 2 3 4 5 | cat > $@ ++ mysql-factorial 1 2 3 4 5 | cat > $@ + + output2.r: factorial +- ./factorial -\#t:o 2 3 | cat >$@ ++ mysql-factorial -\#t:o 2 3 | cat >$@ + + output3.r: factorial +- ./factorial -\#d:t:o 3 | cat >$@ ++ mysql-factorial -\#d:t:o 3 | cat >$@ + + output4.r: factorial +- ./factorial -\#d,result:o 4 | cat >$@ ++ mysql-factorial -\#d,result:o 4 | cat >$@ + + output5.r: factorial +- ./factorial -\#d:f,factorial:F:L:o 3 | cat >$@ ++ mysql-factorial -\#d:f,factorial:F:L:o 3 | cat >$@ + .c.r: + @RM@ -f $@ + @SED@ -e 's!\\!\\\\!g' $< > $@ +diff -Naur mysql-5.1.38/extra/Makefile.am mysql-5.1.38.patch/extra/Makefile.am +--- mysql-5.1.38/extra/Makefile.am 2009-08-21 14:09:23.000000000 +0200 ++++ mysql-5.1.38.patch/extra/Makefile.am 2009-09-10 02:53:50.000000000 +0200 +@@ -32,7 +32,7 @@ + $(top_builddir)/include/mysqld_error.h: comp_err.c \ + $(top_srcdir)/sql/share/errmsg.txt + $(MAKE) $(AM_MAKEFLAGS) comp_err$(EXEEXT) +- $(top_builddir)/extra/comp_err$(EXEEXT) \ ++ mysql-comp_err$(EXEEXT) \ + --charset=$(top_srcdir)/sql/share/charsets \ + --out-dir=$(top_builddir)/sql/share/ \ + --header_file=$(top_builddir)/include/mysqld_error.h \ +diff -Naur mysql-5.1.38/extra/Makefile.in mysql-5.1.38.patch/extra/Makefile.in +--- mysql-5.1.38/extra/Makefile.in 2009-08-21 14:17:16.000000000 +0200 ++++ mysql-5.1.38.patch/extra/Makefile.in 2009-09-10 02:53:16.000000000 +0200 +@@ -936,7 +936,7 @@ + $(top_builddir)/include/mysqld_error.h: comp_err.c \ + $(top_srcdir)/sql/share/errmsg.txt + $(MAKE) $(AM_MAKEFLAGS) comp_err$(EXEEXT) +- $(top_builddir)/extra/comp_err$(EXEEXT) \ ++ mysql-comp_err$(EXEEXT) \ + --charset=$(top_srcdir)/sql/share/charsets \ + --out-dir=$(top_builddir)/sql/share/ \ + --header_file=$(top_builddir)/include/mysqld_error.h \ +diff -Naur mysql-5.1.38/scripts/Makefile.am mysql-5.1.38.patch/scripts/Makefile.am +--- mysql-5.1.38/scripts/Makefile.am 2009-08-21 14:11:26.000000000 +0200 ++++ mysql-5.1.38.patch/scripts/Makefile.am 2009-09-10 02:57:01.000000000 +0200 +@@ -121,7 +121,7 @@ + mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql + $(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT) + sleep 2 +- $(top_builddir)/scripts/comp_sql$(EXEEXT) \ ++ mysql-comp_sql$(EXEEXT) \ + mysql_fix_privilege_tables \ + $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@ + +diff -Naur mysql-5.1.38/scripts/Makefile.in mysql-5.1.38.patch/scripts/Makefile.in +--- mysql-5.1.38/scripts/Makefile.in 2009-08-21 14:17:23.000000000 +0200 ++++ mysql-5.1.38.patch/scripts/Makefile.in 2009-09-10 02:57:11.000000000 +0200 +@@ -802,7 +802,7 @@ + mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql + $(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT) + sleep 2 +- $(top_builddir)/scripts/comp_sql$(EXEEXT) \ ++ mysql-comp_sql$(EXEEXT) \ + mysql_fix_privilege_tables \ + $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@ + +diff -Naur mysql-5.1.38/sql/Makefile.am mysql-5.1.38.patch/sql/Makefile.am +--- mysql-5.1.38/sql/Makefile.am 2009-08-21 14:12:24.000000000 +0200 ++++ mysql-5.1.38.patch/sql/Makefile.am 2009-09-10 02:55:09.000000000 +0200 +@@ -174,7 +174,7 @@ + # this avoid the rebuild of the built files in a source dist + lex_hash.h: gen_lex_hash.cc lex.h + $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) +- ./gen_lex_hash$(EXEEXT) > $@-t ++ mysql-gen_lex_hash$(EXEEXT) > $@-t + $(MV) $@-t $@ + + # For testing of udf_example.so +diff -Naur mysql-5.1.38/sql/Makefile.in mysql-5.1.38.patch/sql/Makefile.in +--- mysql-5.1.38/sql/Makefile.in 2009-08-21 14:17:25.000000000 +0200 ++++ mysql-5.1.38.patch/sql/Makefile.in 2009-09-10 02:55:22.000000000 +0200 +@@ -1302,7 +1302,7 @@ + # this avoid the rebuild of the built files in a source dist + lex_hash.h: gen_lex_hash.cc lex.h + $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) +- ./gen_lex_hash$(EXEEXT) > $@-t ++ mysql-gen_lex_hash$(EXEEXT) > $@-t + $(MV) $@-t $@ + + # We might have some stuff not built in this build, but that we want to install diff --git a/packages/databases/mysql/url b/packages/databases/mysql/url new file mode 100644 index 0000000000..336fb4fbfe --- /dev/null +++ b/packages/databases/mysql/url @@ -0,0 +1 @@ +ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.1/mysql-5.1.37.tar.gz \ No newline at end of file