This is an automated email from the git hooks/post-receive script.
guix_mirror_bot pushed a commit to branch master
in repository guix.
The following commit(s) were added to refs/heads/master by this push:
new 2746e07180 services: readymedia: Allow relative paths to media
directories.
2746e07180 is described below
commit 2746e071801c5ca037479191f865c91a5373f5cb
Author: Sughosha <[email protected]>
AuthorDate: Tue Mar 3 23:48:41 2026 +0530
services: readymedia: Allow relative paths to media directories.
* gnu/services/upnp.scm (readymedia-activation): For home services, if the
media directory paths are relative, create it in the user's home directory.
* doc/guix.texi (Miscellaneous Services)[DLNA/UPnP Services]: Update doc.
Change-Id: I39176320d6c33c56c5b80ad9e67e989ee41565da
---
doc/guix.texi | 3 ++-
gnu/services/upnp.scm | 21 +++++++++++++++------
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 4c113518fa..15ed74ed0c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -47045,7 +47045,8 @@ folder.
@table @asis
@item @code{path} (type: string)
-The media folder location.
+The media folder location. For Guix Home services, if the path is
+relative, it will be looked up in the user's home directory.
@item @code{types} (default: @code{'()}) (type: list)
A list indicating the types of file included in the media folder.
diff --git a/gnu/services/upnp.scm b/gnu/services/upnp.scm
index 8ae6c2f928..16c3246353 100644
--- a/gnu/services/upnp.scm
+++ b/gnu/services/upnp.scm
@@ -224,12 +224,21 @@
(use-modules (gnu build activation))
(for-each (lambda (directory)
- (unless (file-exists? directory)
- (mkdir-p/perms directory
- (getpw #$(if home-service?
- #~(getuid)
- %readymedia-user-account))
- #$(if home-service? #o755 #o775))))
+ (let ((directory
+ (if #$home-service?
+ (if (absolute-file-name? directory)
+ directory
+ (string-append (or (getenv "HOME")
+ (passwd:dir
+ (getpwuid (getuid))))
+ "/" directory))
+ directory)))
+ (unless (file-exists? directory)
+ (mkdir-p/perms directory
+ (getpw #$(if home-service?
+ #~(getuid)
+
%readymedia-user-account))
+ #$(if home-service? #o755 #o775)))))
(list #$@(map readymedia-media-directory-path
media-directories)))
(for-each (lambda (directory)