;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; ;;; 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 . ;;; Commentary: ;;; ;;; This file defines a manifest with a selection of packages for Cuirass to ;;; build for GNU/Hurd. ;;; ;;; Code: (use-modules (gnu) (gnu system hurd) (guix packages) (guix utils) (ice-9 match) (srfi srfi-1)) (use-package-modules autotools base bootloaders commencement compression file gawk gdb gettext gtk guile guile-xyz hurd less m4 package-management python ssh texinfo tls version-control) (define (input->package input) "Return the INPUT as package, or #f." (match input ((label (and (? package?) package)) package) ((label (and (? package?) package . output)) (cons package output)) (_ #f))) (define guix-dependencies (filter-map input->package (fold alist-delete (package-direct-inputs guix) '("glibc-utf8-locales" "graphviz" "po4a")))) (define (package-without-tests p) (package/inherit p (arguments (substitute-keyword-arguments (package-arguments p) ((#:tests? _ #f) #f))))) (packages->manifest (cons* ;; where it all starts hello ;; development utililities diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz ;; development packages autoconf automake libtool texinfo gcc-toolchain gdb-minimal git-minimal gnu-make gettext-minimal python-minimal guile-3.0 guile-2.2 guile-2.0 guile-readline guile-colorized guile-gnutls guile-fibers guile-json-4 ;; ourselves! (package-without-tests guix) ;; system grub-minimal grub ;; system reconfigure gdk-pixbuf (append guix-dependencies %base-packages/hurd))) scm
AgeCommit message (Expand)Author
2020-09-29secret-service: Add proper logging procedure and log to syslog....* gnu/build/secret-service.scm (log): New macro. (secret-service-send-secrets, secret-service-receive-secrets): Use it instead of raw 'format' calls. Ludovic Courtès
2020-09-29services: secret-service: Add initial client/server handshake....This allows the client running on the host to know when it's actually connect to the server running in the guest. Failing that, the client would connect right away to QEMU and send secrets even though the server is not running yet in the guest, which is unreliable. * gnu/build/secret-service.scm (secret-service-send-secrets): Add #:handshake-timeout. Read from SOCK an initial message from the server. Return #f on error. (secret-service-receive-secrets): Send 'secret-service-server' message to the client. Close SOCK upon timeout. * gnu/services/virtualization.scm (hurd-vm-shepherd-service): 'start' method returns #f when 'secret-service-send-secrets' returns #f. Ludovic Courtès
2020-09-29secret-service: Fix file port leak in 'secret-service-send-secrets'....* gnu/build/secret-service.scm (secret-service-send-secrets): Use 'call-with-input-file' instead of 'open-input-file'. Ludovic Courtès
2020-09-29secret-service: Add a timeout when waiting for a client....* gnu/build/secret-service.scm (secret-service-receive-secrets) [wait-for-client]: Call 'select' with a 60s timeout before 'accept'. Return #f upon timeout. [read-secrets]: Return FILES on success. Adjust caller of 'wait-for-client' to handle #f. Ludovic Courtès
2020-09-29secret-service: Clarify the origin of messages....* gnu/build/secret-service.scm (secret-service-send-secrets) (secret-service-receive-secrets): Prefix messages by "secret service". Ludovic Courtès
2020-09-01services: Add secret-service-type....This adds a "secret-service" that can be added to a Childhurd VM to receive out-of-band secrets (keys) sent from the host. Co-authored-by: Ludovic Courtès <ludo@gnu.org> * gnu/services/virtualization.scm (secret-service-activation): New procedure. (secret-service-type): New variable. * gnu/build/secret-service.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Jan (janneke) Nieuwenhuizen