Current ECL HEAD comes with asdf version "1.604", but trying to load upstreams asdf.lisp won't work because of
"A package with the name ASDF-EXTENSIONS already exists."
Indeed, CLHS DEFPACKAGE says
If one of the supplied :nicknames already refers to an existing package, an error of type package-error is signaled.
In fact, using DEFPACKAGE for upgradability purposes is ill-conceived from the beginning because of:
If defined-package-name already refers to an existing package, the name-to-package mapping for that name is not changed. If the new definition is at variance with the current state of that package, the consequences are undefined; ...
And, e.g. the :EXPORT list changed in numerous points in past, and is not excluded from changing in the future.
The portable venue would be not to use DEFPACKAGE but either to define a DEFINE-PACKAGE macro on top of the functional layer yourself, or using the functional layer directly. Mwahaha. Suckage. :-)
-T.