Subject: [PATCH v2 07/14] services: gitolite-service-type: Do not install gitolite package.

From: Tomas Volf <[email-masked]>
Date: Tue, 1 Apr 2025 00:10:13 +0200

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
---
 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 c8f244e0fa..cd624d3d57 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -64,6 +64,7 @@
 ;;; Copyright © 2024 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2025 Artyom V. Poptsov <[email-masked]>
 ;;; Copyright © 2025 Dariqq <[email-masked]>
+;;; Copyright © 2025 Tomas Volf <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2365,11 +2366,10 @@ (define* (make-gitolite #:optional (extra-inputs '()))
                       (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 @@ (define gitolite-service-type
     (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.
-- 
2.49.0