[bug#77186,07/13] services: gitolite-service-type: Do not install gitolite package.

Message ID fefbdde5064bd8946598652675a09b9219183c6d.1742661305.git.~@wolfsden.cz
State New
Headers
Series Revamp the gitolite-service-type |

Commit Message

Tomas Volf March 22, 2025, 5 p.m. UTC
  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 |  5 ++---
 gnu/services/version-control.scm | 10 +---------
 2 files changed, 3 insertions(+), 12 deletions(-)
  

Patch

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c8f244e0fa..e06ac79506 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2365,11 +2365,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 b3196199e3..5e217ed170 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -428,15 +428,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.