From ce95350bb28fecb7bbcfe36da9da1de6fce369f2 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 1 Apr 2025 00:10:13 +0200 Subject: [PATCH] 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 --- 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 e5141fa7dad..b40126e34fa 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -64,6 +64,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2025 Artyom V. Poptsov ;;; Copyright © 2025 Dariqq +;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz> ;;; ;;; 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 87f134cb23c..e39bb509c26 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.