about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--genenetwork-development.scm13
1 files changed, 12 insertions, 1 deletions
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 <genenetwork-configuration> 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 <genenetwork-configuration> 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))