GNU bug report logs - #48323
guix-daemon.service and guix-publish.service use deprecated StandardError/StandardOutput features

Previous Next

Package: guix;

Reported by: Vagrant Cascadian <vagrant <at> debian.org>

Date: Sun, 9 May 2021 20:09:02 UTC

Severity: important

Done: Vagrant Cascadian <vagrant <at> debian.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48323 in the body.
You can then email your comments to 48323 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#48323; Package guix. (Sun, 09 May 2021 20:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vagrant Cascadian <vagrant <at> debian.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 09 May 2021 20:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> debian.org>
To: bug-guix <at> gnu.org
Subject: guix-daemon.service and guix-publish.service use deprecated
 StandardError/StandardOutput features
Date: Sun, 09 May 2021 13:07:38 -0700
[Message part 1 (text/plain, inline)]
Both guix-daemon.service and guix-publish.service make use of
StandardError=syslog and StandardOutput=syslog.

When building a guix 1.2.0 or 1.3.0rc* on Debian, I get the following
warnings when checking with lintian:

W: guix: systemd-service-file-uses-deprecated-syslog-facility lib/systemd/system/guix-daemon.service StandardError=syslog
N:
W: systemd-service-file-uses-deprecated-syslog-facility
N:
N:   The specified systemd service file specifies StandardOutput= or
N:   StandardError= that references syslog or syslog-console.
N:
N:   This is discouraged, and systemd versions 246 and above will log a
N:   warning about this.
N:
N:   Refer to
N: https://github.com/systemd/systemd/blob/6706384a89ae0c462e7172588c80667190c4d9e2/NEWS#L724
N:   for details.
N:
N:   Severity: warning
N:
N:   Check: systemd

Following the above link has this to say:

        * StandardError= and StandardOutput= in unit files no longer support
          the "syslog" and "syslog-console" switches. They were long removed
          from the documentation, but will now result in warnings when used,
          and be converted to "journal" and "journal+console"
          automatically.

So apparently need to switch the .service files to use "journal". I am
not sure what implications that would have for installing guix on a
foreign distro, such as minimum systemd version, or if anything needs
significant changes.

Presumably at some point support for this Standard*=syslog will be
dropped entirely from systemd...


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 11 May 2021 21:13:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#48323; Package guix. (Fri, 29 Apr 2022 14:52:02 GMT) Full text and rfc822 format available.

Message #10 received at 48323 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Vagrant Cascadian <vagrant <at> debian.org>
Cc: 48323 <at> debbugs.gnu.org
Subject: Re: bug#48323: guix-daemon.service and guix-publish.service use
 deprecated StandardError/StandardOutput features
Date: Fri, 29 Apr 2022 16:51:06 +0200
Hi!

Vagrant Cascadian <vagrant <at> debian.org> skribis:

> Both guix-daemon.service and guix-publish.service make use of
> StandardError=syslog and StandardOutput=syslog.

[...]

> So apparently need to switch the .service files to use "journal". I am
> not sure what implications that would have for installing guix on a
> foreign distro, such as minimum systemd version, or if anything needs
> significant changes.

Could you confirm that setting those to “journal” works on Debian?

If it does, it’s probably safe now to make this change, so feel free to
commit it in Guix.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#48323; Package guix. (Thu, 20 Jul 2023 19:36:01 GMT) Full text and rfc822 format available.

Message #13 received at 48323 <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> debian.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 48323 <at> debbugs.gnu.org
Subject: Re: bug#48323: guix-daemon.service and guix-publish.service use
 deprecated StandardError/StandardOutput features
Date: Thu, 20 Jul 2023 12:35:33 -0700
[Message part 1 (text/plain, inline)]
On 2022-04-29, Ludovic Courtès wrote:
> Vagrant Cascadian <vagrant <at> debian.org> skribis:
>
>> Both guix-daemon.service and guix-publish.service make use of
>> StandardError=syslog and StandardOutput=syslog.
>
> [...]
>
>> So apparently need to switch the .service files to use "journal". I am
>> not sure what implications that would have for installing guix on a
>> foreign distro, such as minimum systemd version, or if anything needs
>> significant changes.
>
> Could you confirm that setting those to “journal” works on Debian?
>
> If it does, it’s probably safe now to make this change, so feel free to
> commit it in Guix.

So, I finally got around to testing this...

Feels a little odd just pushing after testing over a year later,
although the patch is fairly trivial...

Patch attached!

live well,
  vagrant
[0001-etc-systemd-services-switch-to-journal-for-output-an.patch (text/x-diff, inline)]
From 2c3a09314b0223531ab41407d619bcf300b4f422 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant <at> debian.org>
Date: Thu, 20 Jul 2023 12:13:55 -0700
Subject: [PATCH] etc: systemd services: switch to "journal" for output and
 error logging.

The "syslog" method has been deprecated for years, and issues a warning:

  Standard output type syslog is obsolete, automatically updating to
  journal. Please update your unit file, and consider removing the setting
  altogether.

Fixes: #48323

* etc/guix-daemon.service.in (StandardOutput): Use "journal"
(StandardError): Likewise.
* etc/guix-publish.service.in (StandardOutput): Likewise.
(StandardError): Likewise.
---
 etc/guix-daemon.service.in  | 4 ++--
 etc/guix-publish.service.in | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 9dbc3b5678..5e75379b5e 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -9,8 +9,8 @@ Description=Build daemon for GNU Guix
 ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
     --build-users-group=guixbuild --discover=no
 Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
-StandardOutput=syslog
-StandardError=syslog
+StandardOutput=journal
+StandardError=journal
 
 # Work around a nasty systemd ‘feature’ that kills the entire process tree
 # (including the daemon!) if any child, such as cc1plus, runs out of memory.
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
index b8fd3b4c03..0d82e73d94 100644
--- a/etc/guix-publish.service.in
+++ b/etc/guix-publish.service.in
@@ -11,8 +11,8 @@ After=guix-daemon.service
 [Service]
 ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
 Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
-StandardOutput=syslog
-StandardError=syslog
+StandardOutput=journal
+StandardError=journal
 
 # Despite the name, this is rate-limited: a broken daemon will eventually fail.
 Restart=always

base-commit: 21b718f4d6c3ded8ef50d12f6e9ae6474f74620f
-- 
2.39.2

[signature.asc (application/pgp-signature, inline)]

Reply sent to Vagrant Cascadian <vagrant <at> debian.org>:
You have taken responsibility. (Mon, 11 Mar 2024 21:54:02 GMT) Full text and rfc822 format available.

Notification sent to Vagrant Cascadian <vagrant <at> debian.org>:
bug acknowledged by developer. (Mon, 11 Mar 2024 21:54:02 GMT) Full text and rfc822 format available.

Message #18 received at 48323-done <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> debian.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 48323-done <at> debbugs.gnu.org
Subject: Re: bug#48323: guix-daemon.service and guix-publish.service use
 deprecated StandardError/StandardOutput features
Date: Mon, 11 Mar 2024 14:52:27 -0700
[Message part 1 (text/plain, inline)]
On 2023-07-20, Vagrant Cascadian wrote:
> On 2022-04-29, Ludovic Courtès wrote:
>> Vagrant Cascadian <vagrant <at> debian.org> skribis:
>>
>>> Both guix-daemon.service and guix-publish.service make use of
>>> StandardError=syslog and StandardOutput=syslog.
>>
>> [...]
>>
>>> So apparently need to switch the .service files to use "journal". I am
>>> not sure what implications that would have for installing guix on a
>>> foreign distro, such as minimum systemd version, or if anything needs
>>> significant changes.
>>
>> Could you confirm that setting those to “journal” works on Debian?
>>
>> If it does, it’s probably safe now to make this change, so feel free to
>> commit it in Guix.
>
> So, I finally got around to testing this...
>
> Feels a little odd just pushing after testing over a year later,
> although the patch is fairly trivial...

And finally pushed the patch, as
5f100c68a4a8ef9ed5599bb99c910018869bc6f3!

live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 09 Apr 2024 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 10 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.