From dbfdf37a4ac13ecddb35c9e496c43ffb51b1c859 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Fri, 1 Feb 2013 16:28:38 -0500
Subject: [PATCH] 2.27.1: have determine-system-directory return a
 directory-pathname. Oops.

Thanks to Stelian for finding this issue.
Also, make run-program test work where select binaries are not in /bin.
Better handle incrementing ASDF versions.
---
 asdf.asd                     |  2 +-
 bin/asdf-builder             |  3 +++
 defsystem.lisp               | 11 ++++++-----
 header.lisp                  |  2 +-
 test/test-run-program.script | 12 ++++++------
 upgrade.lisp                 |  2 +-
 version.lisp-expr            |  2 +-
 7 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/asdf.asd b/asdf.asd
index c6fcf502..a5c7787c 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -74,7 +74,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.27" ;; to be automatically updated by make bump-version
+  :version "2.27.1" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   ;; For most purposes, asdf itself specially counts as a builtin system.
diff --git a/bin/asdf-builder b/bin/asdf-builder
index 3240d1d5..c20ed736 100755
--- a/bin/asdf-builder
+++ b/bin/asdf-builder
@@ -183,6 +183,9 @@
 
 (defun next-version (v)
   (let ((pv (parse-version v 'error)))
+    (assert (first pv))
+    (assert (second pv))
+    (unless (third pv) (appendf pv '(0)))
     (incf (third pv))
     (unparse-version pv)))
 
diff --git a/defsystem.lisp b/defsystem.lisp
index 69ab0908..0d8307f2 100644
--- a/defsystem.lisp
+++ b/defsystem.lisp
@@ -32,11 +32,12 @@
   ;; If no absolute pathname was found, we return NIL.
   (check-type pathname (or null string pathname))
   (resolve-symlinks*
-   (ensure-absolute-pathname
-    (parse-unix-namestring pathname :type :directory)
-    #'(lambda () (ensure-absolute-pathname
-                  (load-pathname) 'get-pathname-defaults nil))
-    nil)))
+   (pathname-directory-pathname
+    (ensure-absolute-pathname
+     (parse-unix-namestring pathname :type :directory)
+     #'(lambda () (ensure-absolute-pathname
+                   (load-pathname) 'get-pathname-defaults nil))
+     nil))))
 
 
 ;;; Component class
diff --git a/header.lisp b/header.lisp
index 1fb52bf1..6534c9b0 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.27: Another System Definition Facility.
+;;; This is ASDF 2.27.1: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/test/test-run-program.script b/test/test-run-program.script
index 250a3c6b..a242ec4f 100644
--- a/test/test-run-program.script
+++ b/test/test-run-program.script
@@ -172,30 +172,30 @@ Testing run-program
 
     ;; a basic smoke test
     (is (equal '("Single")
-               (run-program `("/bin/grep" "Single" ,tf) :output :lines)))
+               (run-program `("grep" "Single" ,tf) :output :lines)))
 
     ;; Make sure space is handled correctly
     (is (equal '("double entry")
-               (run-program `("/bin/grep" "double entry" ,tf) :output :lines)))
+               (run-program `("grep" "double entry" ,tf) :output :lines)))
 
     ;; Make sure space is handled correctly
     (is (equal '("triple word entry")
-               (run-program `("/bin/grep" "triple word entry" ,tf) :output :lines)))
+               (run-program `("grep" "triple word entry" ,tf) :output :lines)))
 
     ;; Testing special characters
     (loop :for char :across "+-_.,%@:/\\!&*(){}"
       :for str = (string char) :do
       (is (equal (list (format nil "escape ~A" str))
                  (run-program
-                  `("/bin/grep" ,(format nil "[~A]" str) ,tf)
+                  `("grep" ,(format nil "[~A]" str) ,tf)
                   :output :lines))))
 
     ;; Test that run-program signals an error
     ;; with an executable that doesn't return 0
-    (signals subprocess-error (run-program '("/bin/false") :output :lines))
+    (signals subprocess-error (run-program '("false") :output :lines))
 
     ;; Test that we can suppress the error on run-program
-    (is (null (run-program '("/bin/false")
+    (is (null (run-program '("false")
                             :output :lines :ignore-error-status t))))
   t)
 
diff --git a/upgrade.lisp b/upgrade.lisp
index e4d60185..7def8e42 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -51,7 +51,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
          ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "2.27")
+         (asdf-version "2.27.1")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index e4971132..92b7dcbb 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.27"
+"2.27.1"
-- 
GitLab