Commit daf4b075 authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files
parents f38a38fd cbbc8835
* Decree that versions older than 2 years are not supported, * Decree that versions older than 2 years are not supported,
remove them from upgrade tests. We should already not support maybe remove them from upgrade tests
anything older than 2.014.5 from Quicklisp, or so. (or split upgrade tests in two test sets: short and long).
We should already not support anything older than 2.019 or so
(still used by LispWorks).
Yet, we should keep supporting upgrading from what vendors provide Yet, we should keep supporting upgrading from what vendors provide
— so push them to provide recent stuff. — so push them to provide recent stuff.
* ASDF 3.2: moving toward cross-compilation. * Moving toward cross-compilation (ASDF 3.2?)
This would allow to get all or most of the benefits of XCVB This would allow to get all or most of the benefits of XCVB
(reproducibility, scalability, applicability to mobile platforms, etc.), (reproducibility, scalability, applicability to mobile platforms, etc.),
except without the backward incompatibility of XCVB. except without the backward incompatibility of XCVB.
...@@ -19,70 +21,74 @@ ...@@ -19,70 +21,74 @@
** Modify SBCL and other implementations so they provide UIOP ** Modify SBCL and other implementations so they provide UIOP
independently from ASDF? independently from ASDF?
* CMUCL has bugs: * Implementation bugs
** In ASDF 2.32.13, sibling-dependencies is renamed to sideway-dependencies ** CMUCL has bugs:
in defclass component, a superclass of system, and upgrade from *** In ASDF 2.32.13, sibling-dependencies is renamed to sideway-dependencies
2.32 or earlier thus fails with in defclass component, a superclass of system, and upgrade from
Error in function KERNEL:CLASS-TYPEP: Class is currently invalid: 2.32 or earlier thus fails with
#<KERNEL::STANDARD-CLASS ASDF/SYSTEM:SYSTEM {58398145}> Error in function KERNEL:CLASS-TYPEP: Class is currently invalid:
in a direct call from ASDF/FIND-SYSTEM:LOCATE-SYSTEM, #<KERNEL::STANDARD-CLASS ASDF/SYSTEM:SYSTEM {58398145}>
which suggests CMUCL's PCL fails to finalize classes properly. in a direct call from ASDF/FIND-SYSTEM:LOCATE-SYSTEM,
** Non-default optimize settings may or may not subtly break PCL. which suggests CMUCL's PCL fails to finalize classes properly.
For the longest time (from 2.26.136 to 3.1.0.42), ASDF had: *** Non-default optimize settings may or may not subtly break PCL.
(declaim (optimize (speed 1) (safety 3) (debug 3))) For the longest time (from 2.26.136 to 3.1.0.42), ASDF had:
This form may or may not work around that breakage in some cases: (declaim (optimize (speed 1) (safety 3) (debug 3)))
(setf c::top-level-lambda-max 0) This form may or may not work around that breakage in some cases:
** At some point there was massive breakage due to uninitialized slots (setf c::top-level-lambda-max 0)
as revealed in 3.1.0.37 with *** At some point there was massive breakage due to uninitialized slots
make t l=cmucl t=test-encodings.script as revealed in 3.1.0.37 with
which was a different PCL bug from the above (without same workaround) make t l=cmucl t=test-encodings.script
but possibly also triggered by the non-standard declaim. which was a different PCL bug from the above (without same workaround)
but possibly also triggered by the non-standard declaim.
* XCL has bad bugs:
make-pathname doesn't handle :type nil properly and ** XCL has bad bugs:
has massive lossage in logical-pathname support. make-pathname doesn't handle :type nil properly and
If using block () and return in search-for-system-definition has massive lossage in logical-pathname support.
instead of return-from, XCL mistakenly has the return jump If using block () and return in search-for-system-definition
to the end of the try function or something. instead of return-from, XCL mistakenly has the return jump
It also takes a long time for errors to propagate into a debugging REPL — to the end of the try function or something.
Maybe O(n^3) behavior or worse in walking the C++ stack? It also takes a long time for errors to propagate into a debugging REPL —
The backtrace frames may contains unprintable objects. Maybe O(n^3) behavior or worse in walking the C++ stack?
make-pathname fails to copy the version from the defaults. The backtrace frames may contains unprintable objects.
(make-pathname :host "ASDFTEST" :directory '(:absolute "system2" "module4") make-pathname fails to copy the version from the defaults.
:name nil :type nil) fails to handle the logical-pathname-ness of ASDFTEST. (make-pathname :host "ASDFTEST" :directory '(:absolute "system2" "module4")
:name nil :type nil) fails to handle the logical-pathname-ness of ASDFTEST.
* GCL is almost working again; but implementation bugs remain.
See November 2013 discussion on gcl-devel. ** GCL is almost working again; but implementation bugs remain.
* Another GCL compiler bug: See November 2013 discussion on gcl-devel.
when I changed the definition of getcwd from * Another GCL compiler bug:
(let ((*default-pathname-defaults* #p"")) (truename #p"")) to when I changed the definition of getcwd from
(let ((*default-pathname-defaults* *nil-pathname*)) (truename *nil-pathname*)) (let ((*default-pathname-defaults* #p"")) (truename #p"")) to
to guard against e.g. a logical-pathname context while loading asdf (let ((*default-pathname-defaults* *nil-pathname*)) (truename *nil-pathname*))
and parsing #p"", calls to getcwd result in a segfault. to guard against e.g. a logical-pathname context while loading asdf
* An another bug: gcl refuses dynamic-extent declaration on functions. and parsing #p"", calls to getcwd result in a segfault.
uiop/stream.lisp: #-gcl (declare (dynamic-extent ,@(when * An another bug: gcl refuses dynamic-extent declaration on functions.
before `(#',beforef)) ,@(when after `(#',afterf)))) uiop/stream.lisp: #-gcl (declare (dynamic-extent ,@(when
* (typep p 'logical-pathname) should be T if p has a logical-pathname host. before `(#',beforef)) ,@(when after `(#',afterf))))
* apropos is case-sensitive and returns a same symbol many times * (typep p 'logical-pathname) should be T if p has a logical-pathname host.
* compile-file fails to return proper secondary values in case of non-style WARNING. * apropos is case-sensitive and returns a same symbol many times
* (pathname-directory #p"foo/") is incorrectly ("foo") instead of (:RELATIVE "foo") * compile-file fails to return proper secondary values in case of non-style WARNING.
* Missing: chdir, combine-fasls, and plenty more UIOP functions. * (pathname-directory #p"foo/") is incorrectly ("foo") instead of (:RELATIVE "foo")
* Do whatever it takes to pass the asdf tests, add the above? * Missing: chdir, combine-fasls, and plenty more UIOP functions.
* Have (require "asdf") and (require "ASDF") both work. * Do whatever it takes to pass the asdf tests, add the above?
* Trying to uiop:slurp-stream-forms from a stream with #+(or) :foo * Have (require "asdf") and (require "ASDF") both work.
(or read-file-forms from an file with same) results in an error, * Trying to uiop:slurp-stream-forms from a stream with #+(or) :foo
rather than nil. This is probably a bug in #+ processing. (or read-file-forms from an file with same) results in an error,
Unhappily, debian creates such a file in rather than nil. This is probably a bug in #+ processing.
/etc/common-lisp/asdf-output-translations.conf.d/01-common-lisp-controller.conf Unhappily, debian creates such a file in
* Tests that try to catch an error fail (but catching a warning succeeds), /etc/common-lisp/asdf-output-translations.conf.d/01-common-lisp-controller.conf
which suggests brokenness in handler-bind and/or error. * Tests that try to catch an error fail (but catching a warning succeeds),
which suggests brokenness in handler-bind and/or error.
* Some out-of-line configuration mechanism for various options?
i.e. let configuration files override some variables around compilation of some systems. ** Find out why ABCL fails the timestamp propagation test.
* Find an easier way to bind variables around compilation and loading of files * Find an easier way to bind variables around compilation and loading of files
* Find out why ABCL fails the timestamp propagation test. * Design & Implement some out-of-line configuration mechanism for various options?
i.e. let configuration files override some variables around some actions.
* Could be used to override new backward-incompatible defaults
(e.g. for operation propagation, deferred warnings, etc.)
* Use the above variable binding mechanism.
* Fix bugs on http://bugs.launchpad.net/asdf/+bugs * Fix bugs on http://bugs.launchpad.net/asdf/+bugs
...@@ -105,13 +111,6 @@ ...@@ -105,13 +111,6 @@
* have a single test .asd that tests as many features as possible, use it for upgrade test. * have a single test .asd that tests as many features as possible, use it for upgrade test.
* implement deferred warnings support on lispworks
* work with cl-test-grid to eliminate deferred warnings from quicklisp libraries
* fix upgrade on clisp, cmucl, abcl (if still broken)
** Extract minimal test case, build a battery of automated tests
* Bug found by fe[nl]ix: infinite loop if the definitions in an asd file * Bug found by fe[nl]ix: infinite loop if the definitions in an asd file
are not in strict defsystem-depends-on dependency order. are not in strict defsystem-depends-on dependency order.
** At least document the issue. ** At least document the issue.
...@@ -245,3 +244,10 @@ It looks like SWANK can be fixed soon, though, so we'll see. ...@@ -245,3 +244,10 @@ It looks like SWANK can be fixed soon, though, so we'll see.
* See message from 2014-01-27 05:26:44 GMT for stuff to document. * See message from 2014-01-27 05:26:44 GMT for stuff to document.
http://thread.gmane.org/gmane.lisp.asdf.devel/3675/focus=3695 http://thread.gmane.org/gmane.lisp.asdf.devel/3675/focus=3695
* deferred-warnings support probably needs to be redone better.
* implement deferred warnings support on lispworks
* work with cl-test-grid to eliminate deferred warnings from quicklisp libraries
* https://www.mail-archive.com/asdf-devel@common-lisp.net/msg03608.html
* czak@google.com rewrote part of deferred warnings support.
Ask him for the code he implemented at Google.
...@@ -3,12 +3,18 @@ cl-asdf (2:3.1.1-1) unstable; urgency=low ...@@ -3,12 +3,18 @@ cl-asdf (2:3.1.1-1) unstable; urgency=low
New release: New release:
* asdf-package-system combines the one-file, one-package, one-system paradigm * asdf-package-system combines the one-file, one-package, one-system paradigm
of quick-build and faslpath with the portability and robustness of ASDF 3. of quick-build and faslpath with the portability and robustness of ASDF 3.
* non-propagating-operation replaces OPERATION for operations as a base class
to inherit from for operations that do not propagate,
whereas for backward compatibility with ASDF 1 and 2,
subclasses of OPERATION implicitly propagate DOWNWARD and SIDEWAY.
Failure to explicitly inherit from own of the explicitly propagating
or non-propagating classes will result in a WARNING for now.
* Portability: much improved support for the latest GCL 2.8. * Portability: much improved support for the latest GCL 2.8.
* Robustness: Fixes for ABCL, CLISP, ECL, LispWorks, SBCL/Windows, XCL. * Robustness: Fixes for ABCL, CLISP, ECL, LispWorks, SBCL/Windows, XCL.
Test improvements. Added missing dependencies in asdf.asd(!). Test improvements. Added missing dependencies in asdf.asd(!).
Fixes to version-satisfies (thanks to stassats) and to the file-stamp cache. Fixes to version-satisfies (thanks to stassats), to the file-stamp cache.
Fixes regression from 3.0.2.12 whereby ASDF failed to avoid downgrading. Fixes regression from 3.0.2.12 whereby ASDF failed to avoid downgrading.
Some cleanups in the operation class definitions. Many cleanups. Many explanatory updates to source code comments.
* run-program tweaked again on Windows; * run-program tweaked again on Windows;
punting on trying to ensure no final space is ever echo'ed by CMD.EXE " ". punting on trying to ensure no final space is ever echo'ed by CMD.EXE " ".
* provide both "asdf" and "ASDF" to play nicer with various Lisps. * provide both "asdf" and "ASDF" to play nicer with various Lisps.
...@@ -16,13 +22,14 @@ cl-asdf (2:3.1.1-1) unstable; urgency=low ...@@ -16,13 +22,14 @@ cl-asdf (2:3.1.1-1) unstable; urgency=low
will be less disruptive of ASDF uses and enhancements in the current image: will be less disruptive of ASDF uses and enhancements in the current image:
previously loaded systems will not be cleared anymore, previously loaded systems will not be cleared anymore,
variables defined with defparameter* will not be reset. variables defined with defparameter* will not be reset.
Punting on upgrades from ASDF 1 for more robust behavior.
* UIOP much improved so as to be used with Google's build system: * UIOP much improved so as to be used with Google's build system:
with-temporary-file, dump-image / restore-image, ensure-pathname, with-temporary-file, dump-image / restore-image, ensure-pathname,
compile-file*, with-saved-deferred-warnings. compile-file*, with-saved-deferred-warnings.
* ASDF3.1 feature pushed, to signal the slew of significant improvements * ASDF3.1 feature pushed, to signal the slew of significant improvements
since initial ASDF 3.0 pre-release (i.e. version 2.27). in a year since initial ASDF 3.0 pre-release (i.e. version 2.27).
-- Francois-Rene Rideau <fare@tunes.org> Tue, 14 Jan 2014 00:28:00 -0500 -- Francois-Rene Rideau <fare@tunes.org> Thu, 30 Jan 2014 22:31:46 -0500
cl-asdf (2:3.0.3-1) unstable; urgency=low cl-asdf (2:3.0.3-1) unstable; urgency=low
......
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