64 Commits

Author SHA1 Message Date
Kai Kang ae7f8f79c3 mariadb: upgrade to 5.5.50
Upgrade mariadb from 5.5.46 to 5.5.50.

* update runtime dependency of mariadb-setupdb which requires command install

[AK]
This update appears to be mostly bug fixes and is why is was merge from master.
plus the following securiy fixes

5.5.49:
CVE-2016-0647 CVE-2016-0648 CVE-2016-0666 CVE-2016-0643
CVE-2016-5444 CVE-2016-3452

5.5.48:
CVE-2016-0640 CVE-2016-0644 CVE-2016-0646 CVE-2016-0649
CVE-2016-0650 CVE-2016-0641

5.5.47:
CVE-2016-0546 CVE-2016-0505 CVE-2016-0596 CVE-2016-0597
CVE-2016-0616 CVE-2016-0598 CVE-2016-0600 CVE-2016-0606
CVE-2016-0608 CVE-2016-0609 CVE-2016-0642 CVE-2016-0651
CVE-2016-2047

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit 6255219b93)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2016-08-16 10:29:42 -07:00
Li xin ebb31a9b4e mariadb: Fix rootfs creation errors
error: file /usr/share/doc/README from install of mariadb-leftovers-5.5.46-*
conflicts with file from package dmidecode-doc-2.12-*

Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2016-05-02 14:03:04 -07:00
Koen Kooi 7ec779d956 mariadb: -native also needs gold workaround
When the host distro uses gold mariadb-native fails to build.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-01-14 11:24:01 +01:00
Hongxu Jia c0a1be1ceb mariadb.inc: fix mysqld hung at first init time based on systemd
While SYSTEMD_AUTO_ENABLE_mariadb-server = "enable", the mysqld service
hungs.
...
[    **] A start job is running for Run pending postinsts (25s / no limit)
[  OK  ] Stopped MariaDB database server.
...

In mariadb-server's pkg_postinst, it install db at first runtime. And the
following 'systemctl mysqld restart' casued the hunging. So the fix idea
is to reomove pkg_postinst and still install db at first runtime.

Introduce mysql-systemd-start from ${S}/packaging/rpm-oel/. For review
convenience, we add them as file.

The mysql-systemd-start provides two functions: the install_db is to install
db at fist runtime (the first runtime means if a db existed, the install_db
will directly exit); the pinger is to wait for mysqld service startup
completed.

The mysqld.service add ExecStartPost than previous which invoke
'mysql-systemd-start post' to wait for mysqld service startup completed.

We add a package to provide install_db, so the user could choose it
to install database for mariadb at first boot before mysqld started.

It also fix another issue:
When you manually restart mysqld and do mysql test to connect the server,
the return of the restart could make sure mysqld is ready, and the following db
connect will not fail with:
...
Can't connect to local MySQL server through socket
...

Tweak my.cnf to remove obsolete/incorrect parameter.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-12-18 12:39:49 +01:00
Randy MacLeod c595e6b32e mariadb: update to 5.5.46
This is the latest release in the 5.5.x stable series.
It fixes 11 CVEs as listed:
   https://mariadb.com/kb/en/mariadb/mariadb-5546-release-notes/
and fixes 10s of internal MariaDB tracked defects.

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-11-06 17:49:41 +01:00
Otavio Salvador b798bdbe69 mariadb: Easy linkage of code using libmysqlclient_r
The libmysqlclient_r library is now a symbolic link for the
libmysqlclient one, however some code still requires it for
linking.

To easy the transition, when installing the libmysqlclient-dev we
should include the libmysqlclient-r-dev as well.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-10-13 12:28:13 +02:00
Roy Li 626427ddf5 mysql-python: upgrade to 1.2.5
remove the remove-distribute.patch, v1.2.5 has a similar fix

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-09-23 15:37:17 +02:00
Koen Kooi 4fc4326a0c mariadb: update to 5.5.45
This is the latest release in the 5.5.x stable series. The CVE patch has been applied upstream.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-08-31 19:11:12 +02:00
Mario Domenech Goulart 3551575f9b mariadb: fix tarball fetch URL
http://mirror.stshosting.co.uk/mariadb responds with a 404 error, so
use http://archive.mariadb.org instead.

Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-08-31 19:11:12 +02:00
Kai Kang fdd88fc1b5 mariadb: update for packgeconfig valgrind
When 'valgrind' is not in PACKAGECONFIG, 'WITHOUT_VALGRIND' is passed to
cmake but it is not a valid cmake macro. Warning messages show in
log.do_configure:

CMake Warning:
  Manually-specified variables were not used by the project:
    WITHOUT_VALGRIND

Use -DWITH_VALGRIND=FALSE instead.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-07-16 21:09:09 +02:00
Roy Li c099952f14 mariadb: fix floating dependency on krb5
Mariadb depends on openssl, openssl conditionally depends on krb5 by
checking if OPENSSL_NO_KRB5 is defined, but cmake can not handle "ifndef"
and always ask krb5.h if krb5.h exist when cmake make_depend;

Faking a kssl.h if krb5 is not in PACKAGECONF, which does not include
krb5 related declaration, install the faked kssl.h into build dir to
be searched firstly

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-17 22:36:12 +02:00
Roy Li 4bcddcaccb mariadb: Security Advisory -CVE-2015-2305
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-2305

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-08 14:15:24 +02:00
Andre McCurdy f6176c913c mariadb.inc: use x86 over-ride instead of i586
Support i686 without needing to duplicate the i586 over-ride.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-08 14:15:23 +02:00
Roy Li 7e5326c438 mariadb: upgrade to 5.5.43
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-05-13 14:34:20 +02:00
Roy Li 9bb362cb3f mariadb: make it be able to work with SELinux
1. change the datadir from /var/mysql to /var/lib/mysql
2. after creating datedir, restorecon on it, make SELinux be able to
work
3. Add the PIDFile for systemd unit file, otherwise systemctl can not
stop mysqld

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-02-12 19:35:39 +01:00
Roy Li 426070e311 mariadb: mariadb-server depends on mariadb-client
/etc/init.d/mysqld from mariadb-server uses mysqladmin, which is installed
into mariadb-client, so add the dependency to make this script be able
to run

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-02-12 19:33:46 +01:00
Paul Eggleton ce6304feb2 mariadb: update to 5.5.41
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-01-08 11:58:43 +01:00
Kang Kai c636aae61f mariadb: add dependency libevent
mariadb failed to build:
| make[2]: *** No rule to make target
  '/.../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libevent.so',
  needed by 'tests/async_queries'.  Stop.
| make[2]: Leaving directory
  '/.../bitbake_build/tmp/work/core2-64-wrs-linux/mariadb/5.5.40-r0/build'
  CMakeFiles/Makefile2:6742: recipe for target 'tests/CMakeFiles/async_queries.dir/all' failed
| make[1]: *** [tests/CMakeFiles/async_queries.dir/all] Error 2

It is an rare case that when configure mariadb, libevent exists in
sysroot. But when do compile for mariadb, libevent is gone somehow. That
causes build fails. Run follow commands could reproduce this error:

$ bitbake libevent
$ bitbake mariadb -c cleansstate
$ bitbake mariadb -c configure
$ bitbake libevent -c clean
$ bitbake mariadb

Add if without libevent, test case tests/async_queries.c will not be built.
The case is helpful to do unit test. So add libevent as a dependency to fix the
error and make sure async_queries.c will be built.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-24 12:01:53 +01:00
Kang Kai 66e9c19579 mariadb: re-package configure files
There are 3 configure files under /etc/my.cnf.d:

client.cnf: options for client library
mysql-clients.cnf: options for MariaDB tools such as mysqladmin, etc
server.cnf: options for server

They are packaged to mariadb-leftover at this moment. That is not correct.
Split them into sub-packages:
client.cnf          --> libmysqlclient
mysql-clients.cnf   --> mariadb-client
server.cnf          --> mariadb-server

Make these files as configure file by CONFFILES and update global
configure file my.cnf to include /etc/my.cnf.d as well.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-24 12:01:53 +01:00
Kang Kai 6db864c931 mariadb: Update from version 5.5.39 to 5.5.40
* rename mariadb_5.5.39.inc -> mariadb.inc
* add dependency bision-native for mariadb-native
* add revert-fix-for-MDEV-5120.patch to revert an commit for mariadb test suite
  which causes packages mysql-python and modphp fail to build
* add PACKAGECONFIG 'libedit'

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-24 11:59:51 +01:00
Jackie Huang 7813f6d7b7 mariadb: Check valgrind headers only if WITH_VALGRIND is set
Changes:
- Add patch to check valgrind headers only if WITH_VALGRIND is set
- Add PACKAGECONFIG for valgrind and disable it by default

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-24 11:59:49 +01:00
Chen Qi 3692902448 mariadb: use ${PN} for SYSTEMD_AUTO_ENABLE
Use ${PN} instead of hardcoding 'mariadb' so that everything works
fine in case of multilib.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-07 15:05:08 +01:00
Chen Qi aec24e33e0 mariadb: change socket location in my.cnf
Change socket location to /var/lib/mysql/mysql.sock. Otherwise, we
could spot errors in systemd systems like below.

mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

This is because mysqld.service is using PrivateTmp=true.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-11-07 15:05:05 +01:00
Jackie Huang 66182220e8 mariadb: drop the anonymous function and use proper install layout
The anonymous function redefined bindir to bindir_noprefix (and
others), which broke the sstate between build dirs.

The redefined *_noprefix was to used to pass to the INSTALL_*
variables to change the layout as we want, but in fact we can
do this in other ways instead of the pain one:

1) Change the default layout and a little adjustment.
There are 4 install layout: STANDALONE(default), RPM, DEB and SVR4.
And RPM is the one close to what we are using.

2) Don't use prefix and pass full paths to INSTALL_*.
The mariadb's cmake define some of the INSTALL_* relative to
CMAKE_INSTALL_PREFIX, So we can use empty CMAKE_INSTALL_PREFIX,
then we can pass our full paths to INSTALL_* directly.

This patch set the default layout to RPM and pass paths only for:
- INSTALL_DOCDIR: no prefix prepending, so ${datadir} works.
- INSTALL_LIBDIR/INSTALL_PLUGINDIR: use ${baselib}.

The mysql-test is moved from /usr to /usr/share which is more
reasonable, fix the FILES inclusion accordingly.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-10-04 00:28:30 +02:00
Chen Qi 7325e284b6 mariadb: use ${PN} for SYSTEMD_SERVICE
Use ${PN} for SYSTEMD_SERVICE to avoid errors in case of multilib.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-09-26 05:41:53 +02:00
Kang Kai 7d9e535d2e mariadb: upgrade from 5.5.38 to 39
Upgrade mariadb from 5.5.38 to 5.5.39. Previous upgrade made a lot of
work, so it is easy this time.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-28 19:55:38 +02:00
Chen Qi 44834de2a3 mariadb: add systemd unit file
The service file mainly comes from Fedora20.

This patch also adds a configuration file under /etc/tmpfiles.d so
that mysqld could start correctly.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-27 12:49:19 +02:00
Hongxu Jia 196f1050f1 mariadb: change the group of /var/lib/mysql from 'nogroup' to 'mysql'.
The commit 8f637f9bbc added
mysql group, we should change the group of /var/lib/mysql
from 'nogroup' to 'mysql' also.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-27 12:48:45 +02:00
Hongxu Jia 8f637f9bbc mariadb: refer ubuntu/redhat to add mysql group
In ubuntu/redhat, we have:
...
ps -eo user,group,cmd | grep "mysql"
mysql    mysql    /usr/sbin/mysqld
...

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-21 21:35:08 +02:00
Paul Eggleton e751af9f90 mariadb: update to 5.5.38
* Upstream switched from autotools to cmake
* Separate build dir and parallel make now work
* Library versioning no longer used for plugins; other libtool cruft
  gone
* Proper upstream initscript
* Plugins moved from client library package to mariadb-server package
  (matches how Fedora packages these)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-10 16:07:19 +02:00
Koen Kooi 806ba2885b mariadb: handle seperate builddir
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-05-03 20:47:03 +02:00
Chong Lu 091225388e mariadb: add perl and perl modules to RDEPENDS
Perl and perl modules don't be installed in small image, but mariadb-server, mariadb-client
and mariadb-leftovers need them in runtime, so we add them to RDEPENDS.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
2014-05-03 20:45:01 +02:00
Chong.Lu@windriver.com 76b0893ddb mariadb: use /bin/false as the login shell
Use /bin/false as the login shell, just like what Ubuntu does,
otherwise there might be secure issue.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-04-20 11:28:39 +02:00
Matthieu CRAPET c95e155780 recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues
Changes:
- rename SUMMARY with length > 80 to DESCRIPTION
- rename DESCRIPTION with length < 80 to (non present tag) SUMMARY
- drop final point character at the end of SUMMARY string
- remove trailing whitespace of SUMMARY line

Note: don't bump PR

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-02-23 23:20:02 +01:00
Koen Kooi 0d4dac81c6 mariadb: move linker fix to .inc
When using a recent cross-binutils you need this fix as well, so move it from -native to the .inc.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-02-23 23:17:30 +01:00
Andrei Gherzan 097c6ede90 mariadb: Add patch to fix urecognized options
Add patch to tell autoconf about with-plugin option.
In this way we avoid warnings like:
configure: WARNING: unrecognized options: --with-plugin-maria

Change-Id: Id64ac01d7f2072e1bca8979c5da3e8c6520105cb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-01-10 12:20:18 +01:00
Martin Jansa 351f716ba4 mariadb-native: fix dependencies
* unlike BBCLASSEXTENDed native support, dependencies in mariadb-native don't get
  automatic -native suffix, so mariadb-native was depending on target ncurses and zlib.
* move the dependency from .inc and apply it with right suffix

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-12-31 10:52:22 +01:00
Wenzong Fan 5916ffe0a1 mariadb-native: fix link error on Ubuntu 13.10
Below errors only occurs on Ubuntu 13.10:

$arch-linux-libtool: link: g++ ... -o .libs/mysqltest_embedded \
    ../../libmysqld/.libs/libmysqld.so -ldl

    ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen'
    ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose'
    ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror'
    ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlsym'

GCC/ld verion on the host:
    gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
    GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913

This is a strange behavior on Ub13.10, it fails even '-ldl' in the
link command line. This patch will append '-ldl' to dependency_libs
in libmysqld.la.

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-12-21 19:16:51 +01:00
Hongxu Jia baa94eb951 mariadb: fix QA Issue ELF binary has relocations in .text while multilib enabled
bitbake lib32-mariadb
...
WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
...
The mariadb used absolute addresses on IA-32, we should forbid this.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-11-18 23:14:09 +01:00
Martin Jansa 4d62e7f575 recipes: Remove PR = r0 from all recipes
* Remove all PR = "r0" from all .bb files in meta-oe repo. This was done
  with the command sed -e '/^PR.*=.*r0\"/d' meta*/recipes*/*/*.bb -i

* We've switching to the PR server, PR bumps are no longer needed and
  this saves people either accidentally bumping them or forgetting to
  remove the lines (r0 is the default anyway).

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-11-01 15:33:16 +01:00
Wenzong Fan 274147fc56 mariadb-native: depends on zlib-native
Mariadb will provide zlib.* if it can't find zlib binaries and headers
from sysroots path. We have set it to use external zlib.* firstly with
these definitions/configs in inc file:

    + DEPENDS = "ncurses zlib"
    + --with-zlib-dir=${STAGING_EXECPREFIXDIR}

But native bb file overrides the dependencies with:

    + DEPENDS = "ncurses-native"

If mariadb-naitve was built before zlib-native, its own zlib will be
built and provide zlib.la which will brake other packages link to real
zlib with errors like:

    * .../usr/lib/libz.a(gzclose.o): relocation R_X86_64_32 against \
      `a local symbol' can not be used when making a shared object; \
      recompile with -fPIC
    * .../usr/lib/libz.a: could not read symbols: Bad value

By removing the DEPENDS = "ncurses-native" from the native bb file,
mariadb-native will still have the DEPENDS (ncurses zlib) from the
inc file, and since the recipe is mariadb-native, this is equivalent
to DEPENDS = "ncurses-native zlib-native" due to the map_dependencies()
inner fuction for native_virtclass_handler() in "oe-core/meta/classes/
native.bbclass".

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-31 10:27:15 +01:00
Hongxu Jia 0933085d53 mariadb: Add mysql5 to RPROVIDES for backwards compatibility
It failed to build image while IMAGE_INSTALL += "mysql5"
For backwards compatibility:
- Add mysql5 to RPROVIDES_${PN}
- Add mysql5-dbg to RPROVIDES_${PN}-dbg
- Add mysql5-leftovers to RPROVIDES_${PN}-leftovers
- Use "+=" instead of "=" in  RPROVIDES_${PN}-client and
  RPROVIDES_${PN}-server

The same to RREPLACES and RCONFLICTS.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-14 14:27:37 +02:00
Hongxu Jia a0a4037cf2 mariadb: fix do_configure failed while multilib is used
Here is the error log from mariadb's configure test
...
 checking for zlib compression library... configure: error: headers or
binaries were not found in /home/jiahongxu/yocto/build-20131009-mysql/
bitbake_build/tmp/sysroots/qemux86-64/usr/{include,lib}
...

When multilib is used, the baselib is assigned with "lib64", here is
the log from 'bitbake mariadb -e'
...
 4738 # $baselib [3 operations]
 4739 #   set conf/bitbake.conf:10
 4740 #     "${BASELIB}"
 4741 #   set conf/bitbake.conf:11
 4742 #     [vardepvalue] "${baselib}"
 4743 #   set /home/jiahongxu/yocto/build-20131009-mysql/layers/oe-core/meta/conf/multilib.conf:2
 4744 #     "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or d.getVar('BASELIB', True)}"
 4745 # computed:
 4746 #   "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or d.getVar('BASELIB', True)}"
 4747 baselib="lib64"
...

In this situation, the zlib locates in 'lib64' rather than 'lib'.
But mariadb's confiure test still searches zlib in 'lib'.

Modify mariadb's confiure to let lib dir configurable rather
than hardcode could fix this issue.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-14 14:27:36 +02:00
Hongxu Jia 4e59f5680d mariadb: fix warning while invoking 'mysql_install_db' on target
Invoke 'mysql_install_db' on target, there are some warnings:
...
Installing MariaDB/MySQL system tables...
131009  6:13:14 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
OK
Filling help tables...
131009  6:13:14 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
OK
...

Modify my.cnf to use '--skip-external-locking' instead of '--skip-locking'
could fix this issue.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-14 14:27:36 +02:00
Hongxu Jia 8a5dc53b66 mariadb: update libdir for libtool
In mariadb recipe,do_install move all the lib files from usr/lib/mysql
to usr/lib,but didn't change libdir value in *.la libtool file. This
will cause libtool can't get correct lib path of mysql when other
package need mysql lib.So update them to correct value.

Here is a exapmle:
In libmysqlclient.la file: libdir = "/usr/lib/mysq/", but in fact
libmysqclient.so is installed into  "/usr/lib", this will cause
libtool can not find correct lib file with libmysqlclient.la, then
libtool will use rpath option to reference a absolute path, and
this will cause rpath WARING and rpm error.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-14 14:27:36 +02:00
Martin Jansa 2ba20b0223 mariadb-native: Add mysql5-native to PROVIDES
* for backwards compatibility

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-09-03 19:12:39 +02:00
Paul Eggleton 72e23c1229 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>
2013-08-27 16:39:31 +01:00
Martin Jansa f32956c1d6 mysql-python: add dependency on mysql
* fails without mysql_config:
  ERROR: Function failed: do_compile (log file is located at mysql-python/1.2.4-r0/temp/log.do_compile.29833)
  ERROR: Logfile of failure stored in: mysql-python/1.2.4-r0/temp/log.do_compile.29833
  Log data follows:
  | DEBUG: Executing shell function do_compile
  | sh: 1: mysql_config: not found
  | Traceback (most recent call last):
  |   File "setup.py", line 18, in <module>
  |     metadata, options = get_config()
  |   File "mysql-python/1.2.4-r0/MySQL-python-1.2.4/setup_posix.py", line 43, in get_config
  |     libs = mysql_config("libs_r")
  |   File "mysql-python/1.2.4-r0/MySQL-python-1.2.4/setup_posix.py", line 25, in mysql_config
  |     raise EnvironmentError("%s not found" % (mysql_config.path,))
  | EnvironmentError: mysql_config not found
  | ERROR: python setup.py build_ext execution failed.
  | ERROR: Function failed: do_compile (log file is located at mysql-python/1.2.4-r0/temp/log.do_compile.29833)
  NOTE: recipe mysql-python-1.2.4-r0: task do_compile: Failed
  ERROR: Task 6 (meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb, do_compile) failed with exit code '1'

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-08-14 13:34:29 +02:00
Martin Jansa dcbadeb68f mysql5: prevent using bundled zlib at all costs
* in some seldom cases mysql's m4 macro decides that system
  zlib (from DEPENDS) is not worthy and decides to use own
  bundled version which prefers stuff like static libz.a and
  stages libz.la again:
  mysql-5.1.40/config/ac-macros/zlib.m4
  NOTE: recipe mysql5-5.1.40-r11: task do_package_setscene: Started
  NOTE: recipe zlib-1.2.7-r0: task do_packagedata_setscene: Succeeded
  WARNING: The recipe zlib is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
  sysroots/om-gta04/usr/lib/libz.a
  Matched in manifest-om-gta04-mysql5
  Please verify which package should provide the above files.
  NOTE: recipe zlib-1.2.7-r0: task do_populate_sysroot_setscene: Succeeded

* this libz.la + libz.a is breaking many packages which are now trying to
  link shared libs against libz.a from mysql which was built without fPIC
  breaking libxml2, glib-2.0, gnutls, libpng, ...
  | ld: sysroots/om-gta04/usr/lib/libz.a(crc32.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
  | sysroots/om-gta04/usr/lib/libz.a: could not read symbols: Bad value
  | collect2: ld returned 1 exit status

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-12 12:06:01 +02:00
Marcin Juszkiewicz 675289a6f5 mysql: depend on zlib to not build own one
When mysql does not detect zlib during configure then their copy of
zlib 1.2.3 is built. That leads to problems during rootfs creation:

|  * check_data_file_clashes: Package libz-staticdev wants to install file /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/work/genericarmv8-oe-linux/linaro-image-lamp/1.0-r0/rootfs/usr/lib/libz.a
|       But that file is already provided by package  * libmysqlclient-staticdev
|  * opkg_install_cmd: Cannot install package libz-staticdev.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-06-03 14:32:01 +02:00