aboutsummaryrefslogtreecommitdiff
path: root/src/property/chroot.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-04-29 13:15:08 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-04-29 16:08:56 -0700
commit6279bd8b9d742b858a095fbca1159b2cf1df2431 (patch)
tree866d96467eb262f896e98eb9032ef24124e7907c /src/property/chroot.lisp
parent2f4355eda82335a7eef5696241f5ff5f6ede3a52 (diff)
downloadconsfigurator-6279bd8b9d742b858a095fbca1159b2cf1df2431.tar.gz
move OS::ARCHITECTURE slot from OS:LINUX to OS:DEBIANLIKE
We already use this information in the sense of a distribution architecture rather than a kernel architecture, and the latter are differently grained. We might later want to have slots for both. Make OS:SUPPORTS-ARCH-P take OS objects as this simplifies existing usage. Restore the ORIGINAL-OS parameter to INSTALLER:CLEANLY-INSTALLED-ONCE. It was previously replaced in 446b8f4a8ef78cb4605cfb551255bb455be411f0. CHROOT::%OS-BOOTSTRAPPER-INSTALLED does not need the original host's architecture in most cases, and accepting an arbitrary propapp means we don't force the use of PACKAGE:INSTALLED. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/chroot.lisp')
-rw-r--r--src/property/chroot.lisp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/property/chroot.lisp b/src/property/chroot.lisp
index a61a9f5..e2b032f 100644
--- a/src/property/chroot.lisp
+++ b/src/property/chroot.lisp
@@ -36,7 +36,7 @@
(args (list "debootstrap"
(plist-to-long-options
(remove-from-plist options :apt.proxy :apt.mirrors))
- (strcat "--arch=" (os:debian-architecture os))
+ (strcat "--arch=" (os:debian-architecture-string os))
(os:debian-suite os)
root)))
options
@@ -72,9 +72,11 @@
;; %DEBOOTSTRAP-MANUALLY-INSTALLED for the case where the
;; architectures do not match because ensuring that debootstrap(8)
;; will be able to bootstrap a foreign arch is more involved.
- ,@(and (not (os:supports-arch-p
- (get-hostattrs-car :os) (os:linux-architecture
- (get-hostattrs-car :os host))))
+ ,@(and (compute-applicable-methods
+ #'os:supports-arch-p
+ (list (get-hostattrs-car :os) (get-hostattrs-car :os host)))
+ (not (os:supports-arch-p
+ (get-hostattrs-car :os) (get-hostattrs-car :os host)))
'((os:etypecase
(debianlike (apt:installed "qemu-user-static")))))))))