apteryx pushed a commit to branch master
in repository guix.
commit 5466a46a72621e78aad84b6f744dce44140a5e4d
Author: Tomas Volf <[email protected]>
AuthorDate: Tue Apr 1 00:10:09 2025 +0200
services: gitolite-rc-file: Add host-name field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add host-name
field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.
Change-Id: I1231ed47a294ff48b35a301f76ae8e9cbfcd9b95
Signed-off-by: Maxim Cournoyer <[email protected]>
---
doc/guix.texi | 4 ++++
gnu/services/version-control.scm | 8 +++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 72e8d5d2b5..4a5a570e1d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -41065,6 +41065,10 @@ For historical reasons, this field defaults to
@code{#f}. The default
value from gitolite however is @code{1} (written as @code{#t} in this
configuration).
+@item @code{host-name} (default: @code{#f})
+The host name of this gitolite instance. It is used by the mirroring
+feature.
+
@item @code{roles} (default: @code{'(("READERS" . 1) ("WRITERS" . ))})
Set the role names allowed to be used by users running the perms command.
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 344538a73e..2b99e8db86 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -61,6 +61,7 @@
gitolite-rc-file-unsafe-pattern
gitolite-rc-file-git-config-keys
gitolite-rc-file-log-extra
+ gitolite-rc-file-host-name
gitolite-rc-file-roles
gitolite-rc-file-enable
@@ -255,6 +256,8 @@ access to exported repositories under @file{/srv/git}."
(default ""))
(log-extra gitolite-rc-file-log-extra
(default #f))
+ (host-name gitolite-rc-file-host-name
+ (default #f))
(roles gitolite-rc-file-roles
(default '(("READERS" . 1)
("WRITERS" . 1))))
@@ -273,7 +276,7 @@ access to exported repositories under @file{/srv/git}."
(file <gitolite-rc-file>) system target)
(match-record file <gitolite-rc-file>
( umask local-code unsafe-pattern git-config-keys log-extra
- roles enable)
+ host-name roles enable)
(apply text-file* "gitolite.rc"
`("%RC = (\n"
" UMASK => " ,(format #f "~4,'0o" umask) ",\n"
@@ -284,6 +287,9 @@ access to exported repositories under @file{/srv/git}."
,(if log-extra
" LOG_EXTRA => 1,\n"
"")
+ ,(if host-name
+ (simple-format #f " HOSTNAME => \"~A\",\n" host-name)
+ "")
" ROLES => {\n"
,@(map (match-lambda
((role . value)