apteryx pushed a commit to branch master
in repository guix.

commit ce95350bb28fecb7bbcfe36da9da1de6fce369f2
Author: Tomas Volf <[email protected]>
AuthorDate: Tue Apr 1 00:10:13 2025 +0200

    services: gitolite-service-type: Do not install gitolite package.
    
    It is not ideal to pollute the path with the binaries from the gitolite
    package, so adjust the package to support that and the service to no longer
    install it.
    
    * gnu/packages/version-control.scm (make-gitolite)[arguments]<#:phases>
    {'patch-scripts}: Use store file name of gitolite-shell.
    * gnu/services/version-control.scm (gitolite-service-type): Drop the 
extension
    of profile-service-type.
    
    Change-Id: I25459ccd80bda892b6d188b2b6fa99baee339cba
    Signed-off-by: Maxim Cournoyer <[email protected]>
---
 gnu/packages/version-control.scm |  6 +++---
 gnu/services/version-control.scm | 10 +---------
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index e5141fa7da..b40126e34f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -64,6 +64,7 @@
 ;;; Copyright © 2024 Sharlatan Hellseher <[email protected]>
 ;;; Copyright © 2025 Artyom V. Poptsov <[email protected]>
 ;;; Copyright © 2025 Dariqq <[email protected]>
+;;; Copyright © 2025 Tomas Volf <[email protected]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2379,11 +2380,10 @@ wrappers, to be used for optional gitolite extensions."
                       (string-append
                        " " (search-input-file inputs "bin/grep") " ")))
 
-                   ;; Avoid references to the store in authorized_keys.
-                   ;; This works because gitolite-shell is in the PATH.
                    (substitute* "src/triggers/post-compile/ssh-authkeys"
                      (("\\$glshell \\$user")
-                      "gitolite-shell $user"))))
+                      (string-append
+                       #$output "/bin/gitolite-shell $user")))))
                (add-before 'install 'patch-source
                  (lambda* (#:key inputs #:allow-other-keys)
                    ;; Gitolite uses cat to test the readability of the
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 87f134cb23..e39bb509c2 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -429,15 +429,7 @@ access to exported repositories under @file{/srv/git}."
     (list (service-extension activation-service-type
                              gitolite-activation)
           (service-extension account-service-type
-                             gitolite-accounts)
-          (service-extension profile-service-type
-                             ;; The Gitolite package in Guix uses
-                             ;; gitolite-shell in the authorized_keys file, so
-                             ;; gitolite-shell needs to be on the PATH for
-                             ;; gitolite to work.
-                             (lambda (config)
-                               (list
-                                (gitolite-configuration-package config))))))
+                             gitolite-accounts)))
    (description
     "Set up @command{gitolite}, a Git hosting tool providing access over SSH.
 By default, the @code{git} user is used, but this is configurable.

Reply via email to