From 08d17df4866835dd1ac62dd5495edca46865e6f2 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Wed, 17 Sep 2025 14:37:38 +0300 Subject: genenetwork-development: Fix permissions for repository directories. * genenetwork-development.scm (genenetwork-service-type): Import (ice-9 ftw). Set top-level directories under REPOSITORIES to mode 0775 so they are writable by the "genenetwork" user/group. --- genenetwork-development.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/genenetwork-development.scm b/genenetwork-development.scm index 62842b0..0600a48 100644 --- a/genenetwork-development.scm +++ b/genenetwork-development.scm @@ -993,7 +993,8 @@ described by CONFIG, a object." (gn2-secrets gn3-secrets auth-db-path gn-auth-secrets gn-doc-git-checkout repositories) (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (ice-9 ftw)) ;; Set ownership of files. (for-each (lambda (file) @@ -1011,6 +1012,16 @@ described by CONFIG, a object." #:directories? #t) (find-files #$gn-auth-secrets #:directories? #t)))) + ;; Here we need to set the top-level directories for the + ;; repositories to 0775 so that they are editable by the + ;; "genenetwork" user/group. Otherwise, we get: + ;; guix/build/syscalls.scm:1231:10: In procedure unshare: + ;; 268566528: Invalid argument + (for-each (lambda (dir) + (chmod dir #o775)) + (scandir #$repositories + (lambda (name) (not (member name '("." "..")))))) + ;; Prevent other users from reading secret files. (for-each (lambda (file) (chmod file #o600)) -- cgit 1.4.1