From f8cb85f7db065239a5740e8ea4e8664c83bc4734 Mon Sep 17 00:00:00 2001
From: Kevin Daudt <kdaudt@alpinelinux.org>
Date: Fri, 29 May 2020 16:25:47 +0000
Subject: [PATCH] main/kamailio: fix mariadb header includes

---
 main/kamailio/APKBUILD                   |   4 +-
 main/kamailio/fix-mariadb-includes.patch | 150 +++++++++++++++++++++++
 2 files changed, 153 insertions(+), 1 deletion(-)
 create mode 100644 main/kamailio/fix-mariadb-includes.patch

diff --git a/main/kamailio/APKBUILD b/main/kamailio/APKBUILD
index 23fbd50ec258..64e15e21263f 100644
--- a/main/kamailio/APKBUILD
+++ b/main/kamailio/APKBUILD
@@ -33,6 +33,7 @@ makedepends="bison db-dev flex freeradius-client-dev expat-dev
 	ruby-dev libmaxminddb-dev libunistring-dev"
 source="kamailio-${pkgver}$_suffix.tar.gz::https://github.com/kamailio/kamailio/archive/$_gitcommit.tar.gz
 	kamailio.initd
+	fix-mariadb-includes.patch
 	"
 
 install="$pkgname.pre-install $pkgname.pre-upgrade"
@@ -539,4 +540,5 @@ sipdump() {
 }
 
 sha512sums="ed242b6d63e1559ddb9336928e6c52c9242ca67a838f97a32ff30e6a0bc9f271e2f173bad315d64ae6d353b7ce7ced2a85c55bcc41a466e3b6403f487f876f7f  kamailio-5.3.4.tar.gz
-0c87bfb78481568c03e603049eb8597a90d24ae2941fc81694181b2326fa9db89fbddaaa3cf08c7bc2f5fa0e7ffac4cf4e2d010d08c4faa6cf6df98593432539  kamailio.initd"
+0c87bfb78481568c03e603049eb8597a90d24ae2941fc81694181b2326fa9db89fbddaaa3cf08c7bc2f5fa0e7ffac4cf4e2d010d08c4faa6cf6df98593432539  kamailio.initd
+5225ca8bd66322fda0efac40a710c94a72f5ab30c269deb153de5fa895160afa425138acd89198c2e293b036d877ec3ec4f81bce82eb69c71c6263b273a21e46  fix-mariadb-includes.patch"
diff --git a/main/kamailio/fix-mariadb-includes.patch b/main/kamailio/fix-mariadb-includes.patch
new file mode 100644
index 000000000000..d9f009d37638
--- /dev/null
+++ b/main/kamailio/fix-mariadb-includes.patch
@@ -0,0 +1,150 @@
+Upstream: no
+Reason: mariadb headers are located in a subfolder, so fix includes to use that
+as well.
+diff --git a/src/modules/db_mysql/km_db_mysql.c b/src/modules/db_mysql/km_db_mysql.c
+index 8193588..031f8c2 100644
+--- a/src/modules/db_mysql/km_db_mysql.c
++++ b/src/modules/db_mysql/km_db_mysql.c
+@@ -38,7 +38,7 @@
+ #include "km_dbase.h"
+ #include "km_db_mysql.h"
+ 
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ unsigned int db_mysql_timeout_interval = 2;   /* Default is 6 seconds */
+ unsigned int db_mysql_auto_reconnect = 1;     /* Default is enabled   */
+diff --git a/src/modules/db_mysql/km_dbase.c b/src/modules/db_mysql/km_dbase.c
+index eaff327..7a6895f 100644
+--- a/src/modules/db_mysql/km_dbase.c
++++ b/src/modules/db_mysql/km_dbase.c
+@@ -33,8 +33,8 @@
+ 
+ #include <stdio.h>
+ #include <string.h>
+-#include <mysql.h>
+-#include <errmsg.h>
++#include <mysql/mysql.h>
++#include <mysql/errmsg.h>
+ #include "../../core/mem/mem.h"
+ #include "../../core/dprint.h"
+ #include "../../core/async_task.h"
+diff --git a/src/modules/db_mysql/km_my_con.c b/src/modules/db_mysql/km_my_con.c
+index bed21f9..543860c 100644
+--- a/src/modules/db_mysql/km_my_con.c
++++ b/src/modules/db_mysql/km_my_con.c
+@@ -28,7 +28,7 @@
+ 
+ #include "km_my_con.h"
+ #include "km_db_mysql.h"
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ /* MariaDB exports MYSQL_VERSION_ID as well, but changed numbering scheme */
+ #if MYSQL_VERSION_ID > 80000 && ! defined MARIADB_BASE_VERSION
+diff --git a/src/modules/db_mysql/km_my_con.h b/src/modules/db_mysql/km_my_con.h
+index 1c79937..616fdde 100644
+--- a/src/modules/db_mysql/km_my_con.h
++++ b/src/modules/db_mysql/km_my_con.h
+@@ -34,7 +34,7 @@
+ #include "../../lib/srdb1/db_id.h"
+ 
+ #include <time.h>
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ 
+ struct my_con {
+diff --git a/src/modules/db_mysql/km_res.c b/src/modules/db_mysql/km_res.c
+index d810dec..dadc0df 100644
+--- a/src/modules/db_mysql/km_res.c
++++ b/src/modules/db_mysql/km_res.c
+@@ -30,7 +30,7 @@
+ 
+ 
+ #include <string.h>
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ #include "../../lib/srdb1/db_res.h"
+ #include "../../core/mem/mem.h"
+ #include "../../core/dprint.h"
+diff --git a/src/modules/db_mysql/km_val.h b/src/modules/db_mysql/km_val.h
+index e68c831..0a9151f 100644
+--- a/src/modules/db_mysql/km_val.h
++++ b/src/modules/db_mysql/km_val.h
+@@ -29,7 +29,7 @@
+ #ifndef KM_VAL_H
+ #define KM_VAL_H
+ 
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ #include "../../lib/srdb1/db_val.h"
+ #include "../../lib/srdb1/db.h"
+ 
+diff --git a/src/modules/db_mysql/my_cmd.c b/src/modules/db_mysql/my_cmd.c
+index c12d649..0401db0 100644
+--- a/src/modules/db_mysql/my_cmd.c
++++ b/src/modules/db_mysql/my_cmd.c
+@@ -47,8 +47,8 @@
+ #include <stdio.h>
+ #include <time.h>  /*strptime, XOPEN issue must be >=4 */
+ #include <string.h>
+-#include <errmsg.h>
+-#include <mysqld_error.h>
++#include <mysql/errmsg.h>
++#include <mysql/mysqld_error.h>
+ 
+ #define STR_BUF_SIZE 1024
+ 
+diff --git a/src/modules/db_mysql/my_cmd.h b/src/modules/db_mysql/my_cmd.h
+index dea1ace..b3874e6 100644
+--- a/src/modules/db_mysql/my_cmd.h
++++ b/src/modules/db_mysql/my_cmd.h
+@@ -24,7 +24,7 @@
+ 
+ #include "../../lib/srdb2/db_drv.h"
+ #include "../../lib/srdb2/db_cmd.h"
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ #include <stdarg.h>
+ 
+ typedef enum my_flags {
+diff --git a/src/modules/db_mysql/my_con.h b/src/modules/db_mysql/my_con.h
+index ea6d5d7..e09b8a4 100644
+--- a/src/modules/db_mysql/my_con.h
++++ b/src/modules/db_mysql/my_con.h
+@@ -27,7 +27,7 @@
+ #include "../../lib/srdb2/db_uri.h"
+ 
+ #include <time.h>
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ enum my_con_flags {
+ 	MY_CONNECTED = 1
+diff --git a/src/modules/db_mysql/my_fld.h b/src/modules/db_mysql/my_fld.h
+index c247e48..0246bd4 100644
+--- a/src/modules/db_mysql/my_fld.h
++++ b/src/modules/db_mysql/my_fld.h
+@@ -28,7 +28,7 @@
+ 
+ #include "../../lib/srdb2/db_drv.h"
+ #include "../../lib/srdb2/db_fld.h"
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ /* MariaDB exports MYSQL_VERSION_ID as well, but changed numbering */
+ #if MYSQL_VERSION_ID > 80000 && ! defined MARIADB_BASE_VERSION
+diff --git a/src/modules/db_mysql/my_res.c b/src/modules/db_mysql/my_res.c
+index ff6618c..2f09fa4 100644
+--- a/src/modules/db_mysql/my_res.c
++++ b/src/modules/db_mysql/my_res.c
+@@ -27,7 +27,7 @@
+ #include "../../core/dprint.h"
+ #include "../../lib/srdb2/db_gen.h"
+ 
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ 
+ void my_res_free(db_res_t* res, struct my_res* payload)
-- 
GitLab