[Buildroot] [PATCH v3 6/7] package/libodb-mysql: new package

Kamel Bouhara kamel.bouhara at bootlin.com
Mon Jul 6 15:30:39 UTC 2020


This package contains the MySQL ODB runtime library. Every application
that includes code generated for the MySQL database will need to link
to this library.

Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
---
 DEVELOPERS                                    |  3 ++
 package/Config.in                             |  1 +
 ...-syntax-issue-while-checking-ldflags.patch | 35 +++++++++++++
 .../libodb-mysql/0002-mariadb-FTBFS-fix.patch | 51 +++++++++++++++++++
 package/libodb-mysql/Config.in                | 16 ++++++
 package/libodb-mysql/libodb-mysql.hash        |  4 ++
 package/libodb-mysql/libodb-mysql.mk          | 16 ++++++
 7 files changed, 126 insertions(+)
 create mode 100644 package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch
 create mode 100644 package/libodb-mysql/0002-mariadb-FTBFS-fix.patch
 create mode 100644 package/libodb-mysql/Config.in
 create mode 100644 package/libodb-mysql/libodb-mysql.hash
 create mode 100644 package/libodb-mysql/libodb-mysql.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index b18e818467..fdab3becc3 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1409,6 +1409,9 @@ F:	package/easy-rsa/
 N:	Justin Maggard <jmaggard at netgear.com>
 F:	package/dtach/
 
+N:	Kamel Bouhara <kamel.bouhara at gmail.com>
+F:	package/libodb-mysql/
+
 N:	Karoly Kasza <kaszak at gmail.com>
 F:	package/irqbalance/
 F:	package/openvmtools/
diff --git a/package/Config.in b/package/Config.in
index 59e714fb6a..651241dc0c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1319,6 +1319,7 @@ menu "Database"
 	source "package/hiredis/Config.in"
 	source "package/kompexsqlite/Config.in"
 	source "package/leveldb/Config.in"
+	source "package/libodb-mysql/Config.in"
 	source "package/libodb-pgsql/Config.in"
 	source "package/libgit2/Config.in"
 	source "package/libpqxx/Config.in"
diff --git a/package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch b/package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch
new file mode 100644
index 0000000000..17efd8bcb8
--- /dev/null
+++ b/package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch
@@ -0,0 +1,35 @@
+From 3af12d8d0f749751e487955c24260049e7a8eec6 Mon Sep 17 00:00:00 2001
+From: Kamel Bouhara <kamel.bouhara at bootlin.com>
+Date: Wed, 13 May 2020 16:58:22 +0200
+Subject: [PATCH 1/2] fix syntax issue while checking ldflags
+
+Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
+---
+ configure | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index def5883..2d783f6 100755
+--- a/configure
++++ b/configure
+@@ -17574,7 +17574,7 @@ libmysqlclient_paths="none /usr/lib/mysql /usr/lib64/mysql"
+ 
+ for path in $libmysqlclient_paths; do
+ 
+-if test x"path" != xnone; then
++if test x"$path" != xnone; then
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -L$path"
+ fi
+@@ -17753,7 +17753,7 @@ if test x"$libmysqlclient_found" = xyes; then
+   break;
+ fi
+ 
+-if test x"path" != xnone; then
++if test x"$path" != xnone; then
+   LDFLAGS="$save_LDFLAGS"
+ fi
+ 
+-- 
+2.26.2
+
diff --git a/package/libodb-mysql/0002-mariadb-FTBFS-fix.patch b/package/libodb-mysql/0002-mariadb-FTBFS-fix.patch
new file mode 100644
index 0000000000..502f05909f
--- /dev/null
+++ b/package/libodb-mysql/0002-mariadb-FTBFS-fix.patch
@@ -0,0 +1,51 @@
+From 552474a477989d0d3514f126b8e314dccc27878c Mon Sep 17 00:00:00 2001
+From: Kamel Bouhara <kamel.bouhara at bootlin.com>
+Date: Wed, 1 Jul 2020 08:58:24 +0200
+Subject: [PATCH 2/2] mariadb FTBFS fix
+
+From: https://sources.debian.org/patches/libodb-mysql/2.4.0-4/mariadb_FTBFS_fix.patch/
+
+Description: fix FTBFS with recent MariaDB versions
+Don't include internal an header, only the main one.
+Bug-Debian: https://bugs.debian.org/919374
+Forwarded: no
+Author: Laszlo Boszormenyi (GCS) <gcs at debian.org>
+
+Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
+---
+ odb/mysql/mysql-types.hxx | 4 ++--
+ odb/mysql/version.hxx     | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/odb/mysql/mysql-types.hxx b/odb/mysql/mysql-types.hxx
+index 1254ccd..0e8f9a8 100644
+--- a/odb/mysql/mysql-types.hxx
++++ b/odb/mysql/mysql-types.hxx
+@@ -11,9 +11,9 @@ typedef char my_bool;
+ typedef struct st_mysql_bind MYSQL_BIND;
+ 
+ #ifdef LIBODB_MYSQL_INCLUDE_SHORT
+-#  include <mysql_time.h>
++#  include <mysql.h>
+ #else
+-#  include <mysql/mysql_time.h>
++#  include <mysql/mysql.h>
+ #endif
+ 
+ #endif // ODB_MYSQL_MYSQL_TYPES_HXX
+diff --git a/odb/mysql/version.hxx b/odb/mysql/version.hxx
+index 05b4ba5..e711c2e 100644
+--- a/odb/mysql/version.hxx
++++ b/odb/mysql/version.hxx
+@@ -12,7 +12,7 @@
+ #ifdef LIBODB_MYSQL_INCLUDE_SHORT
+ #  include <mysql_version.h>
+ #else
+-#  include <mysql/mysql_version.h>
++#  include <mysql/mysql.h>
+ #endif
+ 
+ #include <odb/version.hxx>
+-- 
+2.26.2
+
diff --git a/package/libodb-mysql/Config.in b/package/libodb-mysql/Config.in
new file mode 100644
index 0000000000..55a32ce6d4
--- /dev/null
+++ b/package/libodb-mysql/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_LIBODB_MYSQL
+	bool "libodb-mysql"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_MYSQL
+	select BR2_PACKAGE_LIBODB
+	help
+	  This package contains the MySQL ODB runtime library. Every application
+	  that includes code generated for the MySQL database will need to link
+	  to this library.
+
+	  https://www.codesynthesis.com/products/odb/
+
+comment "libodb-mysql needs a toolchain w/ C++, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+        depends on BR2_PACKAGE_MYSQL
diff --git a/package/libodb-mysql/libodb-mysql.hash b/package/libodb-mysql/libodb-mysql.hash
new file mode 100644
index 0000000000..1c35041af8
--- /dev/null
+++ b/package/libodb-mysql/libodb-mysql.hash
@@ -0,0 +1,4 @@
+sha1	2021a67577354f1d6bed50c0b257c1920760eda7	libodb-mysql-2.4.0.tar.bz2
+
+sha256	ce2fcdb6ab4a02fc0aff263a891c56949fa41b89e65d7a40d8b656d3ebf0d9bc	libodb-mysql-2.4.0.tar.bz2
+sha256	841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3	LICENSE
diff --git a/package/libodb-mysql/libodb-mysql.mk b/package/libodb-mysql/libodb-mysql.mk
new file mode 100644
index 0000000000..97cbcddf93
--- /dev/null
+++ b/package/libodb-mysql/libodb-mysql.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# libodb-mysql
+#
+################################################################################
+
+LIBODB_MYSQL_VERSION_MAJOR = 2.4
+LIBODB_MYSQL_VERSION = $(LIBODB_MYSQL_VERSION_MAJOR).0
+LIBODB_MYSQL_SOURCE = libodb-mysql-$(LIBODB_MYSQL_VERSION).tar.bz2
+LIBODB_MYSQL_SITE = https://www.codesynthesis.com/download/odb/$(LIBODB_MYSQL_VERSION_MAJOR)
+LIBODB_MYSQL_INSTALL_STAGING = YES
+LIBODB_MYSQL_LICENSE = GPL-2.0
+LIBODB_MYSQL_LICENSE_FILES = LICENSE
+LIBODB_MYSQL_DEPENDENCIES = libodb mysql
+
+$(eval $(autotools-package))
-- 
2.26.2




More information about the buildroot mailing list