[asdf-install-devel] install-package confused by bsdtar on Mac OS X

Jack Holloway forum at sprucehead.com
Thu Jun 24 22:03:15 UTC 2010


The incompatibility with the version of tar on Mac OS has been noted 
before.
The "tar" that comes installed on MacOS is "bsdtar" which prints an "x" 
flag at
the beginning of lines.  install-package gets the wrong string for the 
package version.

A suggested patch is:

diff --git a/asdf-install/installer.lisp b/asdf-install/installer.lisp
index 2a346ff..d304417 100644
--- a/asdf-install/installer.lisp
+++ b/asdf-install/installer.lisp
@@ -358,10 +358,13 @@ include the filename and extension, if applicable."
           (pos-slash (or (position #\/ tar)
                          (position #\Return tar)
                          (position #\Linefeed tar)))
+         ;;H - bsdtar prints "x " in front of the package name, strip 
prepend
+         (pos-space (1+ (loop for ch in '(#\Return #\Linefeed #\Space 
#\Tab)
+                           maximize (or (position ch tar :from-end t 
:end pos-slash) -1))))
           (package-dir
            (merge-pathnames
             (make-pathname :directory
-                          `(:relative ,(subseq tar 0 pos-slash)))
+                          `(:relative ,(subseq tar pos-space pos-slash)))
             source-directory)))
      ;(princ tar)
      (loop for sysfile in (append

I haven't had a chance to test this on non-Mac systems





More information about the asdf-install-devel mailing list