aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-08-09 10:46:07 +0200
committerLudovic Courtès <ludo@gnu.org>2022-08-09 15:16:06 +0200
commit95a03aa5c507d48e2cde19ea007b8f90a4e0108a (patch)
treefa93b5e9f4cca5eee91f00ee30538e96705dedd2
parent57f1892d366ea28083391577f90c4aa06b90aaf1 (diff)
downloadguix-95a03aa5c507d48e2cde19ea007b8f90a4e0108a.tar
guix-95a03aa5c507d48e2cde19ea007b8f90a4e0108a.tar.gz
system: install: Always use 'current-guix'.
Fixes <https://issues.guix.gnu.org/53210>. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/system/install.scm (%installation-services): Set 'guix' to use (current-guix) in 'guix-configuration'. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/tests/install.scm (operating-system-with-current-guix): Remove. (run-install, installation-os-for-gui-tests): Remove its uses. * Makefile.am (release): Remove intermediate use of 'update-guix-package.scm' and subsequent 'git commit' invocation.
-rw-r--r--Makefile.am11
-rw-r--r--gnu/system/examples/vm-image.tmpl9
-rw-r--r--gnu/system/install.scm14
-rw-r--r--gnu/tests/install.scm15
4 files changed, 23 insertions, 26 deletions
diff --git a/Makefile.am b/Makefile.am
index f707b930b2..ac6df11c85 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -977,14 +977,9 @@ release: dist-with-updated-version all
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
-# Bump the Guix package version and build it (again).
- GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
- $(top_builddir)/pre-inst-env "$(GUILE)" \
- $(top_srcdir)/build-aux/update-guix-package.scm \
- "`git rev-parse HEAD`"
- git add $(top_srcdir)/gnu/packages/package-management.scm
- git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
- $(top_builddir)/pre-inst-env guix build guix \
+# Build 'current-guix' to speed things up for the next step.
+ $(top_builddir)/pre-inst-env guix build \
+ -e '((@ (gnu packages package-management) current-guix))' \
$(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the ISO installation images.
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index ccb0b045db..c8449c6e95 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -123,7 +123,14 @@ root ALL=(ALL) ALL
(login-service-type config =>
(login-configuration
(inherit config)
- (motd vm-image-motd)))))))
+ (motd vm-image-motd)))
+
+ ;; Install and run the current Guix rather than an older
+ ;; snapshot.
+ (guix-service-type config =>
+ (guix-configuration
+ (inherit config)
+ (guix (current-guix))))))))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index a3646b1d54..32b9f52e04 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -357,11 +357,17 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
;; network. It can be faster than fetching from remote servers.
(service avahi-service-type)
- ;; The build daemon. Register the default substitute server key(s)
- ;; as trusted to allow the installation process to use substitutes by
- ;; default.
+ ;; The build daemon.
(service guix-service-type
- (guix-configuration (authorize-key? #t)))
+ (guix-configuration
+ ;; Register the default substitute server key(s) as
+ ;; trusted to allow the installation process to use
+ ;; substitutes by default.
+ (authorize-key? #t)
+
+ ;; Install and run the current Guix rather than an older
+ ;; snapshot.
+ (guix (current-guix))))
;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 3754966140..fbb97d451c 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -152,15 +152,6 @@
(guix combinators)))))
%base-services))))
-(define (operating-system-with-current-guix os)
- "Return a variant of OS that uses the current Guix."
- (operating-system
- (inherit os)
- (services (modify-services (operating-system-user-services os)
- (guix-service-type config =>
- (guix-configuration
- (inherit config)
- (guix (current-guix))))))))
(define MiB (expt 2 20))
@@ -232,8 +223,7 @@ reboot\n")
;; Since the image has no network access, use the
;; current Guix so the store items we need are in
;; the image and add packages provided.
- (inherit (operating-system-with-current-guix
- installation-os))
+ (inherit installation-os)
(kernel-arguments '("console=ttyS0")))
#:imported-modules '((gnu services herd)
(gnu installer tests)
@@ -1865,8 +1855,7 @@ build (current-guix) and then store a couple of full system images.")
(operating-system
(inherit (operating-system-with-console-syslog
(operating-system-add-packages
- (operating-system-with-current-guix
- installation-os)
+ installation-os
%extra-packages)))
(kernel-arguments '("console=ttyS0")))
#:imported-modules '((gnu services herd)