(defcustom package-get-download-sites
'(
;; North America
+ ("Pre-Releases" "ftp.xemacs.org" "pub/xemacs/beta/experimental/packages")
("xemacs.org" "ftp.xemacs.org" "pub/xemacs/packages")
("crc.ca (Canada)" "ftp.crc.ca" "pub/packages/editors/xemacs/packages")
("ualberta.ca (Canada)" "sunsite.ualberta.ca" "pub/Mirror/xemacs/packages")
:type 'boolean
:group 'package-get)
-(defcustom package-get-require-signed-base-updates t
+(defcustom package-get-require-signed-base-updates nil
"*If set to a non-nil value, require explicit user confirmation for updates
to the package-get database which cannot have their signature verified via PGP.
When nil, updates which are not PGP signed are allowed without confirmation."
is non-nil."
(or (package-get-locate-file package-get-base-filename t no-remote)
(if (file-exists-p package-get-user-index-filename)
- package-get-user-index-filename)))
+ package-get-user-index-filename)
+ (locate-data-file package-get-base-filename)
+ (error "Can't locate a package index file.")))
(defun package-get-maybe-save-index (filename)
"Offer to save the current buffer as the local package index file,
(unless (and location (file-writable-p location))
(setq location package-get-user-index-filename))
(when (y-or-n-p (concat "Update package index in " location "? "))
- (write-file location))))))
+ (let ((coding-system-for-write 'binary))
+ (write-file location)))))))
;;;###autoload
(save-excursion
(set-buffer buf)
(erase-buffer buf)
- (insert-file-contents-internal db-file)
+ (insert-file-contents-literally db-file)
(package-get-update-base-from-buffer buf)
(if (file-remote-p db-file)
(package-get-maybe-save-index db-file)))
(package-get-update-base-entries content-beg content-end)
(message "Updated package-get database"))))
-(defun package-get-update-base-entries (beg end)
+(defun package-get-update-base-entries (start end)
"Update the package-get database with the entries found between
-BEG and END in the current buffer."
+START and END in the current buffer."
(save-excursion
- (goto-char beg)
+ (goto-char start)
(if (not (re-search-forward "^(package-get-update-base-entry" nil t))
(error "Buffer does not contain package-get database entries"))
(beginning-of-line)
(mapcar
#'(lambda (reqd)
(let* ((reqd-package (package-get-package-provider reqd))
- (reqd-version (cadr reqd-package))
(reqd-name (car reqd-package)))
(if (null reqd-name)
(error "Unable to find a provider for %s" reqd))
;; Doing it with XEmacs removes the need for an external md5 program
(message "Validating checksum for `%s'..." package) (sit-for 0)
(with-temp-buffer
- ;; What ever happened to i-f-c-literally
- (let (file-name-handler-alist)
- (insert-file-contents-internal full-package-filename))
+ (insert-file-contents-literally full-package-filename)
(if (not (string= (md5 (current-buffer))
(package-get-info-prop this-package
'md5sum)))
(if (package-get-init-package (package-admin-get-lispdir
install-dir package))
(progn
+ (run-hook-with-args 'package-install-hook package install-dir)
(message "Added package `%s'" package)
(sit-for 0)
)
(defun package-get-staging-dir (filename)
"Return a good place to stash FILENAME when it is retrieved.
Use `package-get-dir' for directory to store stuff.
-Creates `package-get-dir' it it doesn't exist."
+Creates `package-get-dir' if it doesn't exist."
(interactive "FPackage filename: ")
(if (not (file-exists-p package-get-dir))
(make-directory package-get-dir))
(if (eval (intern (concat (symbol-name (car pkg)) "-package")))
(package-get (car pkg) nil))
t)
- package-get-base))
+ package-get-base)
+ (package-net-update-installed-db))
(defun package-get-ever-installed-p (pkg &optional notused)
(string-match "-package$" (symbol-name pkg))