Use PATCHFILES

This commit is contained in:
2025-07-24 03:42:43 +02:00
parent 7cde189318
commit 71e43c341a
3 changed files with 7 additions and 43 deletions

View File

@ -1,40 +0,0 @@
--- lenses/rsyslog.aug.orig 2025-07-23 13:11:53.989669000 +0200
+++ lenses/rsyslog.aug 2025-07-23 13:12:09.304191000 +0200
@@ -53,8 +53,10 @@
let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ]
-let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe
+let action_config = [ key "action" . Util.del_str "(" . [ label "params" . store /[^)]+/ ] . Util.del_str ")" ]
+let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe | action_config
+
(* Cannot use syslog program because rsyslog does not suppport #! *)
let program = [ label "program" . Syslog.bang .
( Syslog.opt_plus | [ Build.xchgs "-" "reverse" ] ) .
@@ -87,9 +89,23 @@
in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val .
Sep.space . actions . Util.eol ]
-let entries = ( Syslog.empty | Util.comment | entry | macro | config_object | prop_filter )*
+(* View: condition
+ Parses if condition blocks, e.g., if $programname != "devd" then { ... }
+*)
+let condition =
+ let cond_rx = /\\$[a-zA-Z0-9_]+[ \t]*(==|!=|=~|!~|>|<|>=|<=)[ \t]*("[^"]*"|[0-9]+)/ in
+ [ key "if" . Sep.space .
+ [ label "condition" . store cond_rx ] . Sep.space .
+ Util.del_str "then" . Sep.space . Util.del_str "{" . (del /[ \t\n]*/ "" ) .
+ (entry | Util.comment | Syslog.empty)* .
+ Util.del_str "}" . (del /[ \t\n]*/ "" ) . Util.eol ]
-let lns = entries . ( program | hostname )*
+(* Fallback for unparsed lines *)
+let invalid = [ label "invalid" . store /[^\n]*\n/ ]
+
+let entries = ( Syslog.empty | Util.comment | entry | macro | config_object | prop_filter | condition | invalid )*
+
+let lns = entries . ( program | hostname | condition )*
let filter = incl "/etc/rsyslog.conf"
. incl "/etc/rsyslog.d/*"