* [bug#70677] [PATCH 0/2] Improve syslog service flexibility
@ 2024-04-30 15:34 Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 1/2] services: syslog: Add extra-options argument to syslog service Jean-Baptiste Note
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Jean-Baptiste Note @ 2024-04-30 15:34 UTC (permalink / raw)
To: 70677; +Cc: Jean-Baptiste Note
While setting up centralized logging in a guix environment, I had to add flags
to the running syslog on the central server (udp networking, for instance).
Further, I had to use rsyslog instead of syslog.
The following set of patches enable both of these to be done. The patches are
independent conceptually but touch around the same pieces of code, so they're
presented as a set.
Jean-Baptiste Note (2):
services: syslog: Add extra-options argument to syslog service.
services: syslog: Adjust service for rsyslog compatibility.
doc/guix.texi | 3 +++
gnu/services/base.scm | 8 ++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#70677] [PATCH 1/2] services: syslog: Add extra-options argument to syslog service.
2024-04-30 15:34 [bug#70677] [PATCH 0/2] Improve syslog service flexibility Jean-Baptiste Note
@ 2024-04-30 15:36 ` Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 2/2] services: syslog: Adjust service for rsyslog compatibility Jean-Baptiste Note
2024-12-23 17:13 ` bug#70677: [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
2 siblings, 0 replies; 8+ messages in thread
From: Jean-Baptiste Note @ 2024-04-30 15:36 UTC (permalink / raw)
To: 70677; +Cc: Jean-Baptiste Note
* gnu/services/base.scm (<syslog-configuration>): Add extra-options field.
(syslog-shepherd-service): Use it when running the service.
* doc/guix.texi: Document it.
Change-Id: I540d070b9a9678b45ec9fa28d6fdc761f9b3fd9a
---
doc/guix.texi | 3 +++
gnu/services/base.scm | 7 +++++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 3a9afcd814..81e6283196 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19442,6 +19442,9 @@ Base Services
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
information on the configuration file syntax.
+@item @code{extra-options} (default: @code{'()})
+List of extra command-line options for @command{syslog}.
+
@end table
@end deftp
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index f35d74ee40..47565a3d5a 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1553,7 +1553,9 @@ (define-record-type* <syslog-configuration>
(syslogd syslog-configuration-syslogd
(default (file-append inetutils "/libexec/syslogd")))
(config-file syslog-configuration-config-file
- (default %default-syslog.conf)))
+ (default %default-syslog.conf))
+ (extra-options syslog-configuration-extra-options
+ (default '())))
;;; Note: a static file name is used for syslog.conf so that the reload action
;;; work as intended.
@@ -1589,7 +1591,8 @@ (define (syslog-shepherd-service config)
;; action work as intended.
(start #~(make-forkexec-constructor
(list #$(syslog-configuration-syslogd config)
- #$(string-append "--rcfile=" syslog.conf))
+ #$(string-append "--rcfile=" syslog.conf)
+ #$@(syslog-configuration-extra-options config))
#:file-creation-mask #o137
#:pid-file "/var/run/syslog.pid"))
(stop #~(make-kill-destructor))))
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#70677] [PATCH 2/2] services: syslog: Adjust service for rsyslog compatibility.
2024-04-30 15:34 [bug#70677] [PATCH 0/2] Improve syslog service flexibility Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 1/2] services: syslog: Add extra-options argument to syslog service Jean-Baptiste Note
@ 2024-04-30 15:36 ` Jean-Baptiste Note
2024-12-23 17:13 ` bug#70677: [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
2 siblings, 0 replies; 8+ messages in thread
From: Jean-Baptiste Note @ 2024-04-30 15:36 UTC (permalink / raw)
To: 70677; +Cc: Jean-Baptiste Note
* gnu/services/base.scm (syslog-shepherd-service): Change flag for designating
configuration file. The long option is not compatible with rsyslog while the
short is; switch to the short one.
---
gnu/services/base.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 47565a3d5a..0d73e5344e 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1591,7 +1591,8 @@ (define (syslog-shepherd-service config)
;; action work as intended.
(start #~(make-forkexec-constructor
(list #$(syslog-configuration-syslogd config)
- #$(string-append "--rcfile=" syslog.conf)
+ ;; the -f option here is compatible with rsyslog
+ #$(string-append "-f " syslog.conf)
#$@(syslog-configuration-extra-options config))
#:file-creation-mask #o137
#:pid-file "/var/run/syslog.pid"))
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#70677: [PATCH 0/2] Improve syslog service flexibility
2024-04-30 15:34 [bug#70677] [PATCH 0/2] Improve syslog service flexibility Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 1/2] services: syslog: Add extra-options argument to syslog service Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 2/2] services: syslog: Adjust service for rsyslog compatibility Jean-Baptiste Note
@ 2024-12-23 17:13 ` Ludovic Courtès
2024-12-23 22:34 ` [bug#70677] " Jean-Baptiste Note
2 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2024-12-23 17:13 UTC (permalink / raw)
To: Jean-Baptiste Note; +Cc: 70677-done
Hi,
Jean-Baptiste Note <jean-baptiste.note@m4x.org> skribis:
> While setting up centralized logging in a guix environment, I had to add flags
> to the running syslog on the central server (udp networking, for instance).
>
> Further, I had to use rsyslog instead of syslog.
>
> The following set of patches enable both of these to be done. The patches are
> independent conceptually but touch around the same pieces of code, so they're
> presented as a set.
>
> Jean-Baptiste Note (2):
> services: syslog: Add extra-options argument to syslog service.
> services: syslog: Adjust service for rsyslog compatibility.
Finally applied.
Sorry that it took so many months for no good reason!
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#70677] [PATCH 0/2] Improve syslog service flexibility
2024-12-23 17:13 ` bug#70677: [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
@ 2024-12-23 22:34 ` Jean-Baptiste Note
2024-12-25 17:14 ` [bug#75091] [PATCH] services: syslog: fix configuration file argument 45mg
2024-12-26 11:30 ` [bug#70677] [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
0 siblings, 2 replies; 8+ messages in thread
From: Jean-Baptiste Note @ 2024-12-23 22:34 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 70677-done
[-- Attachment #1: Type: text/plain, Size: 1093 bytes --]
Hi Ludovic,
First, thank you for devoting some previous Christmas time to this. I'm
reading this out of office, and i'm suddenly assailed by a doubt. It's
been a while, but I think the second patch, amending the commandline,
was completely untested and completely wrong.
Indeed the string "-f syslog.conf" is not a proper argument and won't be
parsed as such, it should probably be something like "-f"
#$(syslog.conf) (two separate arguments).
I can't easily assess the situation from where I am, or access a
possibly updated patch version from work, but maybe the continuous
integration is showing the problem.
I'm very sorry for the situation, and I think you may want to revert
this part of the series to avoid nuisances to people who would do a
system upgrade.
I will send a fixed patch as soon as possible, which may take a few
days. The problem doesn't show upon system build but on system reboot,
and manifests itself with an early fail during the herd startup
sequence.
I'm very sorry about the situation, and even more so about wasting your
time.
Kind regards,
Jean-Baptiste
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#75091] [PATCH] services: syslog: fix configuration file argument
2024-12-23 22:34 ` [bug#70677] " Jean-Baptiste Note
@ 2024-12-25 17:14 ` 45mg
2024-12-25 21:49 ` bug#75091: " Ludovic Courtès
2024-12-26 11:30 ` [bug#70677] [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
1 sibling, 1 reply; 8+ messages in thread
From: 45mg @ 2024-12-25 17:14 UTC (permalink / raw)
To: 75091; +Cc: ludo, 45mg, jean-baptiste.note
* gnu/services/base.scm (syslog-shepherd-service): Separate incorrectly
combined arguments which resulted in an argument like "-f
/etc/syslog.conf" being passed to syslogd, leading it to ignore the
argument and execute without a configuration file. Effects of this
included no log files being written, though the Shepherd service ran
successfully.
Ref: https://issues.guix.gnu.org/70677#4-lineno7
Change-Id: I3dbe00eabd4a10804e554c12e1466483c0b185b7
---
gnu/services/base.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index fc604f029a..75ce4e8fe5 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1679,7 +1679,7 @@ (define (syslog-shepherd-service config)
(start #~(make-forkexec-constructor
(list #$(syslog-configuration-syslogd config)
;; the -f option here is compatible with rsyslog
- #$(string-append "-f " syslog.conf)
+ "-f" #$syslog.conf
#$@(syslog-configuration-extra-options config))
#:file-creation-mask #o137
#:pid-file "/var/run/syslog.pid"))
base-commit: 3ada4796e9adcea6fce621e639ddbfb181ab6689
--
2.47.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#75091: [PATCH] services: syslog: fix configuration file argument
2024-12-25 17:14 ` [bug#75091] [PATCH] services: syslog: fix configuration file argument 45mg
@ 2024-12-25 21:49 ` Ludovic Courtès
0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-12-25 21:49 UTC (permalink / raw)
To: 45mg; +Cc: jean-baptiste.note, 75091-done
45mg <45mg.writes@gmail.com> skribis:
> * gnu/services/base.scm (syslog-shepherd-service): Separate incorrectly
> combined arguments which resulted in an argument like "-f
> /etc/syslog.conf" being passed to syslogd, leading it to ignore the
> argument and execute without a configuration file. Effects of this
> included no log files being written, though the Shepherd service ran
> successfully.
>
> Ref: https://issues.guix.gnu.org/70677#4-lineno7
> Change-Id: I3dbe00eabd4a10804e554c12e1466483c0b185b7
Oops, my bad, I overlooked that.
Applied, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#70677] [PATCH 0/2] Improve syslog service flexibility
2024-12-23 22:34 ` [bug#70677] " Jean-Baptiste Note
2024-12-25 17:14 ` [bug#75091] [PATCH] services: syslog: fix configuration file argument 45mg
@ 2024-12-26 11:30 ` Ludovic Courtès
1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-12-26 11:30 UTC (permalink / raw)
To: Jean-Baptiste Note; +Cc: 70677-done
Hi Jean-Baptiste,
Jean-Baptiste Note <jean-baptiste.note@m4x.org> skribis:
> First, thank you for devoting some previous Christmas time to this. I'm
> reading this out of office, and i'm suddenly assailed by a doubt. It's
> been a while, but I think the second patch, amending the commandline,
> was completely untested and completely wrong.
>
> Indeed the string "-f syslog.conf" is not a proper argument and won't be
> parsed as such, it should probably be something like "-f"
> #$(syslog.conf) (two separate arguments).
Indeed, I overlooked that but fortunately somebody else already proposed
a patch, pushed as dbbef3d57f4f6acd2f9c51c5f9fda97e18fa618c.
No worries. Enjoy your vacation! :-)
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-26 11:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30 15:34 [bug#70677] [PATCH 0/2] Improve syslog service flexibility Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 1/2] services: syslog: Add extra-options argument to syslog service Jean-Baptiste Note
2024-04-30 15:36 ` [bug#70677] [PATCH 2/2] services: syslog: Adjust service for rsyslog compatibility Jean-Baptiste Note
2024-12-23 17:13 ` bug#70677: [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
2024-12-23 22:34 ` [bug#70677] " Jean-Baptiste Note
2024-12-25 17:14 ` [bug#75091] [PATCH] services: syslog: fix configuration file argument 45mg
2024-12-25 21:49 ` bug#75091: " Ludovic Courtès
2024-12-26 11:30 ` [bug#70677] [PATCH 0/2] Improve syslog service flexibility Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).