aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-05-10 18:54:00 +0100
committerPaul Eggleton <paul.eggleton@linux.intel.com>2013-08-27 16:39:31 +0100
commit72e23c12296fbc77193898c38426add58d0c2d71 (patch)
treeeed39116603d211504dabf316db4d42970b89871 /meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
parent336123c49e3d9a16429150dd96f60d423ccbd77b (diff)
downloadmeta-openembedded-contrib-72e23c12296fbc77193898c38426add58d0c2d71.tar.gz
mysql5: replace with mariadb 5.1.67 and tweak
Switch to MariaDB (which is a drop-in replacement for MySQL) and use the latest stable release from the 5.1 series. * Update LIC_FILES_CHKSUM due to reformatted GPLv2 license text with updated FSF address * Refresh patches * Add two patches from the upstream 5.1 branch to fix CVE-2013-1861 * Add a package for libmysqld (the embedded server library) * Disable "maria" plugin since this fails to compile and doesn't appear to be critical * Drop some unrecognised/redundant options from EXTRA_OECONF * Fix text relocation QA warnings introduced in the upgrade * Convert to use useradd.bbclass for creating mysql user * Set SUMMARY instead of description * Move SRC_URI checksums to the version-specific inc file * Clear out cruft in files/ Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'meta-oe/recipes-support/mysql/mariadb_5.1.67.inc')
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.1.67.inc216
1 files changed, 216 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
new file mode 100644
index 0000000000..c535a416cd
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
@@ -0,0 +1,216 @@
+SUMMARY = "A robust, scalable, and reliable SQL server"
+HOMEPAGE = "http://mariadb.org"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "ncurses zlib"
+
+SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x86/mariadb-${PV}.tar.gz \
+ file://configure.in.patch \
+ file://plug.in.patch \
+ file://misc.m4.patch \
+ file://Makefile.am.patch \
+ file://fix_host_path.patch \
+ file://configure-ps-cache-check.patch \
+ file://fix-cve-2013-1861-1.patch \
+ file://fix-cve-2013-1861-2.patch \
+ file://my.cnf \
+ file://mysqld.sh"
+
+SRC_URI[md5sum] = "44c331fa91943155e4796f89e17a0612"
+SRC_URI[sha256sum] = "33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8"
+
+S = "${WORKDIR}/mariadb-${PV}"
+
+BINCONFIG_GLOB = "mysql_config"
+
+inherit autotools binconfig update-rc.d useradd
+
+INITSCRIPT_PACKAGES = "${PN}-server"
+INITSCRIPT_NAME = "mysqld"
+INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ."
+
+USERADD_PACKAGES = "${PN}-server"
+USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g nogroup mysql"
+
+
+export ac_cv_path_PS="/bin/ps"
+export ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null"
+PARALLEL_MAKE = " "
+EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
+EXTRA_OECONF = "--with-atomic-ops=up \
+ --with-embedded-server \
+ --sysconfdir=/etc/mysql \
+ --localstatedir=/var/mysql \
+ --disable-dependency-tracking \
+ --without-debug \
+ --with-low-memory \
+ --without-query-cache \
+ --without-plugin-maria \
+ --without-man \
+ --without-docs \
+ --with-zlib-dir=${STAGING_EXECPREFIXDIR} \
+ --with-pic \
+ "
+
+do_configure_append() {
+ sed -i /comp_err/d ${S}/sql/share/Makefile
+
+ # handle distros with different values of ${libexecdir}
+ libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
+ sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
+ sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh
+ sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
+}
+
+SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
+
+# We need to append this so it runs *after* binconfig's preprocess function
+#
+# We really don't care exactly what the directories were set to originally.
+# plugindir is not fixed, but we don't create any plugins.
+#
+mariadb_sysroot_preprocess () {
+ sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
+ sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ mv -f ${D}${libdir}/mysql/* ${D}${libdir}
+ rmdir ${D}${libdir}/mysql
+
+ install -d ${D}/etc/init.d
+ install -m 0644 ${WORKDIR}/my.cnf ${D}/etc/
+ install -m 0755 ${WORKDIR}/mysqld.sh ${D}/etc/init.d/mysqld
+}
+
+pkg_postinst_${PN}-server () {
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+
+ #Install the database
+ test -d /usr/bin || mkdir -p /usr/bin
+ test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname
+ mkdir /var/lib/mysql
+ chown mysql.nogroup /var/lib/mysql
+
+ mysql_install_db
+
+}
+
+PACKAGES = "${PN}-dbg ${PN} \
+ libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \
+ libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \
+ libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers"
+CONFFILES_${PN}-server += "${sysconfdir}/my.cnf"
+
+FILES_${PN} = " "
+RDEPENDS_${PN} = "${PN}-client ${PN}-server"
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_libmysqlclient = "\
+ ${libdir}/libmysqlclient.so.* \
+ ${libdir}/plugin/*.so.*"
+FILES_libmysqlclient-dev = " \
+ ${includedir}/mysql/ \
+ ${libdir}/libmysqlclient.so \
+ ${libdir}/libmysqlclient.la \
+ ${libdir}/plugin/*.so \
+ ${libdir}/plugin/*.la \
+ ${sysconfdir}/aclocal \
+ ${bindir}/mysql_config"
+FILES_libmysqlclient-staticdev = "\
+ ${libdir}/*.a \
+ ${libdir}/plugin/*.a"
+FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \
+ /usr/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
+
+# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
+# which are intentionally non-PIC on 32-bit x86 (see e.g.
+# storage/xtradb/plug.in in the source)
+INSANE_SKIP_libmysqlclient_append_i586 = " textrel"
+
+FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
+FILES_libmysqlclient-r-dev = "\
+ ${libdir}/libmysqlclient_r.so \
+ ${libdir}/libmysqlclient_r.la"
+FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
+FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
+
+FILES_libmysqld = "\
+ ${libdir}/libmysqld.so.*"
+FILES_libmysqld-dev = "\
+ ${libdir}/libmysqld.so"
+
+FILES_${PN}-client = "\
+ ${bindir}/myisam_ftdump \
+ ${bindir}/mysql \
+ ${bindir}/mysql_client_test \
+ ${bindir}/mysql_client_test_embedded \
+ ${bindir}/mysql_find_rows \
+ ${bindir}/mysql_fix_extensions \
+ ${bindir}/mysql_waitpid \
+ ${bindir}/mysqlaccess \
+ ${bindir}/mysqladmin \
+ ${bindir}/mysqlbug \
+ ${bindir}/mysqlcheck \
+ ${bindir}/mysqldump \
+ ${bindir}/mysqldumpslow \
+ ${bindir}/mysqlimport \
+ ${bindir}/mysqlshow \
+ ${bindir}/mysqlslap \
+ ${bindir}/mysqltest_embedded \
+ ${libexecdir}/mysqlmanager"
+
+FILES_${PN}-server = "\
+ ${bindir}/comp_err \
+ ${bindir}/isamchk \
+ ${bindir}/isamlog \
+ ${bindir}/msql2mysql \
+ ${bindir}/my_print_defaults \
+ ${bindir}/myisamchk \
+ ${bindir}/myisamlog \
+ ${bindir}/myisampack \
+ ${bindir}/mysql_convert_table_format \
+ ${bindir}/mysql_fix_privilege_tables \
+ ${bindir}/mysql_install_db \
+ ${bindir}/mysql_secure_installation \
+ ${bindir}/mysql_setpermission \
+ ${bindir}/mysql_tzinfo_to_sql \
+ ${bindir}/mysql_upgrade \
+ ${bindir}/mysql_zap \
+ ${bindir}/mysqlbinlog \
+ ${bindir}/mysqld_multi \
+ ${bindir}/mysqld_safe \
+ ${bindir}/mysqlhotcopy \
+ ${bindir}/mysqltest \
+ ${bindir}/ndb_delete_all \
+ ${bindir}/ndb_desc \
+ ${bindir}/ndb_drop_index \
+ ${bindir}/ndb_drop_table \
+ ${bindir}/ndb_mgm \
+ ${bindir}/ndb_restore \
+ ${bindir}/ndb_select_all \
+ ${bindir}/ndb_select_count \
+ ${bindir}/ndb_show_tables \
+ ${bindir}/ndb_waiter \
+ ${bindir}/pack_isam \
+ ${bindir}/perror \
+ ${bindir}/replace \
+ ${bindir}/resolve_stack_dump \
+ ${bindir}/resolveip \
+ ${libexecdir}/mysqld \
+ ${sbindir}/mysqld \
+ ${sbindir}/ndb_cpcd \
+ ${sbindir}/ndbd \
+ ${sbindir}/ndb_mgmd \
+ ${datadir}/mysql/ \
+ ${localstatedir}/mysql/ \
+ ${sysconfdir}/init.d \
+ ${sysconfdir}/my.cnf"
+
+DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
+FILES_${PN}-leftovers = "/"