Subject: [bug#67811] [PATCH 1/3] services: guix: Remove guix-build-coordinator-queue-builds service.

From: Christopher Baines <[email-masked]>
Date: Wed, 13 Dec 2023 12:48:47 +0000

This has been effectively replaced by the bffe.

* gnu/services/guix.scm (<guix-data-service-configuration>): Remove record
type.
(guix-build-coordinator-queue-builds-shepherd-services,
guix-build-coordinator-queue-builds-activation,
guix-build-coordinator-queue-builds-account): Remove procedures
(guix-build-coordinator-queue-builds-service-type): Remove service type.

Change-Id: I2a233fb10b12cc9bfddebaa35928b25c243f82a2
---
 doc/guix.texi         |  52 -----------------
 gnu/services/guix.scm | 133 ------------------------------------------
 2 files changed, 185 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 7dde9b727b..60a62fa3f0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -38606,58 +38606,6 @@ Guix Services
 @end table
 @end deftp
 
-The Guix Build Coordinator package contains a script to query an
-instance of the Guix Data Service for derivations to build, and then
-submit builds for those derivations to the coordinator.  The service
-type below assists in running this script.  This is an additional tool
-that may be useful when building derivations contained within an
-instance of the Guix Data Service.
-
-@defvar guix-build-coordinator-queue-builds-service-type
-Service type for the
-guix-build-coordinator-queue-builds-from-guix-data-service script.  Its
-value must be a @code{guix-build-coordinator-queue-builds-configuration}
-object.
-@end defvar
-
-@deftp {Data Type} guix-build-coordinator-queue-builds-configuration
-Data type representing the options to the queue builds from guix data
-service script.
-
-@table @asis
-@item @code{package} (default: @code{guix-build-coordinator})
-The Guix Build Coordinator package to use.
-
-@item @code{user} (default: @code{"guix-build-coordinator-queue-builds"})
-The system user to run the service as.
-
-@item @code{coordinator} (default: @code{"http://localhost:8746"})
-The URI to use when connecting to the coordinator.
-
-@item @code{systems} (default: @code{#f})
-The systems for which to fetch derivations to build.
-
-@item @code{systems-and-targets} (default: @code{#f})
-An association list of system and target pairs for which to fetch
-derivations to build.
-
-@item @code{guix-data-service} (default: @code{"https://data.guix.gnu.org"})
-The Guix Data Service instance from which to query to find out about
-derivations to build.
-
-@item @code{guix-data-service-build-server-id} (default: @code{#f})
-The Guix Data Service build server ID corresponding to the builds being
-submitted.  Providing this speeds up the submitting of builds as
-derivations that have already been submitted can be skipped before
-asking the coordinator to build them.
-
-@item @code{processed-commits-file} (default: @code{"/var/cache/guix-build-coordinator-queue-builds/processed-commits"})
-A file to record which commits have been processed, to avoid needlessly
-processing them again if the service is restarted.
-
-@end table
-@end deftp
-
 @subsubheading Guix Data Service
 The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores
 and provides data about GNU Guix.  This includes information about
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 389903451a..ff6cce507e 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -88,19 +88,6 @@ (define-module (gnu services guix)
 
             guix-build-coordinator-agent-service-type
 
-            guix-build-coordinator-queue-builds-configuration
-            guix-build-coordinator-queue-builds-configuration?
-            guix-build-coordinator-queue-builds-configuration-package
-            guix-build-coordinator-queue-builds-configuration-user
-            guix-build-coordinator-queue-builds-coordinator
-            guix-build-coordinator-queue-builds-configuration-systems
-            guix-build-coordinator-queue-builds-configuration-system-and-targets
-            guix-build-coordinator-queue-builds-configuration-guix-data-service
-            guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id
-            guix-build-coordinator-queue-builds-configuration-processed-commits-file
-
-            guix-build-coordinator-queue-builds-service-type
-
             <guix-data-service-configuration>
             guix-data-service-configuration
             guix-data-service-configuration?
@@ -250,31 +237,6 @@ (define-record-type* <guix-build-coordinator-agent-dynamic-auth-with-file>
   (agent-name      guix-build-coordinator-agent-dynamic-auth-with-file-agent-name)
   (token-file      guix-build-coordinator-agent-dynamic-auth-with-file-token-file))
 
-(define-record-type* <guix-build-coordinator-queue-builds-configuration>
-  guix-build-coordinator-queue-builds-configuration
-  make-guix-build-coordinator-queue-builds-configuration
-  guix-build-coordinator-queue-builds-configuration?
-  (package              guix-build-coordinator-queue-builds-configuration-package
-                        (default guix-build-coordinator))
-  (user                 guix-build-coordinator-queue-builds-configuration-user
-                        (default "guix-build-coordinator-queue-builds"))
-  (coordinator          guix-build-coordinator-queue-builds-coordinator
-                        (default "http://localhost:8746"))
-  (systems              guix-build-coordinator-queue-builds-configuration-systems
-                        (default #f))
-  (systems-and-targets
-   guix-build-coordinator-queue-builds-configuration-system-and-targets
-   (default #f))
-  (guix-data-service
-   guix-build-coordinator-queue-builds-configuration-guix-data-service
-   (default "https://data.guix.gnu.org"))
-  (guix-data-service-build-server-id
-   guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id
-   (default #f))
-  (processed-commits-file
-   guix-build-coordinator-queue-builds-configuration-processed-commits-file
-   (default "/var/cache/guix-build-coordinator-queue-builds/processed-commits")))
-
 (define* (make-guix-build-coordinator-start-script database-uri-string
                                                    allocation-strategy
                                                    pid-file
@@ -559,101 +521,6 @@ (define guix-build-coordinator-agent-service-type
    (description
     "Run a Guix Build Coordinator agent.")))
 
-(define (guix-build-coordinator-queue-builds-shepherd-services config)
-  (match-record config <guix-build-coordinator-queue-builds-configuration>
-    (package user coordinator systems systems-and-targets
-             guix-data-service
-             guix-data-service-build-server-id
-             processed-commits-file)
-    (list
-     (shepherd-service
-      (documentation "Guix Build Coordinator queue builds from Guix Data Service")
-      (provision '(guix-build-coordinator-queue-builds))
-      (requirement '(networking))
-      (start
-       #~(lambda _
-           (parameterize ((%current-logfile-date-format ""))
-             (fork+exec-command
-              (list
-               #$(file-append
-                  package
-                  "/bin/guix-build-coordinator-queue-builds-from-guix-data-service")
-               #$(string-append "--coordinator=" coordinator)
-               #$@(map (lambda (system)
-                         (string-append "--system=" system))
-                       (or systems '()))
-               #$@(map (match-lambda
-                         ((system . target)
-                          (string-append "--system-and-target=" system "=" target)))
-                       (or systems-and-targets '()))
-               #$@(if guix-data-service
-                      #~(#$(string-append "--guix-data-service=" guix-data-service))
-                      #~())
-               #$@(if guix-data-service-build-server-id
-                      #~(#$(simple-format
-                            #f
-                            "--guix-data-service-build-server-id=~A"
-                            guix-data-service-build-server-id))
-                      #~())
-               #$@(if processed-commits-file
-                      #~(#$(string-append "--processed-commits-file="
-                                          processed-commits-file))
-                      #~()))
-              #:user #$user
-              #:environment-variables
-              `(,(string-append
-                  "GUIX_LOCPATH="
-                  #$(libc-utf8-locales-for-target) "/lib/locale")
-                "LC_ALL=en_US.utf8")
-              #:log-file "/var/log/guix-build-coordinator/queue-builds.log"))))
-      (stop #~(make-kill-destructor))
-      (modules
-       `((shepherd comm)
-         ,@%default-modules))))))
-
-(define (guix-build-coordinator-queue-builds-activation config)
-  #~(begin
-      (use-modules (guix build utils))
-
-      (define %user
-        (getpw #$(guix-build-coordinator-queue-builds-configuration-user
-                  config)))
-
-      (mkdir-p "/var/log/guix-build-coordinator")
-
-      ;; Allow writing the processed commits file
-      (mkdir-p "/var/cache/guix-build-coordinator-queue-builds")
-      (chown "/var/cache/guix-build-coordinator-queue-builds"
-             (passwd:uid %user)
-             (passwd:gid %user))))
-
-(define (guix-build-coordinator-queue-builds-account config)
-  (list (user-account
-         (name (guix-build-coordinator-queue-builds-configuration-user config))
-         (group "nogroup")
-         (system? #t)
-         (comment "Guix Build Coordinator queue-builds user")
-         (home-directory "/var/empty")
-         (shell (file-append shadow "/sbin/nologin")))))
-
-(define guix-build-coordinator-queue-builds-service-type
-  (service-type
-   (name 'guix-build-coordinator-queue-builds)
-   (extensions
-    (list
-     (service-extension shepherd-root-service-type
-                        guix-build-coordinator-queue-builds-shepherd-services)
-     (service-extension activation-service-type
-                        guix-build-coordinator-queue-builds-activation)
-     (service-extension account-service-type
-                        guix-build-coordinator-queue-builds-account)))
-   (description
-    "Run the guix-build-coordinator-queue-builds-from-guix-data-service
-script.
-
-This is a script to assist in having the Guix Build Coordinator build
-derivations stored in an instance of the Guix Data Service.")))
-
 
 ;;;
 ;;; Guix Data Service

base-commit: 06f25a9a85be1bbe7a709e58ce41c1a834e5f1ae
-- 
2.41.0