diff --git a/.gitignore b/.gitignore
index affddc5..3738725 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ rsyslog-4.6.3.tar.gz
/rsyslog-5.8.6.tar.gz
/rsyslog-5.8.7.tar.gz
/rsyslog-5.8.11.tar.gz
+/rsyslog-7.2.2.tar.gz
diff --git a/rsyslog-5.8.11-close-fd1-when-forking.patch b/rsyslog-5.8.11-close-fd1-when-forking.patch
deleted file mode 100644
index fecc945..0000000
--- a/rsyslog-5.8.11-close-fd1-when-forking.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -up rsyslog-5.8.11/runtime/debug.c.orig rsyslog-5.8.11/runtime/debug.c
---- rsyslog-5.8.11/runtime/debug.c.orig 2012-05-23 17:41:49.442845286 +0200
-+++ rsyslog-5.8.11/runtime/debug.c 2012-05-23 17:42:34.202282641 +0200
-@@ -68,7 +68,7 @@ static int bPrintAllDebugOnExit = 0;
- static int bAbortTrace = 1; /* print a trace after SIGABRT or SIGSEGV */
- static char *pszAltDbgFileName = NULL; /* if set, debug output is *also* sent to here */
- static int altdbg = -1; /* and the handle for alternate debug output */
--static int stddbg;
-+int stddbg = 1; /* the handle for regular debug output, set to stdout if not forking, -1 otherwise */
-
- /* list of files/objects that should be printed */
- typedef struct dbgPrintName_s {
-@@ -1297,8 +1297,6 @@ dbgGetRuntimeOptions(void)
- uchar *optname;
-
- /* set some defaults */
-- stddbg = 1;
--
- if((pszOpts = (uchar*) getenv("RSYSLOG_DEBUG")) != NULL) {
- /* we have options set, so let's process them */
- while(dbgGetRTOptNamVal(&pszOpts, &optname, &optval)) {
-diff -up rsyslog-5.8.11/runtime/debug.h.orig rsyslog-5.8.11/runtime/debug.h
---- rsyslog-5.8.11/runtime/debug.h.orig 2012-05-23 17:41:53.392795633 +0200
-+++ rsyslog-5.8.11/runtime/debug.h 2012-05-23 17:42:34.203282628 +0200
-@@ -35,6 +35,7 @@
- /* external static data elements (some time to be replaced) */
- extern int Debug; /* debug flag - read-only after startup */
- extern int debugging_on; /* read-only, except on sig USR1 */
-+extern int stddbg; /* the handle for regular debug output, set to stdout if not forking, -1 otherwise */
-
- /* data types */
-
-diff -up rsyslog-5.8.11/tools/syslogd.c.orig rsyslog-5.8.11/tools/syslogd.c
---- rsyslog-5.8.11/tools/syslogd.c.orig 2012-05-03 13:52:27.000000000 +0200
-+++ rsyslog-5.8.11/tools/syslogd.c 2012-05-23 17:42:34.210282540 +0200
-@@ -2514,6 +2514,9 @@ doGlblProcessInit(void)
- sigAct.sa_handler = doexit;
- sigaction(SIGTERM, &sigAct, NULL);
-
-+ /* stop writing debug messages to stdout (if debugging is on) */
-+ stddbg = -1;
-+
- if (fork()) {
- /* Parent process
- */
diff --git a/rsyslog-5.8.11-systemd.patch b/rsyslog-5.8.11-systemd.patch
deleted file mode 100644
index 0fde0cd..0000000
--- a/rsyslog-5.8.11-systemd.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up rsyslog-5.8.11/rsyslog.service.in.orig rsyslog-5.8.11/rsyslog.service.in
---- rsyslog-5.8.11/rsyslog.service.in.orig 2012-06-20 18:28:14.561697697 +0200
-+++ rsyslog-5.8.11/rsyslog.service.in 2012-06-20 18:28:45.554308105 +0200
-@@ -2,8 +2,8 @@
- Description=System Logging Service
-
- [Service]
--ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service
--ExecStart=@sbindir@/rsyslogd -n -c5
-+EnvironmentFile=-/etc/sysconfig/rsyslog
-+ExecStart=@sbindir@/rsyslogd -n $SYSLOGD_OPTIONS
- Sockets=syslog.socket
- StandardOutput=null
-
diff --git a/rsyslog-5.8.7-sysklogd-compat-1-template.patch b/rsyslog-5.8.7-sysklogd-compat-1-template.patch
deleted file mode 100644
index 604dce6..0000000
--- a/rsyslog-5.8.7-sysklogd-compat-1-template.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -up rsyslog-5.8.7/doc/rsyslog_conf_templates.html.orig rsyslog-5.8.7/doc/rsyslog_conf_templates.html
---- rsyslog-5.8.7/doc/rsyslog_conf_templates.html.orig 2012-01-20 14:04:54.976086070 +0100
-+++ rsyslog-5.8.7/doc/rsyslog_conf_templates.html 2012-01-20 14:06:35.890817529 +0100
-@@ -146,6 +146,10 @@ with high-precision timestamps and timez
- useful if you send messages to other syslogd's or rsyslogd
- below
- version 3.12.5.
-+
RSYSLOG_SysklogdFileFormat
-+- sysklogd compatible log file format. If used with options: $SpaceLFOnReceive on;
-+$EscapeControlCharactersOnReceive off; $DropTrailingLFOnReception off,
-+the log format will conform to sysklogd log format.
- RSYSLOG_ForwardFormat
- - a new high-precision forwarding format very similar to the
- traditional one, but with high-precision timestamps and timezone
-diff -up rsyslog-5.8.7/tools/syslogd.c.orig rsyslog-5.8.7/tools/syslogd.c
---- rsyslog-5.8.7/tools/syslogd.c.orig 2012-01-20 14:05:04.985960243 +0100
-+++ rsyslog-5.8.7/tools/syslogd.c 2012-01-20 14:11:20.527239529 +0100
-@@ -335,6 +335,7 @@ static uchar template_StdUsrMsgFmt[] = "
- static uchar template_StdDBFmt[] = "\"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')\",SQL";
- static uchar template_StdPgSQLFmt[] = "\"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-pgsql%', '%timegenerated:::date-pgsql%', %iut%, '%syslogtag%')\",STDSQL";
- static uchar template_spoofadr[] = "\"%fromhost-ip%\"";
-+static uchar template_SysklogdFileFormat[] = "\"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n\"";
- /* end templates */
-
-
-@@ -2171,6 +2172,8 @@ static rsRetVal mainThread()
- tplAddLine(" StdUsrMsgFmt", &pTmp);
- pTmp = template_StdDBFmt;
- tplAddLine(" StdDBFmt", &pTmp);
-+ pTmp = template_SysklogdFileFormat;
-+ tplAddLine("RSYSLOG_SysklogdFileFormat", &pTmp);
- pTmp = template_StdPgSQLFmt;
- tplAddLine(" StdPgSQLFmt", &pTmp);
- pTmp = template_spoofadr;
diff --git a/rsyslog-5.8.7-sysklogd-compat-2-option.patch b/rsyslog-5.8.7-sysklogd-compat-2-option.patch
deleted file mode 100644
index e3c6bf8..0000000
--- a/rsyslog-5.8.7-sysklogd-compat-2-option.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -up rsyslog-5.8.7/doc/rsyslog_conf_global.html.orig rsyslog-5.8.7/doc/rsyslog_conf_global.html
---- rsyslog-5.8.7/doc/rsyslog_conf_global.html.orig 2012-01-20 14:17:43.565424577 +0100
-+++ rsyslog-5.8.7/doc/rsyslog_conf_global.html 2012-01-20 14:36:41.208123930 +0100
-@@ -143,6 +143,7 @@ our paper on $Escape8BitCharactersOnReceive
- $EscapeControlCharactersOnReceive
- $EscapeControlCharactersOnReceive [on|off] - escape USASCII HT character
-+$SpaceLFOnReceive [on/off] - instructs rsyslogd to replace LF with spaces during message reception (sysklogd compatibility aid)
- $ErrorMessagesToStderr [on|off] - direct rsyslogd error message to stderr (in addition to other targets)
- $FailOnChownFailure
- $FileCreateMode
-diff -up rsyslog-5.8.7/runtime/parser.c.orig rsyslog-5.8.7/runtime/parser.c
---- rsyslog-5.8.7/runtime/parser.c.orig 2012-01-20 14:17:55.421275542 +0100
-+++ rsyslog-5.8.7/runtime/parser.c 2012-01-20 15:04:00.664515268 +0100
-@@ -60,6 +60,7 @@ DEFobjCurrIf(ruleset)
- /* config data */
- static uchar cCCEscapeChar = '#';/* character to be used to start an escape sequence for control chars */
- static int bEscapeCCOnRcv = 1; /* escape control characters on reception: 0 - no, 1 - yes */
-+static int bSpaceLFOnRcv = 0; /* replace newlines with spaces on reception: 0 - no, 1 - yes */
- static int bEscape8BitChars = 0; /* escape characters > 127 on reception: 0 - no, 1 - yes */
- static int bEscapeTab = 1; /* escape tab control character when doing CC escapes: 0 - no, 1 - yes */
- static int bDropTrailingLF = 1; /* drop trailing LF's on reception? */
-@@ -354,9 +355,13 @@ SanitizeMsg(msg_t *pMsg)
- int bNeedSanitize = 0;
- for(iSrc = 0 ; iSrc < lenMsg ; iSrc++) {
- if(iscntrl(pszMsg[iSrc])) {
-+ if(bSpaceLFOnRcv && pszMsg[iSrc] == '\n')
-+ pszMsg[iSrc] = ' ';
-+ else
- if(pszMsg[iSrc] == '\0' || bEscapeCCOnRcv) {
- bNeedSanitize = 1;
-- break;
-+ if (!bSpaceLFOnRcv)
-+ break;
- }
- } else if(pszMsg[iSrc] > 127 && bEscape8BitChars) {
- bNeedSanitize = 1;
-@@ -645,6 +650,7 @@ resetConfigVariables(uchar __attribute__
- {
- cCCEscapeChar = '#';
- bEscapeCCOnRcv = 1; /* default is to escape control characters */
-+ bSpaceLFOnRcv = 0;
- bEscape8BitChars = 0; /* default is to escape control characters */
- bEscapeTab = 1; /* default is to escape control characters */
- bDropTrailingLF = 1; /* default is to drop trailing LF's on reception */
-@@ -698,6 +704,7 @@ BEGINObjClassInit(parser, 1, OBJ_IS_CORE
- CHKiRet(regCfSysLineHdlr((uchar *)"controlcharacterescapeprefix", 0, eCmdHdlrGetChar, NULL, &cCCEscapeChar, NULL));
- CHKiRet(regCfSysLineHdlr((uchar *)"droptrailinglfonreception", 0, eCmdHdlrBinary, NULL, &bDropTrailingLF, NULL));
- CHKiRet(regCfSysLineHdlr((uchar *)"escapecontrolcharactersonreceive", 0, eCmdHdlrBinary, NULL, &bEscapeCCOnRcv, NULL));
-+ CHKiRet(regCfSysLineHdlr((uchar *)"spacelfonreceive", 0, eCmdHdlrBinary, NULL, &bSpaceLFOnRcv, NULL));
- CHKiRet(regCfSysLineHdlr((uchar *)"escape8bitcharactersonreceive", 0, eCmdHdlrBinary, NULL, &bEscape8BitChars, NULL));
- CHKiRet(regCfSysLineHdlr((uchar *)"escapecontrolcharactertab", 0, eCmdHdlrBinary, NULL, &bEscapeTab, NULL));
- CHKiRet(regCfSysLineHdlr((uchar *)"resetconfigvariables", 1, eCmdHdlrCustomHandler, resetConfigVariables, NULL, NULL));
diff --git a/rsyslog-7.2.1-msg_c_nonoverwrite_merge.patch b/rsyslog-7.2.1-msg_c_nonoverwrite_merge.patch
new file mode 100644
index 0000000..6fbe502
--- /dev/null
+++ b/rsyslog-7.2.1-msg_c_nonoverwrite_merge.patch
@@ -0,0 +1,44 @@
+diff -up rsyslog-7.2.1/runtime/msg.c.orig rsyslog-7.2.1/runtime/msg.c
+--- rsyslog-7.2.1/runtime/msg.c.orig 2012-10-29 11:33:30.000000000 +0100
++++ rsyslog-7.2.1/runtime/msg.c 2012-11-14 08:58:20.235584832 +0100
+@@ -3752,6 +3752,22 @@
+ RETiRet;
+ }
+
++static rsRetVal
++jsonMergeNonOverwrite(struct json_object *existing, struct json_object *json)
++{
++ DEFiRet;
++ struct json_object_iter it;
++
++ json_object_object_foreachC(existing, it) {
++ json_object_object_add(json, it.key, json_object_get(it.val));
++ }
++
++ CHKiRet(jsonMerge(existing, json));
++
++finalize_it:
++ RETiRet;
++}
++
+ /* find a JSON structure element (field or container doesn't matter). */
+ rsRetVal
+ jsonFind(msg_t *pM, es_str_t *propName, struct json_object **jsonres)
+@@ -3795,7 +3811,7 @@
+ if(pM->json == NULL)
+ pM->json = json;
+ else
+- CHKiRet(jsonMerge(pM->json, json));
++ CHKiRet(jsonMergeNonOverwrite(pM->json, json));
+ } else {
+ if(pM->json == NULL) {
+ /* now we need a root obj */
+@@ -3808,7 +3824,7 @@
+ json_object_object_add(parent, (char*)leaf, json);
+ } else {
+ if(json_object_get_type(json) == json_type_object) {
+- CHKiRet(jsonMerge(pM->json, json));
++ CHKiRet(jsonMergeNonOverwrite(pM->json, json));
+ } else {
+ //dbgprintf("AAAA: leafnode already exists, type is %d, update with %d\n", (int)json_object_get_type(leafnode), (int)json_object_get_type(json));
+ /* TODO: improve the code below, however, the current
diff --git a/rsyslog-5.8.11-manpage-dbg-mode.patch b/rsyslog-7.2.2-manpage-dbg-mode.patch
similarity index 77%
rename from rsyslog-5.8.11-manpage-dbg-mode.patch
rename to rsyslog-7.2.2-manpage-dbg-mode.patch
index 84dbae6..4a15907 100644
--- a/rsyslog-5.8.11-manpage-dbg-mode.patch
+++ b/rsyslog-7.2.2-manpage-dbg-mode.patch
@@ -1,8 +1,8 @@
-diff -up rsyslog-5.8.11/tools/rsyslogd.8.orig rsyslog-5.8.11/tools/rsyslogd.8
---- rsyslog-5.8.11/tools/rsyslogd.8.orig 2012-05-23 17:40:17.370002681 +0200
-+++ rsyslog-5.8.11/tools/rsyslogd.8 2012-05-23 17:40:28.875858047 +0200
-@@ -145,11 +145,7 @@ compatibility-mode config file directive
- simply copy them from your logfile and paste them to the config.
+diff -up rsyslog-7.2.2/tools/rsyslogd.8.orig rsyslog-7.2.2/tools/rsyslogd.8
+--- rsyslog-7.2.2/tools/rsyslogd.8.orig 2012-11-20 16:31:26.530284950 +0100
++++ rsyslog-7.2.2/tools/rsyslogd.8 2012-11-20 16:31:34.172188889 +0100
+@@ -131,11 +131,7 @@ syntax errors are reported. Please note
+ technical and orignally targeted towards developers.
.TP
.B "\-d"
-Turns on debug mode. Using this the daemon will not proceed a
@@ -14,7 +14,7 @@ diff -up rsyslog-5.8.11/tools/rsyslogd.8.orig rsyslog-5.8.11/tools/rsyslogd.8
.TP
.BI "\-f " "config file"
Specify an alternative configuration file instead of
-@@ -308,11 +304,17 @@ be prevented by using GSS-API authentica
+@@ -294,11 +290,17 @@ be prevented by using GSS-API authentica
to think about syslog network security before enabling it.
.LP
.SH DEBUGGING
@@ -35,7 +35,7 @@ diff -up rsyslog-5.8.11/tools/rsyslogd.8.orig rsyslog-5.8.11/tools/rsyslogd.8
.SH FILES
.PD 0
.TP
-@@ -339,10 +341,17 @@ is specified during compilation (e.g. /u
+@@ -325,10 +327,17 @@ is specified during compilation (e.g. /u
.SH ENVIRONMENT
.TP
.B RSYSLOG_DEBUG
diff --git a/rsyslog-7.2.2-systemd.patch b/rsyslog-7.2.2-systemd.patch
new file mode 100644
index 0000000..37580aa
--- /dev/null
+++ b/rsyslog-7.2.2-systemd.patch
@@ -0,0 +1,13 @@
+diff -up rsyslog-7.2.2/rsyslog.service.in.orig rsyslog-7.2.2/rsyslog.service.in
+--- rsyslog-7.2.2/rsyslog.service.in.orig 2012-11-20 13:43:49.532705656 +0100
++++ rsyslog-7.2.2/rsyslog.service.in 2012-11-20 13:44:21.158308110 +0100
+@@ -2,7 +2,8 @@
+ Description=System Logging Service
+
+ [Service]
+-ExecStart=@sbindir@/rsyslogd -n
++EnvironmentFile=-/etc/sysconfig/rsyslog
++ExecStart=@sbindir@/rsyslogd -n $SYSLOGD_OPTIONS
+ Sockets=syslog.socket
+ StandardOutput=null
+
diff --git a/rsyslog.init b/rsyslog.init
deleted file mode 100644
index 8a39add..0000000
--- a/rsyslog.init
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-#
-# rsyslog Startup script for rsyslog.
-#
-# chkconfig: 2345 12 88
-# description: Syslog is the facility by which many daemons use to log \
-# messages to various system log files. It is a good idea to always \
-# run rsyslog.
-### BEGIN INIT INFO
-# Provides: $syslog
-# Required-Start: $local_fs
-# Required-Stop: $local_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Enhanced system logging and kernel message trapping daemons
-# Description: Rsyslog is an enhanced multi-threaded syslogd supporting,
-# among others, MySQL, syslog/tcp, RFC 3195, permitted
-# sender lists, filtering on any message part, and fine
-# grain output format control.
-### END INIT INFO
-
-# Source function library.
-. /etc/init.d/functions
-
-RETVAL=0
-PIDFILE=/var/run/syslogd.pid
-
-prog=rsyslog
-exec=/sbin/rsyslogd
-lockfile=/var/lock/subsys/$prog
-
-# Source config
-if [ -f /etc/sysconfig/$prog ] ; then
- . /etc/sysconfig/$prog
-fi
-
-start() {
- [ -x $exec ] || exit 5
-
- umask 077
-
- echo -n $"Starting system logger: "
- daemon --pidfile="${PIDFILE}" $exec -i "${PIDFILE}" $SYSLOGD_OPTIONS
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch $lockfile
- return $RETVAL
-}
-stop() {
- echo -n $"Shutting down system logger: "
- killproc -p "${PIDFILE}" $exec
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f $lockfile
- return $RETVAL
-}
-rhstatus() {
- status -p "${PIDFILE}" -l $prog $exec
-}
-restart() {
- stop
- start
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- reload)
- exit 3
- ;;
- force-reload)
- restart
- ;;
- status)
- rhstatus
- ;;
- condrestart|try-restart)
- rhstatus >/dev/null 2>&1 || exit 0
- restart
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status}"
- exit 3
-esac
-
-exit $?
diff --git a/rsyslog.spec b/rsyslog.spec
index fc54943..2820edb 100644
--- a/rsyslog.spec
+++ b/rsyslog.spec
@@ -5,47 +5,77 @@
Summary: Enhanced system logging and kernel message trapping daemon
Name: rsyslog
-Version: 5.8.11
-Release: 3%{?dist}
+Version: 7.2.2
+Release: 1%{?dist}
License: (GPLv3+ and ASL 2.0)
Group: System Environment/Daemons
URL: http://www.rsyslog.com/
Source0: http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
-Source1: rsyslog.init
Source2: rsyslog.conf
Source3: rsyslog.sysconfig
Source4: rsyslog.log
# tweak the upstream service file to honour configuration from /etc/sysconfig/rsyslog
-Patch0: rsyslog-5.8.11-systemd.patch
-Patch1: rsyslog-5.8.7-sysklogd-compat-1-template.patch
-Patch2: rsyslog-5.8.7-sysklogd-compat-2-option.patch
-Patch3: rsyslog-5.8.11-manpage-dbg-mode.patch
-Patch4: rsyslog-5.8.11-close-fd1-when-forking.patch
+Patch0: rsyslog-7.2.2-systemd.patch
+Patch1: rsyslog-7.2.2-manpage-dbg-mode.patch
+# prevent modification of trusted properties (proposed upstream)
+Patch2: rsyslog-7.2.1-msg_c_nonoverwrite_merge.patch
Patch5: rsyslog-5.8.11-enlarge-cert-info-bufs.patch
+BuildRequires: bison
+BuildRequires: flex
+BuildRequires: json-c-devel
+BuildRequires: libuuid-devel
+BuildRequires: pkgconfig
BuildRequires: zlib-devel
-BuildRequires: systemd-units >= 18
+
Requires: logrotate >= 3.5.2
Requires: bash >= 2.0
-Requires(post): /sbin/chkconfig coreutils
-Requires(post): systemd-units >= 20
-Requires(post): systemd-sysv
-Requires(preun): /sbin/service
-Requires(preun): systemd-units >= 20
-Requires(postun): /sbin/service
-Requires(postun): systemd-units >= 20
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+
Provides: syslog
Obsoletes: sysklogd < 1.5-11
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-%package sysvinit
-Summary: SysV init script for rsyslog
+%package doc
+Summary: Documentation for rsyslog
+Group: Documentation
+
+%package elasticsearch
+Summary: ElasticSearch output module for rsyslog
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+BuildRequires: libcurl-devel
+
+%package hiredis
+Summary: Redis support for rsyslog
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+BuildRequires: hiredis-devel
+
+%package mmjsonparse
+Summary: JSON enhanced logging support
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+
+%package mmnormalize
+Summary: Log normalization support for rsyslog
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+BuildRequires: libestr-devel libee-devel liblognorm-devel
+
+%package mmaudit
+Summary: Message modification module supporting Linux audit format
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+
+%package mmsnmptrapd
+Summary: Message modification module for snmptrapd generated messages
Group: System Environment/Daemons
Requires: %name = %version-%release
-Requires(post): /sbin/chkconfig
%package libdbi
-Summary: libdbi database support for rsyslog
+Summary: Libdbi database support for rsyslog
Group: System Environment/Daemons
Requires: %name = %version-%release
BuildRequires: libdbi-devel
@@ -56,6 +86,12 @@ Group: System Environment/Daemons
Requires: %name = %version-%release
BuildRequires: mysql-devel >= 4.0
+%package mongodb
+Summary: MongoDB support for rsyslog
+Group: System Environment/Daemons
+Requires: %name = %version-%release
+BuildRequires: libmongo-client-devel
+
%package pgsql
Summary: PostgresSQL support for rsyslog
Group: System Environment/Daemons
@@ -66,13 +102,13 @@ BuildRequires: postgresql-devel
Summary: GSSAPI authentication and encryption support for rsyslog
Group: System Environment/Daemons
Requires: %name = %version-%release
-BuildRequires: krb5-devel
+BuildRequires: krb5-devel
%package relp
Summary: RELP protocol support for rsyslog
Group: System Environment/Daemons
Requires: %name = %version-%release
-BuildRequires: librelp-devel
+BuildRequires: librelp-devel >= 1.0.1
%package gnutls
Summary: TLS protocol support for rsyslog
@@ -100,9 +136,30 @@ and can be used as a drop-in replacement. Rsyslog is simple to set up, with
advanced features suitable for enterprise-class, encryption-protected syslog
relay chains.
-%description sysvinit
-SysV style init script for rsyslog. It needs to be installed only if systemd
-is not used as the system init process.
+%description doc
+This subpackage contains documentation for rsyslog.
+
+%description elasticsearch
+This module provides the capability for rsyslog to feed logs directly into
+Elasticsearch.
+
+%description hiredis
+This module provides output to Redis.
+
+%description mmjsonparse
+This module provides the capability to recognize and parse JSON enhanced
+syslog messages.
+
+%description mmnormalize
+This module provides the capability to normalize log messages via liblognorm.
+
+%description mmaudit
+This module provides message modification supporting Linux audit format
+in various settings.
+
+%description mmsnmptrapd
+This message modification module takes messages generated from snmptrapd and
+modifies them so that they look like they originated from the read originator.
%description libdbi
This module supports a large number of database systems via
@@ -113,19 +170,23 @@ many systems. Drivers are available via the libdbi-drivers project.
The rsyslog-mysql package contains a dynamic shared object that will add
MySQL database support to rsyslog.
+%description mongodb
+The rsyslog-mongodb package contains a dynamic shared object that will add
+MongoDB database support to rsyslog.
+
%description pgsql
The rsyslog-pgsql package contains a dynamic shared object that will add
PostgreSQL database support to rsyslog.
%description gssapi
-The rsyslog-gssapi package contains the rsyslog plugins which support GSSAPI
-authentication and secure connections. GSSAPI is commonly used for Kerberos
+The rsyslog-gssapi package contains the rsyslog plugins which support GSSAPI
+authentication and secure connections. GSSAPI is commonly used for Kerberos
authentication.
%description relp
The rsyslog-relp package contains the rsyslog plugins that provide
the ability to receive syslog messages via the reliable RELP
-protocol.
+protocol.
%description gnutls
The rsyslog-gnutls package contains the rsyslog plugins that provide the
@@ -146,8 +207,6 @@ of source ports.
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
%patch5 -p1
%build
@@ -159,48 +218,60 @@ export LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now"
export CFLAGS="$RPM_OPT_FLAGS -fpie -DSYSLOGD_PIDNAME=\\\"syslogd.pid\\\""
export LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now"
%endif
-%configure --disable-static \
- --disable-testbench \
- --enable-gnutls \
- --enable-gssapi-krb5 \
- --enable-imfile \
- --enable-impstats \
- --enable-imptcp \
- --enable-libdbi \
- --enable-mail \
- --enable-mysql \
- --enable-omprog \
- --enable-omudpspoof \
- --enable-omuxsock \
- --enable-pgsql \
- --enable-pmlastmsg \
- --enable-relp \
- --enable-snmp \
- --enable-unlimited-select
+# the hiredis-devel package doesn't provide a pkg-config file
+export HIREDIS_CFLAGS=-I/usr/include/hiredis
+export HIREDIS_LIBS=-L%{_libdir}
+%configure \
+ --prefix=/usr \
+ --disable-static \
+ --disable-testbench \
+ --enable-elasticsearch \
+ --enable-gnutls \
+ --enable-gssapi-krb5 \
+ --enable-imdiag \
+ --enable-imfile \
+ --enable-impstats \
+ --enable-imptcp \
+ --enable-kmsg \
+ --enable-libdbi \
+ --enable-mail \
+ --enable-mmaudit \
+ --enable-mmjsonparse \
+ --enable-mmnormalize \
+ --enable-mmsnmptrapd \
+ --enable-mysql \
+ --enable-omhiredis \
+ --enable-ommongodb \
+ --enable-omprog \
+ --enable-omstdout \
+ --enable-omudpspoof \
+ --enable-omuxsock \
+ --enable-pgsql \
+ --enable-pmaixforwardedfrom \
+ --enable-pmcisconames \
+ --enable-pmlastmsg \
+ --enable-pmrfc3164sd \
+ --enable-pmsnare \
+ --enable-relp \
+ --enable-snmp \
+ --enable-unlimited-select
make
%install
-rm -rf $RPM_BUILD_ROOT
+make DESTDIR=%{buildroot} install
-make install DESTDIR=$RPM_BUILD_ROOT
+install -d -m 755 %{buildroot}%{_sysconfdir}/sysconfig
+install -d -m 755 %{buildroot}%{_sysconfdir}/logrotate.d
+install -d -m 755 %{buildroot}%{_sysconfdir}/rsyslog.d
+install -d -m 700 %{buildroot}%{rsyslog_statedir}
+install -d -m 700 %{buildroot}%{rsyslog_pkidir}
-install -d -m 755 $RPM_BUILD_ROOT%{_initrddir}
-install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
-install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
-install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.d
-install -d -m 700 $RPM_BUILD_ROOT%{rsyslog_statedir}
-install -d -m 700 $RPM_BUILD_ROOT%{rsyslog_pkidir}
-
-install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/rsyslog
-install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.conf
-install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/rsyslog
-install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/syslog
+install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rsyslog.conf
+install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/rsyslog
+install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/syslog
#get rid of *.la
-rm $RPM_BUILD_ROOT/%{_libdir}/rsyslog/*.la
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+rm %{buildroot}%{_libdir}/rsyslog/*.la
%post
for n in /var/log/{messages,secure,maillog,spooler}
@@ -208,52 +279,32 @@ do
[ -f $n ] && continue
umask 066 && touch $n
done
-if [ $1 -eq 1 ]; then
- # On install (not upgrade), enable (but don't start) the
- # units by default
- /bin/systemctl enable rsyslog.service >/dev/null 2>&1 || :
-fi
+%systemd_post rsyslog.service
%preun
-if [ $1 = 0 ]; then
- # On uninstall (not upgrade), disable and stop the units
- /bin/systemctl --no-reload disable rsyslog.service >/dev/null 2>&1 || :
- /bin/systemctl stop rsyslog.service >/dev/null 2>&1 || :
-fi
+%systemd_preun rsyslog.service
%postun
-# Reload init system configuration, to make systemd honour changed
-# or deleted unit files
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-if [ $1 -ge 1 ] ; then
- # On upgrade (not uninstall), optionally, restart the daemon
- /bin/systemctl try-restart rsyslog.service >/dev/null 2>&1 || :
-fi
-
-%triggerun -- rsyslog < 5.7.8-1
-# Save the current service runlevel info
-# User must manually run systemd-sysv-convert --apply rsyslog
-# to migrate them to systemd targets
-%{_bindir}/systemd-sysv-convert --save rsyslog >/dev/null 2>&1 || :
-/bin/systemctl enable rsyslog.service >/dev/null 2>&1 || :
-/sbin/chkconfig --del rsyslog >/dev/null 2>&1 || :
-/bin/systemctl try-restart rsyslog.service >/dev/null 2>&1 || :
-
-# previous versions used a different lock file, which would break condrestart
-[ -f /var/lock/subsys/rsyslogd ] || exit 0
-mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
-[ -f /var/run/rklogd.pid ] || exit 0
-/bin/kill `cat /var/run/rklogd.pid 2> /dev/null` > /dev/null 2>&1 ||:
-
-%triggerpostun -n rsyslog-sysvinit -- rsyslog < 5.8.2-3
-/sbin/chkconfig --add rsyslog >/dev/null 2>&1 || :
+%systemd_postun_with_restart rsyslog.service
%files
%defattr(-,root,root,-)
-%doc AUTHORS COPYING* NEWS README ChangeLog doc/*html
+%doc AUTHORS COPYING* NEWS README ChangeLog
%dir %{_libdir}/rsyslog
+%dir %{_sysconfdir}/rsyslog.d
+%dir %{rsyslog_statedir}
+%dir %{rsyslog_pkidir}
+%{_sbindir}/rsyslogd
+%{_mandir}/*/*
+%{_unitdir}/rsyslog.service
+%config(noreplace) %{_sysconfdir}/rsyslog.conf
+%config(noreplace) %{_sysconfdir}/sysconfig/rsyslog
+%config(noreplace) %{_sysconfdir}/logrotate.d/syslog
+# plugins
+%{_libdir}/rsyslog/imdiag.so
%{_libdir}/rsyslog/imfile.so
%{_libdir}/rsyslog/imklog.so
+%{_libdir}/rsyslog/imkmsg.so
%{_libdir}/rsyslog/immark.so
%{_libdir}/rsyslog/impstats.so
%{_libdir}/rsyslog/imptcp.so
@@ -272,31 +323,54 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
%{_libdir}/rsyslog/ommail.so
%{_libdir}/rsyslog/omprog.so
%{_libdir}/rsyslog/omruleset.so
+%{_libdir}/rsyslog/omstdout.so
%{_libdir}/rsyslog/omuxsock.so
+%{_libdir}/rsyslog/pmaixforwardedfrom.so
+%{_libdir}/rsyslog/pmcisconames.so
%{_libdir}/rsyslog/pmlastmsg.so
-%{_unitdir}/rsyslog.service
+%{_libdir}/rsyslog/pmrfc3164sd.so
+%{_libdir}/rsyslog/pmsnare.so
-%config(noreplace) %{_sysconfdir}/rsyslog.conf
-%config(noreplace) %{_sysconfdir}/sysconfig/rsyslog
-%config(noreplace) %{_sysconfdir}/logrotate.d/syslog
-%dir %{_sysconfdir}/rsyslog.d
-%dir %{rsyslog_statedir}
-%dir %{rsyslog_pkidir}
-%{_sbindir}/rsyslogd
-%{_mandir}/*/*
+%files doc
+%doc doc/*html
-%files sysvinit
-%attr(0755,root,root) %{_initrddir}/rsyslog
+%files elasticsearch
+%defattr(-,root,root)
+%{_libdir}/rsyslog/omelasticsearch.so
+
+%files hiredis
+%defattr(-,root,root)
+%{_libdir}/rsyslog/omhiredis.so
%files libdbi
%defattr(-,root,root)
%{_libdir}/rsyslog/omlibdbi.so
+%files mmaudit
+%defattr(-,root,root)
+%{_libdir}/rsyslog/mmaudit.so
+
+%files mmjsonparse
+%defattr(-,root,root)
+%{_libdir}/rsyslog/mmjsonparse.so
+
+%files mmnormalize
+%defattr(-,root,root)
+%{_libdir}/rsyslog/mmnormalize.so
+
+%files mmsnmptrapd
+%defattr(-,root,root)
+%{_libdir}/rsyslog/mmsnmptrapd.so
+
%files mysql
%defattr(-,root,root)
%doc plugins/ommysql/createDB.sql
%{_libdir}/rsyslog/ommysql.so
+%files mongodb
+%defattr(-,root,root)
+%{_libdir}/rsyslog/ommongodb.so
+
%files pgsql
%defattr(-,root,root)
%doc plugins/ompgsql/createDB.sql
@@ -326,6 +400,33 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
%{_libdir}/rsyslog/omudpspoof.so
%changelog
+* Tue Nov 20 2012 Tomas Heinrich 7.2.2-1
+- upgrade to upstream version 7.2.2
+ update BuildRequires
+- remove patches merged upstream
+ rsyslog-5.8.7-sysklogd-compat-1-template.patch
+ rsyslog-5.8.7-sysklogd-compat-2-option.patch
+ rsyslog-5.8.11-close-fd1-when-forking.patch
+- add patch from Milan Bartos
+ rsyslog-7.2.1-msg_c_nonoverwrite_merge.patch
+- remove the rsyslog-sysvinit package
+- clean up BuildRequires, Requires
+- remove the 'BuildRoot' tag
+- split off a doc package
+- compile additional modules (some of them in separate packages):
+ elasticsearch
+ hiredis
+ mmjsonparse
+ mmnormalize
+ mmaudit
+ mmsnmptrapd
+ mongodb
+- correct impossible timestamps in older changelog entries
+- correct typos, trailing spaces, etc
+- s/RPM_BUILD_ROOT/{buildroot}/
+- remove the 'clean' section
+- replace post* scriptlets with systemd macros
+
* Sat Jul 21 2012 Fedora Release Engineering - 5.8.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
@@ -363,7 +464,7 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
- modify logrotate configuration to omit boot.log
Resolves: #745093
-* Mon Sep 06 2011 Tomas Heinrich 5.8.5-2
+* Tue Sep 06 2011 Tomas Heinrich 5.8.5-2
- add systemd-units to BuildRequires for the _unitdir macro definition
* Mon Sep 05 2011 Tomas Heinrich 5.8.5-1
@@ -493,7 +594,7 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
* Sat Jan 24 2009 Caolán McNamara 3.21.9-3
- rebuild for dependencies
-* Tue Jan 07 2009 Tomas Heinrich 3.21.9-2
+* Wed Jan 07 2009 Tomas Heinrich 3.21.9-2
- fix several legacy options handling
- fix internal message output (#478612)
@@ -558,7 +659,7 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
* Fri Apr 04 2008 Peter Vrabec 3.14.1-1
- upgrade
-* Mon Mar 25 2008 Peter Vrabec 3.12.4-1
+* Tue Mar 25 2008 Peter Vrabec 3.12.4-1
- upgrade
* Wed Mar 19 2008 Peter Vrabec 3.12.3-1
@@ -686,7 +787,7 @@ mv /var/lock/subsys/rsyslogd /var/lock/subsys/rsyslog
- new upstream release with IPv6 support
* Tue Jun 26 2007 Peter Vrabec 1.13.5-3
-- add BuildRequires for zlib compression feature
+- add BuildRequires for zlib compression feature
* Mon Jun 25 2007 Peter Vrabec 1.13.5-2
- some spec file adjustments.
diff --git a/sources b/sources
index eefb40b..8982e20 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0e5ea5228310bebc0f9f6ddf0c3f5a84 rsyslog-5.8.11.tar.gz
+31f6e9d48a7cf89537bd4e18d962b4d0 rsyslog-7.2.2.tar.gz