aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-07-12 13:27:08 +0100
committerChristopher Baines <mail@cbaines.net>2023-07-12 13:27:08 +0100
commit258f6542202cbb50b18d87f3a890ba80d4586980 (patch)
tree3ad2c1486de3629e92fef1d7389d91b586f33abe
parent20b26bd48e9a2a4aaaa5ba28a60cc888e1c0520c (diff)
downloadbffe-258f6542202cbb50b18d87f3a890ba80d4586980.tar
bffe-258f6542202cbb50b18d87f3a890ba80d4586980.tar.gz
Remove the bffe script
The way to run the bffe is calling the run-bffe-service procedure, that provide the easiest way of configuring and customising the behaviour directly in Guile.
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac1
-rw-r--r--scripts/bffe.in127
3 files changed, 0 insertions, 131 deletions
diff --git a/Makefile.am b/Makefile.am
index 72199b1..8a195d6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,9 +20,6 @@
include guile.am
-bin_SCRIPTS = \
- scripts/bffe
-
moddir = $(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION)
godir = $(prefix)/lib/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
assetsdir = $(datadir)/@PACKAGE@
diff --git a/configure.ac b/configure.ac
index 6b5f15d..8c00a94 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,6 @@ AC_PATH_PROG([guix], [guix])
dnl Substitute placeholders to generate these target files
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([bffe/config.scm])
-AC_CONFIG_FILES([scripts/bffe], [chmod +x scripts/bffe])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_OUTPUT
diff --git a/scripts/bffe.in b/scripts/bffe.in
deleted file mode 100644
index 8febcc9..0000000
--- a/scripts/bffe.in
+++ /dev/null
@@ -1,127 +0,0 @@
-#!@GUILE@ --no-auto-compile
--*- scheme -*-
--*- geiser-scheme-implementation: guile -*-
-!#
-;;; bffe - Build farm front-end
-;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
-;;;
-;;; This file is part of bffe.
-;;;
-;;; bffe 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.
-;;;
-;;; bffe 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 the bffe. If not, see <http://www.gnu.org/licenses/>.
-
-(use-modules (srfi srfi-1)
- (srfi srfi-37)
- (ice-9 match)
- (ice-9 textual-ports)
- (system repl server)
- (system repl repl)
- (gcrypt pk-crypto)
- (guix pki)
- (prometheus)
- (bffe))
-
-(define %options
- ;; Specifications of the command-line options
- (list (option '("repl") #f #t
- (lambda (opt name arg result)
- (alist-cons 'repl #t (alist-delete 'repl result))))
- (option '("pid-file") #t #f
- (lambda (opt name arg result)
- (alist-cons 'pid-file
- arg
- result)))
- (option '("port") #t #f
- (lambda (opt name arg result)
- (alist-cons 'port
- (string->number arg)
- (alist-delete 'port result))))
- (option '("host") #t #f
- (lambda (opt name arg result)
- (alist-cons 'host
- arg
- (alist-delete 'host result))))
- (option '("title") #t #f
- (lambda (opt name arg result)
- (alist-cons 'title
- arg
- result)))
- (option '("event-source") #t #f
- (lambda (opt name arg result)
- (alist-cons 'event-source
- arg
- result)))
- (option '("template-directory") #t #f
- (lambda (opt name arg result)
- (alist-cons 'template-directory
- arg
- result)))))
-
-(define %default-options
- ;; Alist of default option values
- `((port . 8767)
- (host . "0.0.0.0")
-
- (assets-directory . ,(let ((install-dir
- "@prefix@/share/bffe/assets")
- (dev-dir
- (string-append (getcwd) "/assets")))
- (if (file-exists? install-dir)
- install-dir
- dev-dir)))
- (title . "Build farm")
- (event-source . "http://localhost:8746")
- (template-directory . ,(let ((install-dir
- "@prefix@/share/bffe/templates")
- (dev-dir
- (string-append (getcwd) "/templates")))
- (if (file-exists? install-dir)
- install-dir
- dev-dir)))))
-
-(define (parse-options args)
- (args-fold
- args %options
- (lambda (opt name arg result)
- (error "unrecognized option" name))
- (lambda (arg result)
- (error "extraneous argument" arg))
- %default-options))
-
-(setvbuf (current-output-port) 'line)
-(setvbuf (current-error-port) 'line)
-
-(let ((opts (parse-options (cdr (program-arguments)))))
- (let ((pid-file (assq-ref opts 'pid-file)))
- (when pid-file
- (call-with-output-file pid-file
- (lambda (port)
- (simple-format port "~A\n" (getpid))))))
-
- ;; Provide some visual space between the startup output and the
- ;; server starting
- (simple-format #t "\n\nStarting the server on http://~A:~A/\n\n"
- (assq-ref opts 'host)
- (assq-ref opts 'port))
-
- (run-bffe-service
- #:web-server-args
- (list #:port (assq-ref opts 'port)
- #:host (assq-ref opts 'host)
- #:assets-directory (assq-ref opts 'assets-directory)
- #:events-source (assq-ref opts 'event-source)
- #:controller-args
- (list #:title (assq-ref opts 'title)
- #:template-directory (assq-ref opts 'template-directory)))))