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

* Fixed duplicate components patch to better handle reloading

    defsystem files. Now works again with McClim. Closes: #310640
  * Corrected dependencies.
parent f4d94411
Loading
Loading
Loading
Loading
+29 −4
Original line number Diff line number Diff line
;;; 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,6 +95,7 @@
	   #: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
+30 −0
Original line number Diff line number Diff line
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
+3 −4
Original line number Diff line number Diff line
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
+21 −0
Original line number Diff line number Diff line
#!/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
+1 −1
Original line number Diff line number Diff line
@@ -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