Fix syslog.conf parsing

Backport change merged upstream until a new release of augeas happens.
While here, pet portlint.

PR:		232200
Reported by:	mat
This commit is contained in:
Romain Tartière 2018-10-25 13:51:48 +00:00
parent 856c290b26
commit b264be0469
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=482971
4 changed files with 79 additions and 1 deletions

View file

@ -3,6 +3,7 @@
PORTNAME= augeas
PORTVERSION= 1.11.0
PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= http://download.augeas.net/
@ -14,10 +15,11 @@ LICENSE= LGPL21
TEST_DEPENDS= bash:shells/bash \
gsed:textproc/gsed
GNU_CONFIGURE= yes
USES= autoreconf cpe gmake libtool pathfix pkgconfig readline
USE_GNOME= libxml2
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
LENSESDIR= ${PREFIX}/share/augeas/lenses

View file

@ -0,0 +1,26 @@
--- lenses/syslog.aug.orig 2018-08-10 20:17:35 UTC
+++ lenses/syslog.aug
@@ -221,7 +221,7 @@ module Syslog =
(* View: entries
entries are either comments/empty lines or entries
*)
- let entries = (empty | comment | entry)*
+ let entries = (empty | comment | entry )*
(* Group: Program matching *)
@@ -253,10 +253,13 @@ module Syslog =
(* Group: Top of the tree *)
+ let include =
+ [ key "include" . sep_tab . store file_r . eol ]
+
(* View: lns
generic entries then programs or hostnames matching blocs
*)
- let lns = entries . ( program | hostname )*
+ let lns = entries . ( program | hostname | include )*
(* Variable: filter
all you need is /etc/syslog.conf

View file

@ -0,0 +1,9 @@
--- lenses/tests/test_syslog.aug.orig 2018-08-10 20:17:35 UTC
+++ lenses/tests/test_syslog.aug
@@ -351,3 +351,6 @@ daemon.info
(* allow space before comments *)
test Syslog.lns get " \t# space comment\n" =
{ "#comment" = "space comment" }
+
+ test Syslog.lns get "include /etc/syslog.d\n" =
+ { "include" = "/etc/syslog.d" }

View file

@ -0,0 +1,41 @@
--- tests/root/etc/syslog.conf.orig 2018-10-25 13:34:21 UTC
+++ tests/root/etc/syslog.conf
@@ -0,0 +1,38 @@
+# $FreeBSD$
+#
+# Spaces ARE valid field separators in this file. However,
+# other *nix-like systems still insist on using tabs as field
+# separators. If you are sharing this file between systems, you
+# may want to use only tabs as field separators here.
+# Consult the syslog.conf(5) manpage.
+*.err;kern.warning;auth.notice;mail.crit /dev/console
+*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
+security.* /var/log/security
+auth.info;authpriv.info /var/log/auth.log
+mail.info /var/log/maillog
+lpr.info /var/log/lpd-errs
+ftp.info /var/log/xferlog
+cron.* /var/log/cron
+!-devd
+*.=debug /var/log/debug.log
+*.emerg *
+# uncomment this to log all writes to /dev/console to /var/log/console.log
+# touch /var/log/console.log and chmod it to mode 600 before it will work
+#console.info /var/log/console.log
+# uncomment this to enable logging of all log messages to /var/log/all.log
+# touch /var/log/all.log and chmod it to mode 600 before it will work
+#*.* /var/log/all.log
+# uncomment this to enable logging to a remote loghost named loghost
+#*.* @loghost
+# uncomment these if you're running inn
+# news.crit /var/log/news/news.crit
+# news.err /var/log/news/news.err
+# news.notice /var/log/news/news.notice
+# Uncomment this if you wish to see messages produced by devd
+# !devd
+# *.>=notice /var/log/devd.log
+!ppp
+*.* /var/log/ppp.log
+!*
+include /etc/syslog.d
+include /usr/local/etc/syslog.d