;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2022 Gabriel Wicki ;;; ;;; 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 (gnu system images pine64) #:use-module (gnu bootloader) #:use-module (gnu bootloader u-boot) #:use-module (gnu image) #:use-module (gnu packages linux) #:use-module (gnu packages certs) #:use-module (guix platforms arm) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services networking) #:use-module (gnu system) #:use-module (gnu system file-systems) #:use-module (gnu system image) #:use-module (srfi srfi-26) #:export (pine64-barebones-os pine64-image-type pine64-barebones-raw-image)) (define pine64-barebones-os (operating-system (host-name "vignemale") (timezone "Europe/Paris") (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-pine64-lts-bootloader) (targets '("/dev/vda")))) (initrd-modules '()) (kernel linux-libre-arm64-generic) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4")) %base-file-systems)) (services (cons* (service agetty-service-type (agetty-configuration (extra-options '("-L")) ; no carrier detect (baud-rate "115200") (term "vt100") (tty "ttyS0"))) (service dhcp-client-service-type) (service ntp-service-type) %base-services)))) (define pine64-image-type (image-type (name 'pine64-raw) (constructor (lambda (os) (image (inherit (raw-with-offset-disk-image)) (operating-system os) (platform aarch64-linux)))))) (define pine64-barebones-raw-image (image (inherit (os+platform->image pine64-barebones-os aarch64-linux #:type pine64-image-type)) (name 'pine64-barebones-raw-image))) ;; Return the default image. pine64-barebones-raw-image 48e4085a3b3388332'>tests: Allow 'tests/git-authenticate.scm' to run when git/gpg is missing.Ludovic Courtès Fixes <https://bugs.gnu.org/42077>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. The typo was introduced in 7b06781a58326f251c4af6340379d68e3cb98adb. * tests/git-authenticate.scm <top level>: Remove call to 'which' around (gpg+git-available?). 2020-06-20tests: Skip tests that requires gpg when gpg is unavailable.Ludovic Courtès Partly fixes <https://bugs.gnu.org/41932>. Reported by Simen Endsjø <simendsjo@gmail.com>. * tests/git-authenticate.scm ("signed commits, SHA1 signature"): Use 'gpg+git-available?' in skip guard. 2020-06-16tests: Move OpenPGP helpers to (guix tests gnupg).Ludovic Courtès * tests/git-authenticate.scm (key-id): Remove. (%ed25519-public-key-file, %ed25519-secret-key-file) (%ed25519bis-public-key-file, %ed25519bis-secret-key-file) (read-openpgp-packet, key-fingerprint): Move to... * guix/tests/gnupg.scm: ... here. 2020-06-12git-authenticate: Disallow SHA1 (and MD5) signatures.Ludovic Courtès * guix/git-authenticate.scm (commit-signing-key): Add #:disallowed-hash-algorithms and honor it. (authenticate-commit)[recent-commit?]: New variable. Pass #:disallowed-hash-algorithms to 'commit-signing-key'. * tests/git-authenticate.scm ("signed commits, SHA1 signature"): New test. 2020-06-07git-authenticate: Prevent removal of '.guix-authorizations'.Ludovic Courtès * guix/git-authenticate.scm (commit-authorized-keys) [parents-have-authorizations-file?, assert-parents-lack-authorizations]: New procedures. Use the latter before returning DEFAULT-AUTHORIZATIONS. * guix/git.scm (false-if-git-not-found): Export. * guix/tests/git.scm (populate-git-repository): Add 'remove' clause. * tests/git-authenticate.scm ("signed commits, .guix-authorizations removed"): New test. 2020-06-05git-authenticate: Add tests.Ludovic Courtès * guix/tests/git.scm (call-with-environment-variables) (with-environment-variables): Remove. * guix/tests/git.scm (populate-git-repository): Add clauses for signed commits and signed merges. * guix/tests/gnupg.scm: New file. * tests/git-authenticate.scm: New file. * tests/ed25519bis.key, tests/ed25519bis.sec: New files. * Makefile.am (dist_noinst_DATA): Add 'guix/tests/gnupg.scm'. (SCM_TESTS): Add 'tests/git-authenticate.scm'. (EXTRA_DIST): Add tests/ed25519bis.{key,sec}.