Commit 185f4c69 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.26.165: don't print-readably while loading .asd. Yet another upgrade tweak.

parent 3c52e6b7
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
:licence "MIT" :licence "MIT"
:description "Another System Definition Facility" :description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems." :long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.26.164" ;; to be automatically updated by make bump-version :version "2.26.165" ;; to be automatically updated by make bump-version
:depends-on () :depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8 #+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system. ;; For most purposes, asdf itself specially counts as a builtin system.
......
...@@ -253,6 +253,7 @@ Going forward, we recommend new users should be using the source-registry. ...@@ -253,6 +253,7 @@ Going forward, we recommend new users should be using the source-registry.
(with-system-definitions () (with-system-definitions ()
(with-standard-io-syntax (with-standard-io-syntax
(let ((*package* (find-package :asdf-user)) (let ((*package* (find-package :asdf-user))
(*print-readably* nil)
(*default-pathname-defaults* (*default-pathname-defaults*
;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings. ;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings.
(pathname-directory-pathname (translate-logical-pathname pathname)))) (pathname-directory-pathname (translate-logical-pathname pathname))))
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.26.164: Another System Definition Facility. ;;; This is ASDF 2.26.165: Another System Definition Facility.
;;; ;;;
;;; Feedback, bug reports, and patches are all welcome: ;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>. ;;; please mail to <asdf-devel@common-lisp.net>.
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
(declaim (optimize (speed 1) (safety 3) (debug 3))) (declaim (optimize (speed 1) (safety 3) (debug 3)))
(setf ext:*gc-verbose* nil)) (setf ext:*gc-verbose* nil))
#+clisp #+(or abcl clisp cmu ecl xcl)
(eval-when (:load-toplevel :compile-toplevel :execute) (eval-when (:load-toplevel :compile-toplevel :execute)
(unless (member :asdf3 *features*) (unless (member :asdf3 *features*)
(let* ((existing-version (let* ((existing-version
...@@ -65,9 +65,14 @@ ...@@ -65,9 +65,14 @@
(string ver) (string ver)
(cons (format nil "~{~D~^.~}" ver)) (cons (format nil "~{~D~^.~}" ver))
(null "1.0")))))) (null "1.0"))))))
(first-dot (when existing-version (position #\. existing-version)))
(second-dot (when first-dot (position #\. existing-version :start (1+ first-dot))))
(existing-major-minor (subseq existing-version 0 second-dot))
(existing-version-number (and existing-version (read-from-string existing-major-minor)))
(away (format nil "~A-~A" :asdf existing-version))) (away (format nil "~A-~A" :asdf existing-version)))
(when existing-version (when (and existing-version (< existing-version-number
#+abcl 2.25 #+clisp 2.27 #+cmu 2.018 #+ecl 2.21 #+xcl 2.27))
(rename-package :asdf away) (rename-package :asdf away)
(when *load-verbose* (when *load-verbose*
(format t "; Renamed package ~A away to ~A~%" :asdf away)))))) (format t "; First thing, renamed package ~A away to ~A~%" :asdf away))))))
...@@ -282,25 +282,27 @@ extract_tagged_asdf () { ...@@ -282,25 +282,27 @@ extract_tagged_asdf () {
} }
valid_upgrade_test_p () { valid_upgrade_test_p () {
case "${1}:${2}:${3}" in case "${1}:${2}:${3}" in
abcl:1.*|abcl:2.00[0-9]:*|abcl:201[0-7]:*) # It's damn slow. Also, for some reason, we punt on anything earlier than 2.25,
: "Skip, because it is so slow." ;; # and only need to test it once, below for 2.24.
ccl:1.*|ccl:2.0[01]*) abcl:1.*|abcl:2.00[0-9]:*|abcl:201[0-9]:*|abcl:2.2[0-3]:*) : ;;
: Skip, because ccl broke old asdf ;; # ccl fasl numbering broke loading of old asdf 2.0
clisp:1.??*|clisp:2.00[0-7]:*) ccl:2.0[01]*) : ;;
# my old ubuntu clisp 2.44.1 is wired in with an antique ASDF 1 from CLC that can't be downgraded. # my old ubuntu clisp 2.44.1 is wired in with an antique ASDF 1.374 from CLC that can't be downgraded.
# 2.00[0-7] use UID, which fails on that CLISP and was removed afterwards. # 2.00[0-7] use UID, which fails on that CLISP and was removed afterwards.
# Note that for the longest time, CLISP has included 2.011 in its distribution. # Note that for the longest time, CLISP has included 2.011 in its distribution.
: ;; clisp:2.00[0-7]:*) : ;;
cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-7]:*) # Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade
: Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade # Weird unidentified problems before 2.018, so we punt equally for everything before,
: Weird unidentified problems before 2.018 ;; # and only need to test it once: above, for 2.017.
ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-6]:*) : ;;
: Skip, because of various ASDF issues ;; # Skip many ECL tests, for various ASDF issues
gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : Skip old versions that do not support GCL 2.6 ;; ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) : ;;
mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) # GCL 2.6 is only supported with ASDF 2.27, so skip earlier versions
: Skip, because MKCL is only supported starting with 2.24 ;; gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : ;;
xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*|xcl:*) # MKCL is only supported starting with 2.24, so skip earlier versions
: XCL support starts with ASDF 2.014.2 - It also hangs badly during upgrade. ;; mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) : ;;
# XCL support starts with ASDF 2.014.2 - It also dies during upgrade trying to show the backtrace.
xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*|xcl:*) : ;;
*) return 0 ;; *) return 0 ;;
esac esac
return 1 return 1
......
...@@ -443,9 +443,9 @@ is bound, write a message and exit on an error. If ...@@ -443,9 +443,9 @@ is bound, write a message and exit on an error. If
(leave-test "Your Lisp implementation does not provide ASDF. Skipping test.~%" 0))) (leave-test "Your Lisp implementation does not provide ASDF. Skipping test.~%" 0)))
(t (t
(format t "Loading old asdf ~A via ~A~%" tag old-method) (format t "Loading old asdf ~A via ~A~%" tag old-method)
(funcall old-method tag))) (funcall old-method tag))))
(setf (asymval :*asdf-verbose*) t) (when (asym :*asdf-verbose* nil nil) (setf (asymval :*asdf-verbose*) t))
(setf (asymval :*verbose-out*) *standard-output*)) (when (asym :*verbose-out* nil nil) (setf (asymval :*verbose-out*) *standard-output*))
(format t "Now loading new asdf via method ~A~%" new-method) (format t "Now loading new asdf via method ~A~%" new-method)
(funcall new-method) (funcall new-method)
(format t "Testing it~%") (format t "Testing it~%")
...@@ -488,8 +488,8 @@ is bound, write a message and exit on an error. If ...@@ -488,8 +488,8 @@ is bound, write a message and exit on an error. If
(t ,(output-location "root")) (t ,(output-location "root"))
:ignore-inherited-configuration)) :ignore-inherited-configuration))
(set (asym :*central-registry*) `(,*test-directory*)) (set (asym :*central-registry*) `(,*test-directory*))
(set (asym :*verbose-out*) *standard-output*) (when (asym :*asdf-verbose*) (setf (asymval :*asdf-verbose*) t))
(set (asym :*asdf-verbose*) t) (when (asym :*verbose-out*) (setf (asymval :*verbose-out*) *standard-output*))
(let ((x (acall :system-source-directory :hello-world-example))) (let ((x (acall :system-source-directory :hello-world-example)))
(assert-pathname-equal *test-directory* x) ;; not always EQUAL (!) (assert-pathname-equal *test-directory* x) ;; not always EQUAL (!)
(unless (equal *test-directory* x) (unless (equal *test-directory* x)
......
...@@ -42,9 +42,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO ...@@ -42,9 +42,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
`(eval-when (:compile-toplevel :load-toplevel :execute) `(eval-when (:compile-toplevel :load-toplevel :execute)
(when (and ,upgrading-p ,@(when when `(,when))) (when (and ,upgrading-p ,@(when when `(,when)))
(handler-bind ((style-warning #'muffle-warning)) (handler-bind ((style-warning #'muffle-warning))
(eval '(progn ,@body))))))) (eval '(progn ,@body))))))
(eval-when (:load-toplevel :compile-toplevel :execute)
(let* (;; For bug reporting sanity, please always bump this version when you modify this file. (let* (;; For bug reporting sanity, please always bump this version when you modify this file.
;; Please also modify asdf.asd to reflect this change. make bump-version v=3.4.5.67.8 ;; Please also modify asdf.asd to reflect this change. make bump-version v=3.4.5.67.8
;; can help you do these changes in synch (look at the source for documentation). ;; can help you do these changes in synch (look at the source for documentation).
...@@ -54,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO ...@@ -54,7 +52,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.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.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 ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.26.164") (asdf-version "2.26.165")
(existing-version (asdf-version))) (existing-version (asdf-version)))
(setf *asdf-version* asdf-version) (setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version))) (when (and existing-version (not (equal asdf-version existing-version)))
...@@ -62,14 +60,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO ...@@ -62,14 +60,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
(when *asdf-verbose* (when *asdf-verbose*
(format *trace-output* (format *trace-output*
(compatfmt "~&~@<; ~@;Upgrading ASDF ~@[from version ~A ~]to version ~A~@:>~%") (compatfmt "~&~@<; ~@;Upgrading ASDF ~@[from version ~A ~]to version ~A~@:>~%")
existing-version asdf-version)) existing-version asdf-version)))))
;; Punt when upgrading from too old a version of ASDF
#+(or abcl clisp cmu)
(when (version< existing-version #+abcl "2.25" #+cmu "2.018" #+clisp "2.27")
(let ((away (format nil "~A-~A" :asdf existing-version)))
(rename-package :asdf away)
(when (or *load-verbose* *asdf-verbose*)
(format *trace-output* "; Renamed package ~A away to ~A~%" :asdf away)))))))
(when-upgrading () (when-upgrading ()
(let ((redefined-functions ;; gf signature and/or semantics changed incompatibly. Oops. (let ((redefined-functions ;; gf signature and/or semantics changed incompatibly. Oops.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment