GNU bug report logs -
#53781
[PATCH shepherd] support: Use XDG_STATE_HOME for log files.
Previous Next
Full log
View this message in rfc822 format
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/doc/shepherd.texi b/doc/shepherd.texi
index 94f6131..b779a5f 100644
--- a/doc/shepherd.texi
+++ b/doc/shepherd.texi
@@ -419,7 +419,8 @@ permissions are not as expected.
Log output into @var{file}.
For unprivileged users, the default log file is
-@file{$XDG_DATA_DIR/.local/share/shepherd/shepherd.log}.
+@file{$XDG_STATE_HOME/shepherd/shepherd.log} with @file{$XDG_STATE_HOME}
+defaulting to @file{$HOME/.local/state}.
@cindex syslog
When running as root, the default behavior is to connect to
diff --git a/modules/shepherd/support.scm b/modules/shepherd/support.scm
index 21c59f7..72b74ba 100644
--- a/modules/shepherd/support.scm
+++ b/modules/shepherd/support.scm
@@ -277,8 +277,8 @@ There is NO WARRANTY, to the extent permitted by law.")))
(define %user-log-dir
;; Default log directory if shepherd is run as a normal user.
- (string-append (or (getenv "XDG_DATA_DIR")
- (string-append user-homedir "/.local/share"))
+ (string-append (or (getenv "XDG_STATE_HOME")
+ (string-append user-homedir "/.local/state"))
"/shepherd"))
(define %user-runtime-dir
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
--
2.34.0
This bug report was last modified 3 years and 54 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.