Deploying application with SBCL, ASDF



Hi all,

Typically, how do people deploy their app if one wants to use asdf to
manage their files?

I notice that Edi usually has a load.lisp for his libraries, so you
don't necessary need asdf.

But I have quite a number of files and asdf is a great tool to manage
the dependency for my project.

Since I don't want to distribute the *.lisp files on the production
system, I remove all the *.lisp, leaving only the *.fasl files on
/usr/local/lib/sbcl/myapp/ (where I installed the app)

However, when I tried to start it, asdf will issue a lot of warnings
since it's trying to determine if the *.fasl files need to be
recompile.

Question:

- Is there a way to have asdf generate a load.lisp for a package like
those found in Ediware?

- How to suppress asdf from comparing the *.lisp and *.fasl and just
load the *.fasl in order?

Below are my start scripts. Note that I have built a base core for
libraries that I use (cl-ppcre and etc).

I didn't build a complete core including my appliation module because
I update it often and I just want to distribute the *.fasl to the
production system and reload it on the fly, instead of building a new
core each time my application is updated.

Thanks,
fungsin


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; startapp.sh

#!/bin/sh

/usr/local/bin/sbcl --noinform \
--core /usr/local/lib/sbcl/myapp/base-libaries.core \
--userinit /usr/local/lib/sbcl/myapp/start.cl

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; start.cl

(require :linedit)
(funcall (intern "INSTALL-REPL" :linedit))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

WARNING:
Missing FILE-WRITE-DATE for
#P"/usr/local/lib/sbcl/uffi/src/objects.lisp": treating operation
#<ASDF:COMPILE-OP NIL {BAC8F49}> on component
#<ASDF:CL-SOURCE-FILE "objects" {AC25FE1}> as done.
WARNING:
Missing FILE-WRITE-DATE for
#P"/usr/local/lib/sbcl/uffi/src/aggregates.lisp": treating operation
#<ASDF:COMPILE-OP NIL {BAC8F49}> on component
#<ASDF:CL-SOURCE-FILE "aggregates" {AC25FF1}> as done.
WARNING:
Missing FILE-WRITE-DATE for
#P"/usr/local/lib/sbcl/uffi/src/functions.lisp": treating operation
#<ASDF:COMPILE-OP NIL {BAC8F49}> on component
#<ASDF:CL-SOURCE-FILE "functions" {AC26011}> as done.
WARNING:
Missing FILE-WRITE-DATE for
#P"/usr/local/lib/sbcl/uffi/src/strings.lisp": treating operation
#<ASDF:COMPILE-OP NIL {BAC8F49}> on component
#<ASDF:CL-SOURCE-FILE "strings" {AC26001}> as done.

.......

.



Relevant Pages

  • Re: Deploying application with SBCL, ASDF
    ... since it's trying to determine if the *.fasl files need to be ... It must be possible to write some methods in asdf to print commands to ... generate an executable image. ...
    (comp.lang.lisp)
  • Re: fasl-file-valid-p
    ... when the .fasl is older than the ... > .lisp, recompilation is in order. ... Asdf should IMHO support a binary tree different from the source path. ... My current practice with defsystem ...
    (comp.lang.lisp)
  • Re: fasl-file-valid-p
    ... >> Build tools, like defsystem or asdf, have to determine whether a file ... when the .fasl is older than the ... >> .lisp, recompilation is in order. ... Sam Steingold running w2k ...
    (comp.lang.lisp)
  • Re: changing binary extension with ASDF
    ... > I want to use ASDF with both SBCL and Allegro. ... > have a default extension of ".fasl" for the binaries, ...
    (comp.lang.lisp)