;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-search-paths) #:use-module (guix search-paths) #:use-module (ice-9 match) #:use-module (srfi srfi-64)) (define %top-srcdir (dirname (search-path %load-path "guix.scm"))) (test-begin "search-paths") (test-equal "evaluate-search-paths, separator is #f" (string-append %top-srcdir "/gnu/packages/aux-files/linux-libre") ;; The following search path spec should evaluate to a single item: the ;; first directory that matches the "-linux$" pattern in ;; gnu/packages/bootstrap. (let ((spec (search-path-specification (variable "CHBOUIB") (files '("gnu/packages/aux-files")) (file-type 'directory) (separator #f) (file-pattern "^linux")))) (match (evaluate-search-paths (list spec) (list %top-srcdir)) (((spec* . value)) (and (eq? spec* spec) value))))) (test-end "search-paths") t name='qt'>
AgeCommit message (Expand)Author
2024-03-30services: postgresql: Simplify execution of ‘initdb’....* gnu/services/databases.scm (postgresql-activation): Replace ‘primitive-exit’ + ‘system*’ with ‘execl’. Change-Id: I491fd3093f67af59f240438d7d6123e769e4ec1e Ludovic Courtès
2024-03-30services: postgresql: Don't initdb when directory exists....* gnu/services/databases.scm (postgresql-activation): Check if directory exists. Reviewed-by: Dale Mellor <guix-devel-0brg6b@rdmp.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Id563a3e8df2cb5b805e64cd8319303c65d308c69 Robert Vollmert
2023-12-22services: Remove unnecessary references to (gnu build shepherd)....* gnu/services/databases.scm (memcached-shepherd-service): Remove ‘with-imported-modules’ form and ‘modules’ field. * gnu/services/security-token.scm (pcscd-shepherd-service): Remove ‘with-imported-modules’ form. * gnu/services/web.scm (hpcguix-web-shepherd-service): Likewise. Change-Id: Ieb817508f1751e0c1ff551a0e078789a4a813c1c Ludovic Courtès
2023-08-16services: posgresql: Add option to specify UID/GID for postgres user....Add 'createAccount?', 'uid' and 'gid' to <postgresql-configuation>. Unlike other system daemons, the PostgreSQL data directory is typically meant to persist across 'guix system reconfigure' and once created, you don't want it's UID or GID to change anymore. Furthermore, if you want to place the data directory on a network share and use NFSv4 with idmap, then the 'postgres' user must exist when the 'rpc.idmapd' daemon is launched; prior to mounting the share. And it needs to be possible to mount the share without configuring PostgreSQL. With NFSv3, the UID and GID typically needs to match those on the server. The added options allow for both of these scenarios: You can either create the user in (operating-system (users)) completely independently of the 'postgresql-service-type' (for instance to get your NFS setup working first prior to configuring your databases) - or "pin" it's UID / GID values. * gnu/services/databases.scm (<postgresql-configuration>)[create-account?] [uid, gid]: New fields. (%postgresql-accounts): Remove. (create-postgresql-account): New procedure. (postgresql-service-type)[extensions]: Use it. * doc/guix.texi (Database Services): Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Martin Baulig