summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/mysql
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-support/mysql
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-support/mysql')
-rw-r--r--meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb19
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch29
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch161
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/my.cnf22
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/mysqld.service15
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch18
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.39.bb28
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.39.inc252
-rw-r--r--meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch17
-rw-r--r--meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb19
10 files changed, 580 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb
new file mode 100644
index 000000000..9148deefc
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb
@@ -0,0 +1,19 @@
1require mariadb_${PV}.inc
2inherit native
3
4PROVIDES += "mysql5-native"
5DEPENDS = "ncurses-native zlib-native"
6
7RDEPENDS_${PN} = ""
8PACKAGES = ""
9EXTRA_OEMAKE = ""
10
11do_install() {
12 oe_runmake 'DESTDIR=${D}' install
13
14 install -d ${D}${bindir}
15 install -m 0755 sql/gen_lex_hash ${D}${bindir}/
16 install -m 0755 extra/comp_err ${D}${bindir}/
17 install -m 0755 scripts/comp_sql ${D}${bindir}/
18}
19
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch
new file mode 100644
index 000000000..8d9f558d0
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch
@@ -0,0 +1,29 @@
1Avoid CMAKE_MODULE_PATH being overwritten
2
3OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
4we set it after setting the project name.
5
6Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
7
8Upstream-Status: Inappropriate [working around OE-Core bug]
9
10--- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100
11+++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100
12@@ -28,8 +28,6 @@
13
14 MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
15
16-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
17-
18 # Distinguish between community and non-community builds, with the
19 # default being a community build. This does not impact the feature
20 # set that will be compiled in; it's merely provided as a hint to
21@@ -77,6 +75,8 @@
22 ENDIF()
23 PROJECT(${MYSQL_PROJECT_NAME})
24
25+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
26+
27 IF(BUILD_CONFIG)
28 INCLUDE(
29 ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
new file mode 100644
index 000000000..7516619eb
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
@@ -0,0 +1,161 @@
1From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
2From: Tor Didriksen <tor.didriksen@oracle.com>
3Date: Mon, 24 Jun 2013 17:15:35 +0200
4Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
5
6With this patch, the libmysql/ directory contains:
7libmysqlclient.a
8libmysqlclient_r.a -> libmysqlclient.a
9libmysqlclient_r.so -> libmysqlclient.so*
10libmysqlclient_r.so.18 -> libmysqlclient.so.18*
11libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
12libmysqlclient.so -> libmysqlclient.so.18*
13libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
14libmysqlclient.so.18.1.0*
15
16This fixes libmysqlclient_r symlinks pointing to the unversioned
17libmysqlclient.so symlink (leading to package QA errors since the
18libmysqlclient-r package ends up depending on libmysqlclient-dev).
19
20Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
21
22Upstream-Status: Pending
23
24Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
25
26---
27 cmake/install_macros.cmake | 25 +++++++++++++++----------
28 cmake/mysql_version.cmake | 3 ++-
29 libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++--------
30 3 files changed, 45 insertions(+), 19 deletions(-)
31
32diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
33index b8efdf8..a0d0e68 100644
34--- a/cmake/install_macros.cmake
35+++ b/cmake/install_macros.cmake
36@@ -1,4 +1,4 @@
37-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
38+# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
39 #
40 # This program is free software; you can redistribute it and/or modify
41 # it under the terms of the GNU General Public License as published by
42@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT)
43 ENDFUNCTION()
44
45 # Install symbolic link to CMake target.
46-# the link is created in the same directory as target
47-# and extension will be the same as for target file.
48-MACRO(INSTALL_SYMLINK linkname target destination component)
49+# We do 'cd path; ln -s target_name link_name'
50+# We also add an INSTALL target for "${path}/${link_name}"
51+MACRO(INSTALL_SYMLINK target target_name link_name destination component)
52 IF(UNIX)
53 GET_TARGET_PROPERTY(location ${target} LOCATION)
54 GET_FILENAME_COMPONENT(path ${location} PATH)
55- GET_FILENAME_COMPONENT(name ${location} NAME)
56- SET(output ${path}/${linkname})
57+ MESSAGE(STATUS "target ${target}")
58+ MESSAGE(STATUS "link_name ${link_name}")
59+ MESSAGE(STATUS "target_name ${target_name}")
60+ MESSAGE(STATUS "path ${path}")
61+ MESSAGE(STATUS "")
62+
63+ SET(output ${path}/${link_name})
64 ADD_CUSTOM_COMMAND(
65 OUTPUT ${output}
66 COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
67 COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
68- ${name}
69- ${linkname}
70+ ${target_name}
71+ ${link_name}
72 WORKING_DIRECTORY ${path}
73 DEPENDS ${target}
74 )
75
76- ADD_CUSTOM_TARGET(symlink_${linkname}
77+ ADD_CUSTOM_TARGET(symlink_${link_name}
78 ALL
79 DEPENDS ${output})
80- SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
81+ SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
82 IF(CMAKE_GENERATOR MATCHES "Xcode")
83 # For Xcode, replace project config with install config
84 STRING(REPLACE "${CMAKE_CFG_INTDIR}"
85diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
86index be5760f..96286ff 100644
87--- a/libmysql/CMakeLists.txt
88+++ b/libmysql/CMakeLists.txt
89@@ -180,6 +180,12 @@ IF(MSVC)
90 INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
91 ENDIF()
92
93+MACRO(GET_TARGET_NAME target out_name)
94+ GET_TARGET_PROPERTY(location ${target} LOCATION)
95+ GET_FILENAME_COMPONENT(name ${location} NAME)
96+ SET(${out_name} ${name})
97+ENDMACRO()
98+
99 IF(UNIX)
100 MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
101 SET(DOT_VERSION ".${VERSION}")
102@@ -192,7 +198,13 @@ IF(UNIX)
103 SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
104 ENDIF()
105 ENDMACRO()
106- INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
107+ENDIF()
108+
109+IF(UNIX)
110+ GET_TARGET_NAME(mysqlclient lib_name)
111+ INSTALL_SYMLINK(mysqlclient
112+ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
113+ ${INSTALL_LIBDIR} Development)
114 ENDIF()
115
116 IF(NOT DISABLE_SHARED)
117@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED)
118 # libtool compatability
119 IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
120 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
121- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
122- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
123 ELSE()
124- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
125+ SET(OS_SHARED_LIB_VERSION
126+ "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
127 ENDIF()
128 # Name of shared library is mysqlclient on Unix
129 SET_TARGET_PROPERTIES(libmysql PROPERTIES
130@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED)
131 "${CMAKE_SHARED_LIBRARY_SUFFIX}"
132 ""
133 linkname)
134- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
135- SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
136+ GET_TARGET_NAME(libmysql lib_name)
137+ GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE)
138+ INSTALL_SYMLINK(libmysql
139+ ${lib_name} ${linkname}
140+ ${INSTALL_LIBDIR} SharedLibraries)
141+ SET(OS_SHARED_LIB_SYMLINKS
142+ "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
143 LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
144 FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
145 GET_VERSIONED_LIBNAME(
146@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED)
147 "${CMAKE_SHARED_LIBRARY_SUFFIX}"
148 "${ver}"
149 linkname)
150- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
151+ GET_VERSIONED_LIBNAME(
152+ ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver)
153+ INSTALL_SYMLINK(libmysql
154+ ${lib_name_ver} ${linkname}
155+ ${INSTALL_LIBDIR} SharedLibraries)
156 ENDFOREACH()
157 ENDIF()
158 ENDIF()
159--
1602.0.3
161
diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf
new file mode 100644
index 000000000..f2c9b9036
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf
@@ -0,0 +1,22 @@
1[client]
2#password = password
3port = 3306
4socket = /tmp/mysql.sock
5
6[mysqld_safe]
7err-log = /var/log/mysql.err
8
9[mysqld]
10user = mysql
11port = 3306
12socket = /tmp/mysql.sock
13pid-file = /var/lib/mysql/mysqld.pid
14log-error = /var/log/mysqld.err
15basedir = /usr
16datadir = /var/mysql
17skip-external-locking
18skip-networking
19ignore-builtin-innodb
20default-storage-engine = myisam
21bind-address = localhost
22
diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service
new file mode 100644
index 000000000..18ad8d54d
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service
@@ -0,0 +1,15 @@
1[Unit]
2Description=MariaDB database server
3After=syslog.target
4After=network.target
5
6[Service]
7Type=simple
8User=mysql
9Group=mysql
10ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@
11TimeoutSec=300
12PrivateTmp=true
13
14[Install]
15WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch
new file mode 100644
index 000000000..ff26b0b86
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch
@@ -0,0 +1,18 @@
1Remove host path from include directories
2
3Naturally this breaks cross-compilation if present.
4
5Upstream-Status: Pending
6
7Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
8
9--- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100
10+++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100
11@@ -39,7 +39,6 @@
12
13 ## default includes and libraries
14 include_directories(SYSTEM
15- /usr/local/include
16 ${ZLIB_INCLUDE_DIRS}
17 )
18
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb
new file mode 100644
index 000000000..fee5b6297
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb
@@ -0,0 +1,28 @@
1require ${PN}_${PV}.inc
2
3EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
4
5DEPENDS += "mariadb-native ncurses zlib readline libaio"
6
7PROVIDES += "mysql5"
8
9RPROVIDES_${PN} += "mysql5"
10RREPLACES_${PN} += "mysql5"
11RCONFLICTS_${PN} += "mysql5"
12
13RPROVIDES_${PN}-dbg += "mysql5-dbg"
14RREPLACES_${PN}-dbg += "mysql5-dbg"
15RCONFLICTS_${PN}-dbg += "mysql5-dbg"
16
17RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
18RREPLACES_${PN}-leftovers += "mysql5-leftovers"
19RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
20
21RPROVIDES_${PN}-client += "mysql5-client"
22RREPLACES_${PN}-client += "mysql5-client"
23RCONFLICTS_${PN}-client += "mysql5-client"
24
25RPROVIDES_${PN}-server += "mysql5-server"
26RREPLACES_${PN}-server += "mysql5-server"
27RCONFLICTS_${PN}-server += "mysql5-server"
28
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
new file mode 100644
index 000000000..ae2e92b5d
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
@@ -0,0 +1,252 @@
1SUMMARY = "A robust, scalable, and reliable SQL server"
2HOMEPAGE = "http://mariadb.org"
3SECTION = "libs"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6
7SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-${PV}.tar.gz \
8 file://fix-cmake-module-path.patch \
9 file://remove-bad-path.patch \
10 file://fix-mysqlclient-r-version.patch \
11 file://my.cnf \
12 file://mysqld.service \
13 "
14
15SRC_URI[md5sum] = "917a807d8cf2c8ef9deedd2a89b6decd"
16SRC_URI[sha256sum] = "cb850865ab55ce5f01c99a612cc75b76ead5d75adfa75a606f453d32f9089d14"
17
18S = "${WORKDIR}/mariadb-${PV}"
19
20BINCONFIG_GLOB = "mysql_config"
21
22inherit cmake gettext binconfig update-rc.d useradd systemd
23
24INITSCRIPT_PACKAGES = "${PN}-server"
25INITSCRIPT_NAME = "mysqld"
26INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ."
27
28USERADD_PACKAGES = "${PN}-server"
29USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
30GROUPADD_PARAM_${PN}-server = "--system mysql"
31
32SYSTEMD_PACKAGES = "${PN}-server"
33SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
34SYSTEMD_AUTO_ENABLE_mariadb-server = "disable"
35
36EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
37
38PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
39PACKAGECONFIG_class-native = ""
40PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
41
42# MariaDB doesn't link properly with gold
43# https://mariadb.atlassian.net/browse/MDEV-5982
44TARGET_CFLAGS += "-fuse-ld=bfd"
45
46EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
47 -DWITH_JEMALLOC=no \
48 -DWITHOUT_TOKUDB=TRUE \
49 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
50 -DGROFF=FALSE \
51 -DNROFF=FALSE \
52 -DENABLE_DTRACE=FALSE \
53 -DWITH_PIC=ON \
54 -DINSTALL_LAYOUT=RPM \
55 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
56 -DINSTALL_LIBDIR:PATH=${baselib} \
57 -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
58 -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
59 -DMYSQL_DATADIR:PATH=/var/mysql \
60 -DCAT_EXECUTABLE=`which cat` \
61 -DCMAKE_AR:FILEPATH=${AR}"
62
63do_configure_append() {
64 # handle distros with different values of ${libexecdir}
65 libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
66 sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
67 sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh
68 sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
69}
70
71do_generate_toolchain_file_append_class-native () {
72 # If these are set cmake will assume we're cross-compiling, which will
73 # result in certain things we want being disabled
74 sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
75 sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
76}
77
78do_compile_prepend_class-target () {
79 # These need to be in-tree or make will think they need to be built,
80 # and since we're cross-compiling that is disabled
81 cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
82 cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
83}
84
85SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
86
87# We need to append this so it runs *after* binconfig's preprocess function
88#
89# We really don't care exactly what the directories were set to originally.
90# plugindir is not fixed, but we don't create any plugins.
91#
92mariadb_sysroot_preprocess () {
93 sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
94 sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
95}
96
97do_install() {
98 oe_runmake 'DESTDIR=${D}' install
99
100 install -d ${D}/${sysconfdir}/init.d
101 install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/
102 mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld
103
104 install -d ${D}${systemd_unitdir}/system
105 install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system
106 sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service
107
108 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
109 install -d ${D}${sysconfdir}/tmpfiles.d
110 echo "f /var/log/mysqld.err 0640 mysql mysql -" \
111 > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf
112 fi
113}
114
115pkg_postinst_${PN}-server () {
116 if [ "x$D" != "x" ]; then
117 exit 1
118 fi
119
120 #Install the database
121 test -d /usr/bin || mkdir -p /usr/bin
122 test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname
123 mkdir /var/lib/mysql
124 chown mysql.mysql /var/lib/mysql
125
126 mysql_install_db --basedir=${prefix} --user=mysql
127
128}
129
130PACKAGES = "${PN}-dbg ${PN} \
131 libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \
132 libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \
133 libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers"
134CONFFILES_${PN}-server += "${sysconfdir}/my.cnf"
135
136FILES_${PN} = " "
137RDEPENDS_${PN} = "${PN}-client ${PN}-server"
138ALLOW_EMPTY_${PN} = "1"
139
140RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
141 perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \
142 perl-module-exporter"
143RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
144 perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
145 perl-module-file-copy perl-module-file-temp perl-module-posix"
146RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
147 perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
148 perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
149 perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
150 perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
151 perl-module-io-socket-inet perl-module-io-select"
152
153FILES_libmysqlclient = "\
154 ${libdir}/libmysqlclient.so.*"
155FILES_libmysqlclient-dev = " \
156 ${includedir}/mysql/ \
157 ${libdir}/libmysqlclient.so \
158 ${sysconfdir}/aclocal \
159 ${bindir}/mysql_config"
160FILES_libmysqlclient-staticdev = "\
161 ${libdir}/*.a"
162FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \
163 ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
164
165# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
166# which are intentionally non-PIC on 32-bit x86 (see e.g.
167# storage/xtradb/plug.in in the source)
168INSANE_SKIP_libmysqlclient_append_i586 = " textrel"
169
170FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
171FILES_libmysqlclient-r-dev = "\
172 ${libdir}/libmysqlclient_r.so"
173FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
174FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
175
176FILES_libmysqld = "\
177 ${libdir}/libmysqld.so.*"
178FILES_libmysqld-dev = "\
179 ${libdir}/libmysqld.so"
180
181FILES_${PN}-client = "\
182 ${bindir}/myisam_ftdump \
183 ${bindir}/mysql \
184 ${bindir}/mysql_client_test \
185 ${bindir}/mysql_client_test_embedded \
186 ${bindir}/mysql_find_rows \
187 ${bindir}/mysql_fix_extensions \
188 ${bindir}/mysql_waitpid \
189 ${bindir}/mysqlaccess \
190 ${bindir}/mysqladmin \
191 ${bindir}/mysqlbug \
192 ${bindir}/mysqlcheck \
193 ${bindir}/mysqldump \
194 ${bindir}/mysqldumpslow \
195 ${bindir}/mysqlimport \
196 ${bindir}/mysqlshow \
197 ${bindir}/mysqlslap \
198 ${bindir}/mysqltest_embedded \
199 ${libexecdir}/mysqlmanager"
200
201FILES_${PN}-server = "\
202 ${bindir}/comp_err \
203 ${bindir}/isamchk \
204 ${bindir}/isamlog \
205 ${bindir}/msql2mysql \
206 ${bindir}/my_print_defaults \
207 ${bindir}/myisamchk \
208 ${bindir}/myisamlog \
209 ${bindir}/myisampack \
210 ${bindir}/mysql_convert_table_format \
211 ${bindir}/mysql_fix_privilege_tables \
212 ${bindir}/mysql_install_db \
213 ${bindir}/mysql_secure_installation \
214 ${bindir}/mysql_setpermission \
215 ${bindir}/mysql_tzinfo_to_sql \
216 ${bindir}/mysql_upgrade \
217 ${bindir}/mysql_plugin \
218 ${bindir}/mysql_zap \
219 ${bindir}/mysqlbinlog \
220 ${bindir}/mysqld_multi \
221 ${bindir}/mysqld_safe \
222 ${bindir}/mysqlhotcopy \
223 ${bindir}/mysqltest \
224 ${bindir}/ndb_delete_all \
225 ${bindir}/ndb_desc \
226 ${bindir}/ndb_drop_index \
227 ${bindir}/ndb_drop_table \
228 ${bindir}/ndb_mgm \
229 ${bindir}/ndb_restore \
230 ${bindir}/ndb_select_all \
231 ${bindir}/ndb_select_count \
232 ${bindir}/ndb_show_tables \
233 ${bindir}/ndb_waiter \
234 ${bindir}/pack_isam \
235 ${bindir}/perror \
236 ${bindir}/replace \
237 ${bindir}/resolve_stack_dump \
238 ${bindir}/resolveip \
239 ${libexecdir}/mysqld \
240 ${sbindir}/mysqld \
241 ${sbindir}/ndb_cpcd \
242 ${sbindir}/ndbd \
243 ${sbindir}/ndb_mgmd \
244 ${libdir}/plugin/*.so \
245 ${datadir}/mysql/ \
246 ${localstatedir}/mysql/ \
247 ${sysconfdir}/init.d \
248 ${sysconfdir}/my.cnf \
249 ${sysconfdir}/tmpfiles.d"
250
251DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
252FILES_${PN}-leftovers = "/"
diff --git a/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch b/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch
new file mode 100644
index 000000000..0ce750d63
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch
@@ -0,0 +1,17 @@
1Upstream-Status: Innapropriate
2
3Index: MySQL-python-1.2.4/setup.py
4===================================================================
5--- MySQL-python-1.2.4.orig/setup.py
6+++ MySQL-python-1.2.4/setup.py
7@@ -3,8 +3,8 @@
8 import os
9 import sys
10
11-from distribute_setup import use_setuptools
12-use_setuptools()
13+#from distribute_setup import use_setuptools
14+#use_setuptools()
15 from setuptools import setup, Extension
16
17 if not hasattr(sys, "hexversion") or sys.hexversion < 0x02040000:
diff --git a/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb b/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb
new file mode 100644
index 000000000..6fc974ecd
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb
@@ -0,0 +1,19 @@
1SUMMARY = "Python interface to MySQL"
2HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
3SECTION = "devel/python"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7DEPENDS = "mysql5"
8
9SRCNAME = "MySQL-python"
10
11SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
12 file://remove-distribute.patch"
13
14SRC_URI[md5sum] = "ddf2386daf10a97af115ffad2ed4a9a0"
15SRC_URI[sha256sum] = "e405f9d6be33923d428acaa4db4f4470427f1d15ea0d2d82a933449ace26bbd9"
16
17S = "${WORKDIR}/${SRCNAME}-${PV}"
18
19inherit setuptools