Commit 000f97e7 authored by Peter Van Eynde's avatar Peter Van Eynde

* Fixed duplicate components patch to better handle reloading

    defsystem files. Now works again with McClim. Closes: #310640
  * Corrected dependencies.
parent f4d94411
;;; This is asdf: Another System Definition Facility. $Revision: 1.86 $
;;; This is asdf: Another System Definition Facility. $Revision: 1.87 $
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>. But note first that the canonical
......@@ -95,7 +95,8 @@
#:missing-component
#:missing-dependency
#:circular-dependency ; errors
#:duplicate-names
#:retry
#:accept ; restarts
......@@ -108,7 +109,7 @@
(in-package #:asdf)
(defvar *asdf-revision* (let* ((v "$Revision: 1.86 $")
(defvar *asdf-revision* (let* ((v "$Revision: 1.87 $")
(colon (or (position #\: v) -1))
(dot (position #\. v)))
(and v colon dot
......@@ -157,6 +158,9 @@ and NIL NAME and TYPE components"
(define-condition circular-dependency (system-definition-error)
((components :initarg :components :reader circular-dependency-components)))
(define-condition duplicate-names (system-definition-error)
((name :initarg :name :reader duplicate-names-name)))
(define-condition missing-component (system-definition-error)
((requires :initform "(unnamed)" :reader missing-requires :initarg :requires)
(version :initform nil :reader missing-version :initarg :version)
......@@ -930,6 +934,15 @@ Returns the new tree (which probably shares structure with the old one)"
;; list ends
&allow-other-keys) options
(check-component-input type name depends-on components in-order-to)
(when (and parent
(find-component parent name)
;; ignore the same object when rereading the defsystem
(not
(typep (find-component parent name)
(class-for-type parent type))))
(error 'duplicate-names :name name))
(let* ((other-args (remove-keys
'(components pathname default-component-class
perform explain output-files operation-done-p
......@@ -958,7 +971,19 @@ Returns the new tree (which probably shares structure with the old one)"
for c = (parse-component-form ret c-form)
collect c
if serial
do (push (component-name c) *serial-depends-on*)))))
do (push (component-name c) *serial-depends-on*))))
;; check for duplicate names
(let ((name-hash (make-hash-table :test #'equalp)))
(loop for c in (module-components ret)
do
(if (gethash (component-name c)
name-hash)
(error 'duplicate-names
:name (component-name c))
(setf (gethash (component-name c)
name-hash)
t)))))
(setf (slot-value ret 'in-order-to)
(union-of-dependencies
......
cl-asdf (1.86-5) unstable; urgency=low
* Fixed duplicate components patch to better handle reloading
defsystem files. Now works again with McClim. Closes: #310640
* Corrected dependencies.
-- Peter Van Eynde <pvaneynd@debian.org> Wed, 25 May 2005 07:27:35 +0200
cl-asdf (1.86-4) unstable; urgency=low
* My release script stripped the patch. So this should really contain the
patch. Damn.
-- Peter Van Eynde <pvaneynd@debian.org> Tue, 10 May 2005 14:17:51 +0200
cl-asdf (1.86-3) unstable; urgency=low
* Now checks if components names are unique Closes: #304972, #304970
* Fix dependency on common-lisp-controller Closes: #308385
-- Peter Van Eynde <pvaneynd@debian.org> Tue, 10 May 2005 07:50:25 +0200
cl-asdf (1.86-2) unstable; urgency=low
* New maintainer. (Closes: #297349: O: cl-asdf -- Another System
Definition Facility)
* Adopted by Peter Van Eynde
-- Peter Van Eynde <pvaneynd@debian.org> Tue, 1 Mar 2005 10:11:55 +0100
cl-asdf (1.86-1) unstable; urgency=low
* New upstream
......
Source: cl-asdf
Section: devel
Priority: optional
Maintainer: Kevin M. Rosenberg <kmr@debian.org>
Build-Depends-Indep: debhelper (>> 4.0.0)
Maintainer: Peter Van Eynde <pvaneynd@debian.org>
Build-Depends-Indep: debhelper (>> 4.0.0), cvs2cl
Standards-Version: 3.6.1.1
Package: cl-asdf
Architecture: all
Depends: ${shlibs:Depends}
Recommends: common-lisp-controller, sbcl | lisp-compiler
Description: Another System Definition Facility
asdf provides a "make" type functions for Common Lisp packages. It
......@@ -19,7 +18,7 @@ Description: Another System Definition Facility
Package: cl-cclan
Architecture: all
Depends: ${shlibs:Depends}, cl-asdf
Depends: common-lisp-controller
Description: Comprehensive Common Lisp Archive Network
cclan is a tool for creating a repository of Common Lisp packages.
cclan utilizes asdf to automatically create installable packages for various
......
#!/bin/sh
[ -d debian ] || exit 1
[ $(pwd | sed 's/.*\/\([^\/]*\)/\1/') == "asdf-cvs-master" ] || exit 3
set -e
cvs -q -z3 update -APd .
cvs2cl --stdout > changelog
VISUAL=nvi EDITOR=nvi dch --increment --preserve
DIR=`pwd`
rm -rf ../asdf || true
find . -type f -depth | cpio --pass-through --make-directories --link --preserve-modification-time ../asdf
cd ../asdf
find . -name CVS -print0 | xargs -0 rm -rvf
find . -name .cvsignore -print0 | xargs -0 rm -v
......@@ -67,7 +67,7 @@ binary-arch: build install
dh_installman
dh_installinfo
# dh_undocumented
dh_installchangelogs ChangeLog
dh_installchangelogs changelog
dh_link
dh_strip
dh_compress
......
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