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

Message ID 8031b4bf4c723a6811f87e3ffc0df14651fa557d.1743459020.git.~@wolfsden.cz
State New
Headers
Series [bug#77186,v2,01/14] services: gitolite-rc-file-compiler: Switch to match-record. |

Commit Message

Tomas Volf March 31, 2025, 10:10 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 |  6 +++---
 gnu/services/version-control.scm | 10 +---------
 2 files changed, 4 insertions(+), 12 deletions(-)
  

Patch

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 <sharlatanus@gmail.com>
 ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
+;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
 ;;;
 ;;; 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.