Subject: [bug#53781] [PATCH shepherd] support: Use XDG_STATE_HOME for log files.

From: Brice Waegeneire <[email-masked]>
Date: Sat, 12 Feb 2022 11:37:26 +0100

Hello Liliana,

Liliana Marie Prikler <[email-masked]> writes:

> As per XDG Base Directory Specification 0.8, "action history" (such as logs)
> ought to be stored in $XDG_STATE_HOME, defaulting to $HOME/.local/state.
> Respect this specification.
>
> * modules/shepherd/support.scm (%user-log-dir): Define in terms of
> XDG_STATE_HOME.
> * doc/shepherd.texi: Adjust accordingly.
> * tests/basic.sh: Adjust accordingly.
> ---
>  doc/shepherd.texi            | 3 ++-
>  modules/shepherd/support.scm | 4 ++--
>  tests/basic.sh               | 4 +++-
>  3 files changed, 7 insertions(+), 4 deletions(-)

[...]

> diff --git a/tests/basic.sh b/tests/basic.sh
> index 5079aa1..5ef1fb0 100644
> --- a/tests/basic.sh
> +++ b/tests/basic.sh
> @@ -260,7 +260,9 @@ test -f "$log"
>  
>  # Set XDG_CONFIG_HOME for configuration files.
>  export XDG_CONFIG_HOME=$confdir
> -export XDG_DATA_DIR=$datadir
> +export XDG_DATA_HOME=$datadir
> +# Reuse XDG_DATA_HOME as XDG_STATE_HOME for backwards compatibility.
> +export XDG_STATE_HOME=$datadir
>  mkdir -p $confdir/shepherd
>  mkdir -p $datadir/shepherd
>  mv $conf $confdir/shepherd/init.scm

I don't get why you define XDG_DATA_HOME here, as it wasn't used before and it
is a test and shouldn't need to be backward compatible except for testing  such
backward compatibility.

Otherwise it LGTM! Thank you for the patch.

Cheers,
- Brice