guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: services: laminar: Create parent directory for un


From: guix-commits
Subject: branch master updated: services: laminar: Create parent directory for unix socket.
Date: Thu, 10 Jun 2021 00:55:35 -0400

This is an automated email from the git hooks/post-receive script.

arunisaac pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 0d2cbd6  services: laminar: Create parent directory for unix socket.
0d2cbd6 is described below

commit 0d2cbd663214a8aa4ed8b8c7716fe3436801a9a5
Author: Arun Isaac <arunisaac@systemreboot.net>
AuthorDate: Mon May 31 00:41:06 2021 +0530

    services: laminar: Create parent directory for unix socket.
    
    * gnu/services/ci.scm (laminar-activation): New function.
    (laminar-service-type): Extend activation-service-type with
    laminar-activation.
---
 gnu/services/ci.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm
index 0b18521..0c3566b 100644
--- a/gnu/services/ci.scm
+++ b/gnu/services/ci.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018, 2019, 2020, 2021 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -115,13 +116,25 @@
          (home-directory (laminar-configuration-home-directory config))
          (shell #~(string-append #$shadow "/sbin/nologin")))))
 
+(define (laminar-activation config)
+  (let ((bind-http (laminar-configuration-bind-http config)))
+    #~(begin
+        ;; If listen is a unix socket, create its parent directory.
+        (when (string-prefix? "unix:" #$bind-http)
+          (let ((run-directory
+                 (dirname (substring #$bind-http (string-length "unix:"))))
+                (user (getpw "laminar")))
+            (mkdir-p run-directory)
+            (chown run-directory (passwd:uid user) (passwd:gid user)))))))
+
 (define laminar-service-type
   (service-type
    (name 'laminar)
    (extensions
     (list
      (service-extension shepherd-root-service-type laminar-shepherd-service)
-     (service-extension account-service-type laminar-account)))
+     (service-extension account-service-type laminar-account)
+     (service-extension activation-service-type laminar-activation)))
    (default-value (laminar-configuration))
    (description
     "Run the Laminar continuous integration service.")))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]