GNU bug report logs - #76204
[PATCH] system: skeleton-directory: Allow copying into subdirectories.

Previous Next

Package: guix-patches;

Reported by: Sughosha <sughosha <at> disroot.org>

Date: Tue, 11 Feb 2025 14:19:01 UTC

Severity: normal

Tags: patch

Full log


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

From: Sughosha <sughosha <at> disroot.org>
To: guix-patches <at> gnu.org
Cc: Sughosha <sughosha <at> disroot.org>
Subject: [PATCH] system: skeleton-directory: Allow copying into subdirectories.
Date: Tue, 11 Feb 2025 19:47:30 +0530
This fixes the error while copying the source to the target that is supposed to
go into subdirectories that are not present yet.

* gnu/shadow.scm (skeleton-directory): Create the parent directories of the
target if not present before copying the source.

Change-Id: I91e669968107d3d2b299b61b24ac1cc1895ebf76
---
 gnu/system/shadow.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 48eca2564f..c68d8306fa 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -320,6 +320,9 @@ (define (skeleton-directory skeletons)
                        ;; would just copy the symlinks as is.
                        (for-each (match-lambda
                                    ((target source)
+                                    (when (not (directory-exists?
+                                                (dirname target)))
+                                      (mkdir-p (dirname target)))
                                     (copy-recursively source target)))
                                  '#$skeletons)
                        ;; Make nanorc respect XDG_CONFIG_HOME.

base-commit: 555937448cc510517011035fbf39c3687336759d
-- 
2.47.1





This bug report was last modified 127 days ago.

Previous Next


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