diff --git a/textproc/augeas/863.patch b/textproc/augeas/863.patch new file mode 100644 index 0000000..6ee7376 --- /dev/null +++ b/textproc/augeas/863.patch @@ -0,0 +1,515 @@ +From 78a9c2add3dd37d023df67e9089de277bd98f914 Mon Sep 17 00:00:00 2001 +From: Xavier Beaudouin +Date: Mon, 2 Jun 2025 09:33:57 +0200 +Subject: [PATCH 1/3] lenses/rsyslog.aug: Fix if xxx then { } + +If the rsyslog.conf have : + if $programname != "devd" then { + } + +The lense fails with a parse_failed. + +This fix bug #846 +--- + lenses/rsyslog.aug | 216 +++++++++++++++++++++++++-------------------- + 1 file changed, 118 insertions(+), 98 deletions(-) + +diff --git a/lenses/rsyslog.aug b/lenses/rsyslog.aug +index 29ff9b104..4d56d37cb 100644 +--- a/lenses/rsyslog.aug ++++ b/lenses/rsyslog.aug +@@ -1,98 +1,118 @@ +-(* +-Module: Rsyslog +- Parses /etc/rsyslog.conf +- +-Author: Raphael Pinson +- +-About: Reference +- This lens tries to keep as close as possible to `man 5 rsyslog.conf` where possible. +- +-About: License +- This file is licenced under the LGPL v2+, like the rest of Augeas. +- +-About: Lens Usage +- To be documented +- +-About: Configuration files +- This lens applies to /etc/rsyslog.conf. See . +- +-About: Examples +- The file contains various examples and tests. +-*) +-module Rsyslog = +- +-autoload xfm +- +-let macro_rx = /[^,# \n\t][^#\n]*[^,# \n\t]|[^,# \n\t]/ +-let macro = [ key /$[A-Za-z0-9]+/ . Sep.space . store macro_rx . Util.comment_or_eol ] +- +-let config_object_param = [ key /[A-Za-z.]+/ . Sep.equal . Quote.dquote +- . store /[^"]+/ . Quote.dquote ] +-(* Inside config objects, we allow embedded comments; we don't surface them +- * in the tree though *) +-let config_sep = del /[ \t]+|[ \t]*#.*\n[ \t]*/ " " +- +-let config_object = +- [ key /action|global|input|module|parser|timezone|include/ . +- Sep.lbracket . +- config_object_param . ( config_sep . config_object_param )* . +- Sep.rbracket . Util.comment_or_eol ] +- +-(* View: users +- Map :omusrmsg: and a list of users, or a single * +-*) +-let omusrmsg = Util.del_str ":omusrmsg:" . +- Syslog.label_opt_list_or "omusrmsg" (store Syslog.word) +- Syslog.comma "*" +- +-(* View: file_tmpl +- File action with a specified template *) +-let file_tmpl = Syslog.file . [ label "template" . Util.del_str ";" . store Rx.word ] +- +-let dynamic = [ Util.del_str "?" . label "dynamic" . store Rx.word ] +- +-let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] +- +-let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe +- +-(* Cannot use syslog program because rsyslog does not suppport #! *) +-let program = [ label "program" . Syslog.bang . +- ( Syslog.opt_plus | [ Build.xchgs "-" "reverse" ] ) . +- Syslog.programs . Util.eol . Syslog.entries ] +- +-(* Cannot use syslog hostname because rsyslog does not suppport #+/- *) +-let hostname = [ label "hostname" . +- ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) . +- Syslog.hostnames . Util.eol . Syslog.entries ] +- +-(* View: actions *) +-let actions = +- let prop_act = [ label "action" . action ] +- in let act_sep = del /[ \t]*\n&[ \t]*/ "\n& " +- in Build.opt_list prop_act act_sep +- +-(* View: entry +- An entry contains selectors and an action +-*) +-let entry = [ label "entry" . Syslog.selectors . Syslog.sep_tab . +- actions . Util.eol ] +- +-(* View: prop_filter +- Parses property-based filters, which start with ":" and the property name *) +-let prop_filter = +- let sep = Sep.comma . Util.del_opt_ws " " +- in let prop_name = [ Util.del_str ":" . label "property" . store Rx.word ] +- in let prop_oper = [ label "operation" . store /[A-Za-z!-]+/ ] +- in let prop_val = [ label "value" . Quote.do_dquote (store /[^\n"]*/) ] +- 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 )* +- +-let lns = entries . ( program | hostname )* +- +-let filter = incl "/etc/rsyslog.conf" +- . incl "/etc/rsyslog.d/*" +- . Util.stdexcl +- +-let xfm = transform lns filter ++(* ++Module: Rsyslog ++ Parses /etc/rsyslog.conf ++ ++Author: Raphael Pinson ++ ++About: Reference ++ This lens tries to keep as close as possible to `man 5 rsyslog.conf` where possible. ++ ++About: License ++ This file is licenced under the LGPL v2+, like the rest of Augeas. ++ ++About: Lens Usage ++ To be documented ++ ++About: Configuration files ++ This lens applies to /etc/rsyslog.conf. See . ++ ++About: Examples ++ The file contains various examples and tests. ++*) ++module Rsyslog = ++ ++autoload xfm ++ ++let macro_rx = /[^,# \n\t][^#\n]*[^,# \n\t]|[^,# \n\t]/ ++let macro = [ key /$[A-Za-z0-9]+/ . Sep.space . store macro_rx . Util.comment_or_eol ] ++ ++let config_object_param = [ key /[A-Za-z.]+/ . Sep.equal . Quote.dquote ++ . store /[^"]+/ . Quote.dquote ] ++(* Inside config objects, we allow embedded comments; we don't surface them ++ * in the tree though *) ++let config_sep = del /[ \t]+|[ \t]*#.*\n[ \t]*/ " " ++ ++let config_object = ++ [ key /action|global|input|module|parser|timezone|include/ . ++ Sep.lbracket . ++ config_object_param . ( config_sep . config_object_param )* . ++ Sep.rbracket . Util.comment_or_eol ] ++ ++(* View: users ++ Map :omusrmsg: and a list of users, or a single * ++*) ++let omusrmsg = Util.del_str ":omusrmsg:" . ++ Syslog.label_opt_list_or "omusrmsg" (store Syslog.word) ++ Syslog.comma "*" ++ ++(* View: file_tmpl ++ File action with a specified template *) ++let file_tmpl = Syslog.file . [ label "template" . Util.del_str ";" . store Rx.word ] ++ ++let dynamic = [ Util.del_str "?" . label "dynamic" . store Rx.word ] ++ ++let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] ++ ++(* View: action_config ++ Handle action(type="..." users="...") syntax *) ++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" ] ) . ++ Syslog.programs . Util.eol . Syslog.entries ] ++ ++(* Cannot use syslog hostname because rsyslog does not suppport #+/- *) ++let hostname = [ label "hostname" . ++ ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) . ++ Syslog.hostnames . Util.eol . Syslog.entries ] ++ ++(* View: actions *) ++let actions = ++ let prop_act = [ label "action" . action ] ++ in let act_sep = del /[ \t]*\n&[ \t]*/ "\n& " ++ in Build.opt_list prop_act act_sep ++ ++(* View: entry ++ An entry contains selectors and an action ++*) ++let entry = [ label "entry" . Syslog.selectors . Syslog.sep_tab . ++ actions . Util.eol ] ++ ++(* View: prop_filter ++ Parses property-based filters, which start with ":" and the property name *) ++let prop_filter = ++ let sep = Sep.comma . Util.del_opt_ws " " ++ in let prop_name = [ Util.del_str ":" . label "property" . store Rx.word ] ++ in let prop_oper = [ label "operation" . store /[A-Za-z!-]+/ ] ++ in let prop_val = [ label "value" . Quote.do_dquote (store /[^\n"]*/) ] ++ in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val . ++ Sep.space . actions . Util.eol ] ++ ++(* 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 ] ++ ++(* 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/*" ++ . Util.stdexcl ++ ++let xfm = transform lns filter + +From 1b3b1754b2e9624cab49d0dcc32bc55ba2460ef7 Mon Sep 17 00:00:00 2001 +From: Xavier Beaudouin +Date: Mon, 14 Jul 2025 17:03:39 +0700 +Subject: [PATCH 2/3] Removed uncessary carriage return. + +--- + lenses/rsyslog.aug | 236 ++++++++++++++++++++++----------------------- + 1 file changed, 118 insertions(+), 118 deletions(-) + +diff --git a/lenses/rsyslog.aug b/lenses/rsyslog.aug +index 4d56d37cb..b51f6fe8c 100644 +--- a/lenses/rsyslog.aug ++++ b/lenses/rsyslog.aug +@@ -1,118 +1,118 @@ +-(* +-Module: Rsyslog +- Parses /etc/rsyslog.conf +- +-Author: Raphael Pinson +- +-About: Reference +- This lens tries to keep as close as possible to `man 5 rsyslog.conf` where possible. +- +-About: License +- This file is licenced under the LGPL v2+, like the rest of Augeas. +- +-About: Lens Usage +- To be documented +- +-About: Configuration files +- This lens applies to /etc/rsyslog.conf. See . +- +-About: Examples +- The file contains various examples and tests. +-*) +-module Rsyslog = +- +-autoload xfm +- +-let macro_rx = /[^,# \n\t][^#\n]*[^,# \n\t]|[^,# \n\t]/ +-let macro = [ key /$[A-Za-z0-9]+/ . Sep.space . store macro_rx . Util.comment_or_eol ] +- +-let config_object_param = [ key /[A-Za-z.]+/ . Sep.equal . Quote.dquote +- . store /[^"]+/ . Quote.dquote ] +-(* Inside config objects, we allow embedded comments; we don't surface them +- * in the tree though *) +-let config_sep = del /[ \t]+|[ \t]*#.*\n[ \t]*/ " " +- +-let config_object = +- [ key /action|global|input|module|parser|timezone|include/ . +- Sep.lbracket . +- config_object_param . ( config_sep . config_object_param )* . +- Sep.rbracket . Util.comment_or_eol ] +- +-(* View: users +- Map :omusrmsg: and a list of users, or a single * +-*) +-let omusrmsg = Util.del_str ":omusrmsg:" . +- Syslog.label_opt_list_or "omusrmsg" (store Syslog.word) +- Syslog.comma "*" +- +-(* View: file_tmpl +- File action with a specified template *) +-let file_tmpl = Syslog.file . [ label "template" . Util.del_str ";" . store Rx.word ] +- +-let dynamic = [ Util.del_str "?" . label "dynamic" . store Rx.word ] +- +-let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] +- +-(* View: action_config +- Handle action(type="..." users="...") syntax *) +-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" ] ) . +- Syslog.programs . Util.eol . Syslog.entries ] +- +-(* Cannot use syslog hostname because rsyslog does not suppport #+/- *) +-let hostname = [ label "hostname" . +- ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) . +- Syslog.hostnames . Util.eol . Syslog.entries ] +- +-(* View: actions *) +-let actions = +- let prop_act = [ label "action" . action ] +- in let act_sep = del /[ \t]*\n&[ \t]*/ "\n& " +- in Build.opt_list prop_act act_sep +- +-(* View: entry +- An entry contains selectors and an action +-*) +-let entry = [ label "entry" . Syslog.selectors . Syslog.sep_tab . +- actions . Util.eol ] +- +-(* View: prop_filter +- Parses property-based filters, which start with ":" and the property name *) +-let prop_filter = +- let sep = Sep.comma . Util.del_opt_ws " " +- in let prop_name = [ Util.del_str ":" . label "property" . store Rx.word ] +- in let prop_oper = [ label "operation" . store /[A-Za-z!-]+/ ] +- in let prop_val = [ label "value" . Quote.do_dquote (store /[^\n"]*/) ] +- in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val . +- Sep.space . actions . Util.eol ] +- +-(* 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 ] +- +-(* 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/*" +- . Util.stdexcl +- +-let xfm = transform lns filter ++(* ++Module: Rsyslog ++ Parses /etc/rsyslog.conf ++ ++Author: Raphael Pinson ++ ++About: Reference ++ This lens tries to keep as close as possible to `man 5 rsyslog.conf` where possible. ++ ++About: License ++ This file is licenced under the LGPL v2+, like the rest of Augeas. ++ ++About: Lens Usage ++ To be documented ++ ++About: Configuration files ++ This lens applies to /etc/rsyslog.conf. See . ++ ++About: Examples ++ The file contains various examples and tests. ++*) ++module Rsyslog = ++ ++autoload xfm ++ ++let macro_rx = /[^,# \n\t][^#\n]*[^,# \n\t]|[^,# \n\t]/ ++let macro = [ key /$[A-Za-z0-9]+/ . Sep.space . store macro_rx . Util.comment_or_eol ] ++ ++let config_object_param = [ key /[A-Za-z.]+/ . Sep.equal . Quote.dquote ++ . store /[^"]+/ . Quote.dquote ] ++(* Inside config objects, we allow embedded comments; we don't surface them ++ * in the tree though *) ++let config_sep = del /[ \t]+|[ \t]*#.*\n[ \t]*/ " " ++ ++let config_object = ++ [ key /action|global|input|module|parser|timezone|include/ . ++ Sep.lbracket . ++ config_object_param . ( config_sep . config_object_param )* . ++ Sep.rbracket . Util.comment_or_eol ] ++ ++(* View: users ++ Map :omusrmsg: and a list of users, or a single * ++*) ++let omusrmsg = Util.del_str ":omusrmsg:" . ++ Syslog.label_opt_list_or "omusrmsg" (store Syslog.word) ++ Syslog.comma "*" ++ ++(* View: file_tmpl ++ File action with a specified template *) ++let file_tmpl = Syslog.file . [ label "template" . Util.del_str ";" . store Rx.word ] ++ ++let dynamic = [ Util.del_str "?" . label "dynamic" . store Rx.word ] ++ ++let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] ++ ++(* View: action_config ++ Handle action(type="..." users="...") syntax *) ++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" ] ) . ++ Syslog.programs . Util.eol . Syslog.entries ] ++ ++(* Cannot use syslog hostname because rsyslog does not suppport #+/- *) ++let hostname = [ label "hostname" . ++ ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) . ++ Syslog.hostnames . Util.eol . Syslog.entries ] ++ ++(* View: actions *) ++let actions = ++ let prop_act = [ label "action" . action ] ++ in let act_sep = del /[ \t]*\n&[ \t]*/ "\n& " ++ in Build.opt_list prop_act act_sep ++ ++(* View: entry ++ An entry contains selectors and an action ++*) ++let entry = [ label "entry" . Syslog.selectors . Syslog.sep_tab . ++ actions . Util.eol ] ++ ++(* View: prop_filter ++ Parses property-based filters, which start with ":" and the property name *) ++let prop_filter = ++ let sep = Sep.comma . Util.del_opt_ws " " ++ in let prop_name = [ Util.del_str ":" . label "property" . store Rx.word ] ++ in let prop_oper = [ label "operation" . store /[A-Za-z!-]+/ ] ++ in let prop_val = [ label "value" . Quote.do_dquote (store /[^\n"]*/) ] ++ in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val . ++ Sep.space . actions . Util.eol ] ++ ++(* 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 ] ++ ++(* 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/*" ++ . Util.stdexcl ++ ++let xfm = transform lns filter + +From 3e34678abf8a29e9125221a890e6efb826bd36ff Mon Sep 17 00:00:00 2001 +From: Xavier Beaudouin +Date: Mon, 14 Jul 2025 17:11:16 +0700 +Subject: [PATCH 3/3] Cleanup some unneeded comments. + +--- + lenses/rsyslog.aug | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/lenses/rsyslog.aug b/lenses/rsyslog.aug +index b51f6fe8c..ddd4829cf 100644 +--- a/lenses/rsyslog.aug ++++ b/lenses/rsyslog.aug +@@ -53,11 +53,7 @@ let dynamic = [ Util.del_str "?" . label "dynamic" . store Rx.word ] + + let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] + +-(* View: action_config +- Handle action(type="..." users="...") syntax *) +-let action_config = +- [ key "action" . Util.del_str "(" . +- [ label "params" . store /[^)]+/ ] . Util.del_str ")" ] ++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 + diff --git a/textproc/augeas/files/patch-lenses_rsyslog.aug b/textproc/augeas/files/patch-lenses_rsyslog.aug index ef0e8fc..332bf4d 100644 --- a/textproc/augeas/files/patch-lenses_rsyslog.aug +++ b/textproc/augeas/files/patch-lenses_rsyslog.aug @@ -1,15 +1,40 @@ ---- lenses/rsyslog.aug.orig 2025-07-23 05:14:55 UTC -+++ lenses/rsyslog.aug -@@ -53,11 +53,7 @@ let namedpipe = Syslog.pipe . Sep.space . [ label "pip +--- 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 ] --(* View: action_config -- Handle action(type="..." users="...") syntax *) --let action_config = -- [ key "action" . Util.del_str "(" . -- [ label "params" . store /[^)]+/ ] . Util.del_str ")" ] +-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 ++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/*" diff --git a/textproc/augeas/files/patch-tests_root_var_tmp_test-quoted-strings.txt b/textproc/augeas/files/patch-tests_root_var_tmp_test-quoted-strings.txt deleted file mode 100644 index b92772e..0000000 --- a/textproc/augeas/files/patch-tests_root_var_tmp_test-quoted-strings.txt +++ /dev/null @@ -1,5 +0,0 @@ ---- tests/root/var/tmp/test-quoted-strings.txt.orig 2022-11-14 10:02:37 UTC -+++ tests/root/var/tmp/test-quoted-strings.txt -@@ -1 +1 @@ --find this: ][ )( . * $ / \ " ' -+find this: ]][ )( . * $ / \ diff --git a/textproc/augeas/files/patch-tests_test-augtool_quoted-strings.sh b/textproc/augeas/files/patch-tests_test-augtool_quoted-strings.sh deleted file mode 100644 index 55f26f8..0000000 --- a/textproc/augeas/files/patch-tests_test-augtool_quoted-strings.sh +++ /dev/null @@ -1,38 +0,0 @@ ---- tests/test-augtool/quoted-strings.sh.orig 2022-11-13 10:55:34 UTC -+++ tests/test-augtool/quoted-strings.sh -@@ -0,0 +1,35 @@ -+#!/bin/bash -+ -+commands=" -+set /files/var/tmp/test-quoted-strings.txt/01 '[' -+set /files/var/tmp/test-quoted-strings.txt/02 ']' -+set /files/var/tmp/test-quoted-strings.txt/03 '][' -+set /files/var/tmp/test-quoted-strings.txt/04 '[]' -+set /files/var/tmp/test-quoted-strings.txt/05 '[][' -+set /files/var/tmp/test-quoted-strings.txt/06 '[]]' -+set /files/var/tmp/test-quoted-strings.txt/07 '(' -+set /files/var/tmp/test-quoted-strings.txt/08 ')' -+set /files/var/tmp/test-quoted-strings.txt/09 '"\""' -+insert 010 after /files/var/tmp/test-quoted-strings.txt/seq::*[.=~regexp('.*\]\]\[ \)\( .*')] -+set /files/var/tmp/test-quoted-strings.txt/010 'found ]][ )(' -+insert 011 after /files/var/tmp/test-quoted-strings.txt/seq::*[.=~regexp('.*\\\\..*')] -+set /files/var/tmp/test-quoted-strings.txt/011 'found .' -+" -+lens=Simplelines.lns -+file="/var/tmp/test-quoted-strings.txt" -+ -+diff='--- /var/tmp/test-quoted-strings.txt -++++ /var/tmp/test-quoted-strings.txt.augnew -+@@ -1 +1,12 @@ -+ find this: ]][ )( . * $ / \ -++found . -++found ]][ )( -++[ -++] -++][ -++[] -++[][ -++[]] -++( -++) -++"'