Accepting request 251466 from Base:System
Build with json-c 0.12, number two. Goes together with SR#250461 json-c openSUSE:Factory:Staging:B OBS-URL: https://build.opensuse.org/request/show/251466 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rsyslog?expand=0&rev=95
This commit is contained in:
commit
b05a9810db
38
rsyslog-8.4.0-json-c-0.12-configure.patch
Normal file
38
rsyslog-8.4.0-json-c-0.12-configure.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From: Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
Subject: [PATCH] fix build with json-c 0.12 if it provides a compatibility json.pc
|
||||||
|
Date: Mon, 22 Sep 2014 20:40:53 +0100
|
||||||
|
Upstream: submitting
|
||||||
|
References:
|
||||||
|
|
||||||
|
json-c on openSUSE provides a compatibility pkg-config for "json".
|
||||||
|
The autoconf check find it first, assuming it does not provide
|
||||||
|
the function json_tokener_error_desc. Check for availability of
|
||||||
|
function using AC_CHECK_FUNCS instead.
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: rsyslog-8.4.0/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- rsyslog-8.4.0.orig/configure.ac 2014-08-18 10:41:34.000000000 +0100
|
||||||
|
+++ rsyslog-8.4.0/configure.ac 2014-09-22 20:34:18.000000000 +0100
|
||||||
|
@@ -32,14 +32,16 @@ PKG_PROG_PKG_CONFIG
|
||||||
|
PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.9)
|
||||||
|
PKG_CHECK_MODULES(LIBLOGGING_STDLOG, liblogging-stdlog >= 1.0.3)
|
||||||
|
PKG_CHECK_MODULES([JSON_C], [json],, [
|
||||||
|
- PKG_CHECK_MODULES([JSON_C], [json-c],
|
||||||
|
- [AC_DEFINE([HAVE_JSON_TOKENER_ERROR_DESC], [1], [we have the newer JSON-C API])])
|
||||||
|
+ PKG_CHECK_MODULES([JSON_C], [json-c],,)
|
||||||
|
])
|
||||||
|
|
||||||
|
# if int64 is supported, use it
|
||||||
|
AC_CHECK_LIB(json-c, json_object_new_object,,)
|
||||||
|
AC_CHECK_FUNCS(json_object_new_int64,,)
|
||||||
|
|
||||||
|
+# look for newer API
|
||||||
|
+AC_CHECK_FUNCS(json_tokener_error_desc,,)
|
||||||
|
+
|
||||||
|
case "${host}" in
|
||||||
|
*-*-linux*)
|
||||||
|
AC_DEFINE([OS_LINUX], [1], [Indicator for a Linux OS])
|
34
rsyslog-8.4.0-json-c-0.12.patch
Normal file
34
rsyslog-8.4.0-json-c-0.12.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From: Rainer Gerhards <rgerhards@adiscon.com>
|
||||||
|
Date: Tue Aug 19 11:33:41 2014 +0200
|
||||||
|
Subject: build failure on systems which don't have json_tokener_errors
|
||||||
|
Upstream: Committed
|
||||||
|
References: https://github.com/rsyslog/rsyslog/commit/6b47dd542d07ed557f02af9970d1004eb262e1c1
|
||||||
|
|
||||||
|
bugfix: build failure on systems which don't have json_tokener_errors
|
||||||
|
|
||||||
|
Older versions of json-c need to use a different API (which don't exists
|
||||||
|
on newer versions, unfortunately...)
|
||||||
|
Thanks to Thomas D. for reporting this problem.
|
||||||
|
|
||||||
|
Build error:
|
||||||
|
[ 77s] msg.c: In function 'MsgSetPropsViaJSON':
|
||||||
|
[ 77s] msg.c:4077:14: error: 'json_tokener_errors' undeclared (first use in this function)
|
||||||
|
[ 77s] errMsg = json_tokener_errors[err];
|
||||||
|
|
||||||
|
diff --git a/runtime/msg.c b/runtime/msg.c
|
||||||
|
index 66c3b7b..81b13f9 100644
|
||||||
|
--- a/runtime/msg.c
|
||||||
|
+++ b/runtime/msg.c
|
||||||
|
@@ -4074,7 +4074,11 @@ MsgSetPropsViaJSON(msg_t *__restrict__ const pMsg, const uchar *__restrict__ con
|
||||||
|
|
||||||
|
err = tokener->err;
|
||||||
|
if(err != json_tokener_continue)
|
||||||
|
- errMsg = json_tokener_errors[err];
|
||||||
|
+# if HAVE_JSON_TOKENER_ERROR_DESC
|
||||||
|
+ errMsg = json_tokener_error_desc(err);
|
||||||
|
+# else
|
||||||
|
+ errMsg = json_tokener_errors[err];
|
||||||
|
+# endif
|
||||||
|
else
|
||||||
|
errMsg = "Unterminated input";
|
||||||
|
} else if(!json_object_is_type(json, json_type_object))
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 22 19:50:42 UTC 2014 - andreas.stieger@gmx.de
|
||||||
|
|
||||||
|
- fix build with json-c 0.12 with upstream patch
|
||||||
|
rsyslog-8.4.0-json-c-0.12.patch
|
||||||
|
- json-c provides a compatibility pkg-config for "json". Add
|
||||||
|
rsyslog-8.4.0-json-c-0.12-configure.patch to check for the
|
||||||
|
required function directly.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Sep 17 09:40:40 UTC 2014 - wagner-thomas@gmx.at
|
Wed Sep 17 09:40:40 UTC 2014 - wagner-thomas@gmx.at
|
||||||
|
|
||||||
|
11
rsyslog.spec
11
rsyslog.spec
@ -90,6 +90,11 @@ BuildRequires: pkgconfig(libsystemd-journal) >= 197
|
|||||||
Requires(pre): %insserv_prereq %fillup_prereq /etc/init.d/syslog
|
Requires(pre): %insserv_prereq %fillup_prereq /etc/init.d/syslog
|
||||||
BuildRequires: klogd
|
BuildRequires: klogd
|
||||||
%endif
|
%endif
|
||||||
|
# for Patch3 rsyslog-8.4.0-json-c-0.12-configure.patch
|
||||||
|
BuildRequires: autoconf >= 2.61
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: libtool
|
||||||
|
#
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
BuildRequires: openssl-devel >= 0.9.7
|
BuildRequires: openssl-devel >= 0.9.7
|
||||||
@ -186,6 +191,8 @@ Source15: rsyslog.firewall
|
|||||||
# PATCH-FIX-OPENSUSE rsyslog-unit.patch crrodriguez@opensuse.org Customize upstream systemd unit for openSUSE needs.
|
# PATCH-FIX-OPENSUSE rsyslog-unit.patch crrodriguez@opensuse.org Customize upstream systemd unit for openSUSE needs.
|
||||||
Patch0: rsyslog-unit.patch
|
Patch0: rsyslog-unit.patch
|
||||||
Patch1: rsyslog-8.4.0_implicit_declaration.patch
|
Patch1: rsyslog-8.4.0_implicit_declaration.patch
|
||||||
|
Patch2: rsyslog-8.4.0-json-c-0.12.patch
|
||||||
|
Patch3: rsyslog-8.4.0-json-c-0.12-configure.patch
|
||||||
|
|
||||||
# this is a dirty hack since % dir does only work for the specified directory and nothing above
|
# this is a dirty hack since % dir does only work for the specified directory and nothing above
|
||||||
# but I want to be able to switch this to /etc/apparmor.d once the profiles received more testing
|
# but I want to be able to switch this to /etc/apparmor.d once the profiles received more testing
|
||||||
@ -482,6 +489,8 @@ This module provides support for ZeroMQ.
|
|||||||
%setup -q -n %{name}-%{upstream_version} -a 14
|
%setup -q -n %{name}-%{upstream_version} -a 14
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
#
|
#
|
||||||
%if %{with systemd}
|
%if %{with systemd}
|
||||||
for file in rsyslog-service-prepare; do
|
for file in rsyslog-service-prepare; do
|
||||||
@ -493,6 +502,8 @@ done
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# for Patch3 rsyslog-8.4.0-json-c-0.12-configure.patch
|
||||||
|
autoreconf -fiv
|
||||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -W -Wall -I../grammar -I../../grammar"
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -W -Wall -I../grammar -I../../grammar"
|
||||||
# needs java
|
# needs java
|
||||||
# --enable-gui \
|
# --enable-gui \
|
||||||
|
Loading…
Reference in New Issue
Block a user