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
|
||||
|
||||
|
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
|
||||
BuildRequires: klogd
|
||||
%endif
|
||||
# for Patch3 rsyslog-8.4.0-json-c-0.12-configure.patch
|
||||
BuildRequires: autoconf >= 2.61
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
#
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
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.
|
||||
Patch0: rsyslog-unit.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
|
||||
# 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
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
#
|
||||
%if %{with systemd}
|
||||
for file in rsyslog-service-prepare; do
|
||||
@ -493,6 +502,8 @@ done
|
||||
%endif
|
||||
|
||||
%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"
|
||||
# needs java
|
||||
# --enable-gui \
|
||||
|
Loading…
Reference in New Issue
Block a user