Commit 65d16a93 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Fix more upgrade issues

Use :recycle of :asdf/find-system in :asdf/source-registry to migrate symbol
initialize-source-registry that moved from that previous packages
(otherwise, upgrade from 3.2.1 breaks on all lisps).

Also :recycle :asdf/action in :asdf/plan for required-components and
traverse-action. But avoid interning plan in asdf/action so it doesn't
confuse clisp when upgrading from 2.26(!).
parent 74cb84d5
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
(:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session :asdf/component :asdf/operation) (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session :asdf/component :asdf/operation)
(:import-from :asdf/operation #:check-operation-constructor) (:import-from :asdf/operation #:check-operation-constructor)
(:import-from :asdf/component #:%additional-input-files) (:import-from :asdf/component #:%additional-input-files)
#-clisp (:unintern #:required-components #:traverse-action #:traverse-sub-actions)
(:export (:export
#:action #:define-convenience-action-methods #:action #:define-convenience-action-methods
#:action-description #:format-action #:action-description #:format-action
...@@ -431,7 +430,8 @@ They may rely on the order of the files to discriminate between inputs. ...@@ -431,7 +430,8 @@ They may rely on the order of the files to discriminate between inputs.
Updates the action's COMPONENT-OPERATION-TIME to match the COMPUTE-ACTION-STAMP Updates the action's COMPONENT-OPERATION-TIME to match the COMPUTE-ACTION-STAMP
using the JUST-DONE flag.")) using the JUST-DONE flag."))
(defgeneric compute-action-stamp (plan operation component &key just-done) (defgeneric compute-action-stamp (plan- operation component &key just-done)
;; NB: using plan- rather than plan above allows clisp to upgrade from 2.26(!)
(:documentation "Has this action been successfully done already, (:documentation "Has this action been successfully done already,
and at what known timestamp has it been done at or will it be done at? and at what known timestamp has it been done at or will it be done at?
* PLAN is a plan object modelling future effects of actions, * PLAN is a plan object modelling future effects of actions,
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
:asdf/session :asdf/component :asdf/system :asdf/operation :asdf/action :asdf/lisp-action :asdf/session :asdf/component :asdf/system :asdf/operation :asdf/action :asdf/lisp-action
:asdf/find-component :asdf/system-registry :asdf/plan :asdf/operate) :asdf/find-component :asdf/system-registry :asdf/plan :asdf/operate)
(:import-from #:asdf/component #:%additional-input-files) (:import-from #:asdf/component #:%additional-input-files)
#+abcl (:intern #:initialize-source-registry) ;; to upgrade from 3.1.x
(:export (:export
#:find-system #:locate-system #:load-asd #:define-op #:find-system #:locate-system #:load-asd #:define-op
#:load-system-definition-error #:error-name #:error-pathname #:error-condition)) #:load-system-definition-error #:error-name #:error-pathname #:error-condition))
......
...@@ -173,7 +173,7 @@ an OPERATION and a COMPONENT." ...@@ -173,7 +173,7 @@ an OPERATION and a COMPONENT."
(defmethod input-files ((o compile-op) (c system)) (defmethod input-files ((o compile-op) (c system))
(when (and *warnings-file-type* (not (builtin-system-p c))) (when (and *warnings-file-type* (not (builtin-system-p c)))
;; The most correct way to do it would be to use: ;; The most correct way to do it would be to use:
;; (traverse-sub-actions o c :other-systems nil :keep-operation 'compile-op :keep-component 'cl-source-file) ;; (collect-dependencies o c :other-systems nil :keep-operation 'compile-op :keep-component 'cl-source-file)
;; but it's expensive and we don't care too much about file order or ASDF extensions. ;; but it's expensive and we don't care too much about file order or ASDF extensions.
(loop :for sub :in (sub-components c :type 'cl-source-file) (loop :for sub :in (sub-components c :type 'cl-source-file)
:nconc (remove-if-not 'warnings-file-p (output-files o sub))))) :nconc (remove-if-not 'warnings-file-p (output-files o sub)))))
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
(uiop/package:define-package :asdf/plan (uiop/package:define-package :asdf/plan
;; asdf/action below is needed for required-components, traverse-action and traverse-sub-actions ;; asdf/action below is needed for required-components, traverse-action and traverse-sub-actions
;; that used to live there before 3.2.0. ;; that used to live there before 3.2.0.
(:recycle :asdf/plan :asdf) (:recycle :asdf/plan :asdf/action :asdf)
(:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session
:asdf/component :asdf/operation :asdf/action :asdf/lisp-action :asdf/component :asdf/operation :asdf/action :asdf/lisp-action
:asdf/system :asdf/system-registry :asdf/find-component :asdf/forcing) :asdf/system :asdf/system-registry :asdf/find-component :asdf/forcing)
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
;;;; See the Manual and https://bugs.launchpad.net/asdf/+bug/485918 ;;;; See the Manual and https://bugs.launchpad.net/asdf/+bug/485918
(uiop/package:define-package :asdf/source-registry (uiop/package:define-package :asdf/source-registry
(:recycle :asdf/source-registry :asdf) ;; NB: asdf/find-system allows upgrade from <=3.2.1 that have initialize-source-registry there
(:recycle :asdf/source-registry :asdf/find-system :asdf)
(:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/system :asdf/system-registry) (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/system :asdf/system-registry)
#+abcl (:import-from :asdf/find-system #:initialize-source-registry) ;; to upgrade from 3.1.x
(:export (:export
#:*source-registry-parameter* #:*default-source-registries* #:*source-registry-parameter* #:*default-source-registries*
#:invalid-source-registry #:invalid-source-registry
......
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