;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; 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-bournish) #:use-module (guix build bournish) #:use-module (system base compile) #:use-module (system base language) #:use-module (srfi srfi-64)) (test-begin "bournish") (test-equal "single statement" '(chdir "/foo") (read-and-compile (open-input-string "cd /foo") #:from %bournish-language #:to 'scheme)) (test-equal "multiple statements" '(begin (chdir "/foo") (getcwd) ((@@ (guix build bournish) ls-command-implementation))) (read-and-compile (open-input-string "cd /foo\npwd\nls") #:from %bournish-language #:to 'scheme)) (test-equal "rm" '(for-each delete-file (list "foo" "bar")) (read-and-compile (open-input-string "rm foo bar\n") #:from %bournish-language #:to 'scheme)) (test-equal "rm -r" '(for-each (@ (guix build utils) delete-file-recursively) (list "/foo" "/bar")) (read-and-compile (open-input-string "rm -r /foo /bar\n") #:from %bournish-language #:to 'scheme)) (test-end "bournish") ss='txt' type='search' size='10' name='q' value=''/>
AgeCommit message (Expand)Author
2024-11-14guix-install.sh: Run the uninstall even if already partially done...Removing users, groups or Systemd units fails if they are already absent, causing the uninstall script to exit. The goal here is to make the uninstall always run entirely, whatever parts are already done. * etc/guix-install.sh (sys_delete_build_user): Test if users and groups exist before deleting them. (sys_delete_guix_daemon): Test if /etc/systemd/system/guix-daemon.service file exists before removing the matching Systemd unit. Change-Id: Ibffb1f1b39de675542fb8057af21ecaea1b53d4c Signed-off-by: Ludovic Courtès <ludo@gnu.org> David Boilleau
2024-11-14guix-install.sh: Replace `ROOT_HOME` with `~root`...The `ROOT_HOME` variable is natively absent from some systems, however the form `~root`, which is used by the install functions in this same file, works. * etc/guix-install.sh (sys_delete_store, sys_delete_guix_daemon) (sys_delete_user_profiles): Replace `ROOT_HOME` with `~root`. Change-Id: Ia867e271ac4c5557d9708235fee028bccce68342 Signed-off-by: Ludovic Courtès <ludo@gnu.org> David Boilleau
2024-11-14guix-install.sh: Test if gnu-store.mount exists before removing the unit...The file /etc/systemd/system/gnu-store.mount has permissions 664, since the `install_unit()` function installed it so. So the test prior to removing the matching Systemd unit should not be wether this file is executable, otherwise it will always fail. The relevant test is on the file existence. * etc/guix-install.sh (sys_delete_guix_daemon): Test if gnu-store.mount file exists rather than if it is executable. Change-Id: Ic7cc186618b0b92fccf49a3b27805756a9126b89 Signed-off-by: Ludovic Courtès <ludo@gnu.org> David Boilleau