From: Andy Sloane <andy@gu...> - 2005-08-05 15:30:07
(I'm under the impression asdf-install is maintained as part of SBCL for
the time being, so I sent this to sbcl-devel; apologies if this should
be directed somewhere more specific.)
I nearly tore my hair out this morning trying to figure out why
asdf-install was untarring what it installed, and then simply returning
nil without loading the package or its dependencies.
Well, it's because I'm using FreeBSD, and `tar` output looks like this:
and so asdf-install reads that output and starts poking around in
"~/.sbcl/site/x thingy-0.1/" where of course it can't find anything.
I see this has already been worked around for darwin by simply using GNU
tar, so I just did this for now (probably not the best long-term solution):
(FreeBSD's GNU tar is 'gtar' by default, although I'm not sure whether
the system necessarily comes with it installed in all cases - I have no
idea what NetBSD or OpenBSD do though.)
RCS file: /cvsroot/sbcl/sbcl/contrib/asdf-install/installer.lisp,v
retrieving revision 1.11
diff -u -r1.11 installer.lisp
--- installer.lisp 14 Jul 2005 16:30:06 -0000 1.11
+++ installer.lisp 5 Aug 2005 15:11:55 -0000
@@ -5,6 +5,11 @@
(or (posix-getenv "CCLAN_MIRROR")
+ #+darwin "gnutar"
+ #+freebsd "gtar"
+ #-(or darwin freebsd) "tar")
(defun directorify (name)
;; input name may or may not have a training #\/, but we know we
;; want a directory
@@ -249,8 +254,7 @@
- (sb-ext:run-program #-darwin "tar"
- #+darwin "gnutar"
+ (sb-ext:run-program *tar-program*
(list "-C" (namestring source)
"-xzvf" (namestring packagename))