Commit 29a254bd authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Thomas Petazzoni
Browse files

rsyslog: enable sql support



Enable support for mysql and pgsql.
Patches sent upstream (pull request on github).

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 82e4f725
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
From b095b56b7cf96a5b1a5e411b6da14b5e9f237a43 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 14 Jan 2015 10:07:50 -0300
Subject: [PATCH] configure.ac: make mysql support cross-compile friendly

When cross-compiling mysql_config shouldn't be expected to be in PATH
since normally this would point to distribution mysql rather than cross,
which can be of a totally different architecture.

Change it so we can use ac_cv_prog_MYSQL_CONFIG to point to the real one.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 configure.ac | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index ad7274c..4e662dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -547,21 +547,22 @@ AC_ARG_ENABLE(mysql,
 )
 if test "x$enable_mysql" = "xyes"; then
   AC_CHECK_PROG(
-    [HAVE_MYSQL_CONFIG],
+    [MYSQL_CONFIG],
     [mysql_config],
-    [yes],,,
+    [mysql_config],
+    [no],,
   )
-  if test "x${HAVE_MYSQL_CONFIG}" != "xyes"; then
-    AC_MSG_FAILURE([mysql_config not found in PATH - usually a package named mysql-dev, libmysql-dev or similar, is missing - install it to fix this issue])
+  if test "x${MYSQL_CONFIG}" = "xno"; then
+    AC_MSG_FAILURE([mysql_config not found - usually a package named mysql-dev, libmysql-dev or similar, is missing - install it to fix this issue])
   fi
   AC_CHECK_LIB(
     [mysqlclient],
     [mysql_init],
-    [MYSQL_CFLAGS=`mysql_config --cflags`
-     MYSQL_LIBS=`mysql_config --libs`
+    [MYSQL_CFLAGS=`$MYSQL_CONFIG --cflags`
+     MYSQL_LIBS=`$MYSQL_CONFIG --libs`
     ],
     [AC_MSG_FAILURE([MySQL library is missing])],
-    [`mysql_config --libs`]
+    [`$MYSQL_CONFIG --libs`]
   )
   AC_MSG_CHECKING(if we have mysql_library_init)
   save_CFLAGS="$CFLAGS"
-- 
2.0.5
+53 −0
Original line number Diff line number Diff line
From 80f49958083b90869e2857eb3edb7367e66c6a72 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 14 Jan 2015 10:11:42 -0300
Subject: [PATCH] configure.ac: make pgsql support cross-compile friendly

When cross-compiling pg_config shouldn't be expected to be in PATH
since normally this would point to distribution pgsql rather than cross,
which can be of a totally different architecture.

Change it so we can use ac_cv_prog_PG_CONFIG to point to the real one.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 configure.ac | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index 4e662dc..6edaedd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -598,21 +598,22 @@ AC_ARG_ENABLE(pgsql,
 )
 if test "x$enable_pgsql" = "xyes"; then
   AC_CHECK_PROG(
-    [HAVE_PGSQL_CONFIG],
+    [PG_CONFIG],
     [pg_config],
-    [yes],,,
+    [pg_config],
+    [no],,,
   )
-  if test "x${HAVE_PGSQL_CONFIG}" != "xyes"; then
-    AC_MSG_FAILURE([pg_config not found in PATH])
+  if test "x${PG_CONFIG}" = "xno"; then
+    AC_MSG_FAILURE([pg_config not found])
   fi
   AC_CHECK_LIB(
     [pq],
     [PQconnectdb],
-    [PGSQL_CFLAGS="-I`pg_config --includedir`"
-     PGSQL_LIBS="-L`pg_config --libdir` -lpq"
+    [PGSQL_CFLAGS="-I`$PG_CONFIG --includedir`"
+     PGSQL_LIBS="-L`$PG_CONFIG --libdir` -lpq"
     ],
     [AC_MSG_FAILURE([PgSQL library is missing])],
-    [-L`pg_config --libdir`]
+    [-L`$PG_CONFIG --libdir`]
   )
 fi
 AM_CONDITIONAL(ENABLE_PGSQL, test x$enable_pgsql = xyes)
-- 
2.0.5
+14 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
	pmaixforwardedfrom pmciscoios pmcisconames pmlastmsg pmsnare
RSYSLOG_CONF_OPTS = --disable-generate-man-pages \
	$(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x))
# For mysql and pgsql support patches
RSYSLOG_AUTORECONF = YES

# Build after BusyBox
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
@@ -34,6 +36,18 @@ else
	RSYSLOG_CONF_OPTS += --enable-libgcrypt=no
endif

ifeq ($(BR2_PACKAGE_MYSQL),y)
	RSYSLOG_DEPENDENCIES += mysql
	RSYSLOG_CONF_OPTS += --enable-mysql
	RSYSLOG_CONF_ENV += ac_cv_prog_MYSQL_CONFIG=$(STAGING_DIR)/usr/bin/mysql_config
endif

ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
	RSYSLOG_DEPENDENCIES += postgresql
	RSYSLOG_CONF_OPTS += --enable-pgsql
	RSYSLOG_CONF_ENV += ac_cv_prog_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config
endif

ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
	RSYSLOG_DEPENDENCIES += util-linux
	RSYSLOG_CONF_OPTS += --enable-uuid