aboutsummaryrefslogtreecommitdiff
path: root/src/propspec.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-01 14:46:36 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-01 14:47:27 -0700
commit5b83e1693cebb8c037da5cbbffac24b90c46caf4 (patch)
tree5652f221995031123f5a4cd7bbaabaaec44544de /src/propspec.lisp
parentbe2b15288d2d979345c3893c1fadd7650684fea5 (diff)
downloadconsfigurator-5b83e1693cebb8c037da5cbbffac24b90c46caf4.tar.gz
bind a variable to block trying to load ASDF systems in remote Lisps
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/propspec.lisp')
-rw-r--r--src/propspec.lisp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/propspec.lisp b/src/propspec.lisp
index 628c1e0..4ebe92c 100644
--- a/src/propspec.lisp
+++ b/src/propspec.lisp
@@ -169,15 +169,22 @@ an atomic property application."
(t
propapp))))
+(defvar *remote-lisp* nil
+ "Whether this Lisp is one started up within a call to DEPLOY*.")
+
(defmethod eval-propspec ((propspec propspec))
"Apply properties as specified by PROPSPEC."
(when (and (subtypep (class-of *connection*) 'posix-connection)
(eq :lisp (propspec->type propspec)))
(error "Cannot apply :LISP properties using a POSIX connection"))
- (loop for system in (slot-value propspec 'systems)
- unless (asdf:component-loaded-p system)
- do (restart-case (asdf:load-system system)
- (continue-without-system () nil)))
+ ;; Don't try to load systems if we are a remote Lisp, as we don't upload the
+ ;; .asd files, and we don't want to load out of /usr/share/common-lisp as we
+ ;; might get a different version of the library at worst, or a lot of
+ ;; warnings at best
+ (unless *remote-lisp*
+ (loop for system in (slot-value propspec 'systems)
+ unless (asdf:component-loaded-p system)
+ do (asdf:load-system system)))
(loop for form in (slot-value propspec 'applications)
for propapp = (compile-propapp form)
do (propappapply propapp)))