diff options
author | Alexey Abramov <levenson@mmer.org> | 2022-10-19 11:34:31 +0200 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-11-07 20:29:14 +0100 |
commit | 73b35195681f8367e27ebf2a239c2d4790fb2304 (patch) | |
tree | 07487020b46d88ad4611b74d5cf8cf91ce0fb4bf | |
parent | b670dc6c8a38a237308ae8243ac311b63c533290 (diff) | |
download | guix-73b35195681f8367e27ebf2a239c2d4790fb2304.tar.gz |
services: gitolite: Add local-code configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add local-code field. (gitolite-rc-file-compiler): Serialize the field. * doc/guix.texi: Document it. Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r-- | doc/guix.texi | 9 | ||||
-rw-r--r-- | gnu/services/version-control.scm | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 1eb47e31cf..3f76184495 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -35736,6 +35736,15 @@ A value like @code{#o0027} will give read access to the group used by Gitolite (by default: @code{git}). This is necessary when using Gitolite with software like cgit or gitweb. +@item @code{local-code} (default: @code{"$rc@{GL_ADMIN_BASE@}/local"}) +Allows you to add your own non-core programs, or even override the +shipped ones with your own. + +Please supply the FULL path to this variable. By default, directory +called "local" in your gitolite clone is used, providing the benefits of +versioning them as well as making changes to them without having to log +on to the server. + @item @code{unsafe-pattern} (default: @code{#f}) An optional Perl regular expression for catching unsafe configurations in the configuration file. See diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index cd8763f5ea..b6b78e504e 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -54,6 +54,7 @@ <gitolite-rc-file> gitolite-rc-file + gitolite-rc-file-local-code gitolite-rc-file-umask gitolite-rc-file-unsafe-pattern gitolite-rc-file-git-config-keys @@ -242,6 +243,8 @@ access to exported repositories under @file{/srv/git}." gitolite-rc-file? (umask gitolite-rc-file-umask (default #o0077)) + (local-code gitolite-rc-file-local-code + (default "$rc{GL_ADMIN_BASE}/local")) (unsafe-pattern gitolite-rc-file-unsafe-pattern (default #f)) (git-config-keys gitolite-rc-file-git-config-keys @@ -263,11 +266,14 @@ access to exported repositories under @file{/srv/git}." (define-gexp-compiler (gitolite-rc-file-compiler (file <gitolite-rc-file>) system target) (match file - (($ <gitolite-rc-file> umask unsafe-pattern git-config-keys roles enable) + (($ <gitolite-rc-file> umask local-code unsafe-pattern git-config-keys roles enable) (apply text-file* "gitolite.rc" `("%RC = (\n" " UMASK => " ,(format #f "~4,'0o" umask) ",\n" " GIT_CONFIG_KEYS => '" ,git-config-keys "',\n" + ,(if local-code + (simple-format #f " LOCAL_CODE => \"~A\",\n" local-code) + "") " ROLES => {\n" ,@(map (match-lambda ((role . value) |