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

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

parent 3c52e6b7
......@@ -66,7 +66,7 @@
:licence "MIT"
:description "Another System Definition Facility"
: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 ()
#+asdf3 :encoding #+asdf3 :utf-8
;; 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.
(with-system-definitions ()
(with-standard-io-syntax
(let ((*package* (find-package :asdf-user))
(*print-readably* nil)
(*default-pathname-defaults*
;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings.
(pathname-directory-pathname (translate-logical-pathname pathname))))
......
;;; -*- 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:
;;; please mail to <asdf-devel@common-lisp.net>.
......@@ -54,7 +54,7 @@
(declaim (optimize (speed 1) (safety 3) (debug 3)))
(setf ext:*gc-verbose* nil))
#+clisp
#+(or abcl clisp cmu ecl xcl)
(eval-when (:load-toplevel :compile-toplevel :execute)
(unless (member :asdf3 *features*)
(let* ((existing-version
......@@ -65,9 +65,14 @@
(string ver)
(cons (format nil "~{~D~^.~}" ver))
(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)))
(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)
(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 () {
}
valid_upgrade_test_p () {
case "${1}:${2}:${3}" in
abcl:1.*|abcl:2.00[0-9]:*|abcl:201[0-7]:*)
: "Skip, because it is so slow." ;;
ccl:1.*|ccl:2.0[01]*)
: Skip, because ccl broke old asdf ;;
clisp:1.??*|clisp:2.00[0-7]:*)
# my old ubuntu clisp 2.44.1 is wired in with an antique ASDF 1 from CLC that can't be downgraded.
# 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.
: ;;
cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-7]:*)
: Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade
: Weird unidentified problems before 2.018 ;;
ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*)
: Skip, because of various ASDF issues ;;
gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : Skip old versions that do not support GCL 2.6 ;;
mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*)
: Skip, because MKCL is only supported starting with 2.24 ;;
xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*|xcl:*)
: XCL support starts with ASDF 2.014.2 - It also hangs badly during upgrade. ;;
# It's damn slow. Also, for some reason, we punt on anything earlier than 2.25,
# and only need to test it once, below for 2.24.
abcl:1.*|abcl:2.00[0-9]:*|abcl:201[0-9]:*|abcl:2.2[0-3]:*) : ;;
# ccl fasl numbering broke loading of old asdf 2.0
ccl:2.0[01]*) : ;;
# 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.
# Note that for the longest time, CLISP has included 2.011 in its distribution.
clisp:2.00[0-7]:*) : ;;
# 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,
# and only need to test it once: above, for 2.017.
cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-6]:*) : ;;
# Skip many ECL tests, for various ASDF issues
ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) : ;;
# GCL 2.6 is only supported with ASDF 2.27, so skip earlier versions
gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : ;;
# MKCL is only supported starting with 2.24, so skip earlier versions
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 ;;
esac
return 1
......
......@@ -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)))
(t
(format t "Loading old asdf ~A via ~A~%" tag old-method)
(funcall old-method tag)))
(setf (asymval :*asdf-verbose*) t)
(setf (asymval :*verbose-out*) *standard-output*))
(funcall old-method tag))))
(when (asym :*asdf-verbose* nil nil) (setf (asymval :*asdf-verbose*) t))
(when (asym :*verbose-out* nil nil) (setf (asymval :*verbose-out*) *standard-output*))
(format t "Now loading new asdf via method ~A~%" new-method)
(funcall new-method)
(format t "Testing it~%")
......@@ -488,8 +488,8 @@ is bound, write a message and exit on an error. If
(t ,(output-location "root"))
:ignore-inherited-configuration))
(set (asym :*central-registry*) `(,*test-directory*))
(set (asym :*verbose-out*) *standard-output*)
(set (asym :*asdf-verbose*) t)
(when (asym :*asdf-verbose*) (setf (asymval :*asdf-verbose*) t))
(when (asym :*verbose-out*) (setf (asymval :*verbose-out*) *standard-output*))
(let ((x (acall :system-source-directory :hello-world-example)))
(assert-pathname-equal *test-directory* x) ;; not always EQUAL (!)
(unless (equal *test-directory* x)
......
......@@ -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)
(when (and ,upgrading-p ,@(when when `(,when)))
(handler-bind ((style-warning #'muffle-warning))
(eval '(progn ,@body)))))))
(eval-when (:load-toplevel :compile-toplevel :execute)
(eval '(progn ,@body))))))
(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
;; 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
;; "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.26.164")
(asdf-version "2.26.165")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-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
(when *asdf-verbose*
(format *trace-output*
(compatfmt "~&~@<; ~@;Upgrading ASDF ~@[from version ~A ~]to version ~A~@:>~%")
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)))))))
existing-version asdf-version)))))
(when-upgrading ()
(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