Subject: [bug#61982] [PATCH 2/2] home: services: xdg-base-directories: Deprecate XDG_LOG_HOME.

From: Andrew Tropin <[email-masked]>
Date: Fri, 07 Apr 2023 16:46:34 +0400

On 2023-04-07 12:47, Bruno Victal wrote:

> Hi Andrew,
>
> On 2023-04-07 09:45, Andrew Tropin wrote:
>> On 2023-03-05 15:19, Bruno Victal wrote:
>>> --- a/gnu/home/services/desktop.scm
>>> +++ b/gnu/home/services/desktop.scm
>>> @@ -206,8 +206,8 @@ (define (home-dbus-shepherd-services config)
>>>                           (default-environment-variables))
>>>                     #:log-file
>>>                     (format #f "~a/dbus.log"
>>> -                           (or (getenv "XDG_LOG_HOME")
>>> -                               (format #f "~a/.local/var/log"
>>> +                           (or (getenv "XDG_STATE_HOME")
>>> +                               (format #f "~a/.local/state"
>> 
>> If we deprecate XDG_LOG_HOME, maybe it's a good idea to make a helper
>> function, which can be reused across different services?  
>> 
>> Also, how about appending /log subdirectory by default?
>>> WDYT?
>
> I'm wondering if this continued usage of XDG_LOG_HOME was a good idea,
> maybe the service should just start using XDG_STATE_HOME as soon as possible?
> (in which case, this patch will have to be reworked to reflect that)
> This way we avoid introducing yet more code to handle deprecated code.
>
> It shouldn't result in any kind of problems, XDG_LOG_HOME will still be set in the meantime
> for scripts and code that happen to use it and are not part of (upstream) guix.
>
> WDYT?

I meant introducing something like this
(define (get-log-dir)
 (string-append
  (getenv "XDG_STATE_HOME") "/log"))

and use it instead of
(or (getenv "XDG_STATE_HOME")
 (format #f "~a/.local/state" (getenv "HOME")))

-- 
Best regards,
Andrew Tropin