anchor.diff:     (release-index
       :initarg :release-index
       :accessor release-index)
  +   (provided-systems
  +    :initarg :provided-systems
  +    :accessor provided-systems)
  +   (provided-releases
  +    :initarg :provided-releases
  +    :accessor provided-releases)
      (local-distinfo-file
       :initarg :local-distinfo-file
       :accessor local-distinfo-file))
  
positive.code:             (unless (ignorable line)
                (funcall fun line))))))
  
  (defmethod initialize-release-index ((dist dist))
    (let ((releases (ensure-release-index-file dist))
          (index (make-hash-table :test 'equal)))
      (call-for-each-index-entry
       releases
       (lambda (line)
         (let ((instance (make-line-instance line 'release
                                             :project-name
                                             :archive-url
                                             :archive-size
                                             :archive-md5
                                             :archive-content-sha1
                                             :prefix
                                             :system-files)))
           (setf (dist instance) dist)
           (setf (archive-size instance) (parse-integer (archive-size instance)))
           (setf (gethash (project-name instance) index) instance))))
      (setf (release-index dist) index)))
  
  (defmethod slot-unbound (class (dist dist) (slot (eql 'release-index)))
    (declare (ignore class))
    (setf (slot-value dist 'release-index)
  
negative.code:         (ql-cdb:convert-index-file release-file
                                     :cdb-file cdb-file
                                     :index 0))))
  
  (defmethod slot-unbound (class (dist dist) (slot (eql 'provided-systems)))
    (declare (ignore class))
    (initialize-indexes dist)
    (setf (slot-value dist 'provided-systems)
          (loop for system being each hash-value of (system-index dist)
                collect system)))
  
  (defmethod slot-unbound (class (dist dist) (slot (eql 'provided-releases)))
    (declare (ignore class))
    (initialize-indexes dist)
    (setf (slot-value dist 'provided-releases)
          (loop for system being each hash-value of (release-index dist)
                collect system)))
  
  
  (defun dist-name-pathname (name)
  