X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fpackage-get.el;h=5ae5de3618ee21de2fe9e2fb2f5d4d9488589021;hb=888b990c92f60d7b5d0288d6c888b2fcf7a9d56b;hp=bbb188687b6988782ba2fa72c0fd03275423f50f;hpb=762383636a99307282c2d93d26c35c046ec24da1;p=chise%2Fxemacs-chise.git diff --git a/lisp/package-get.el b/lisp/package-get.el index bbb1886..5ae5de3 100644 --- a/lisp/package-get.el +++ b/lisp/package-get.el @@ -184,52 +184,62 @@ order until the package is found. As a special case, `site-name' can be (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") + ("ca.xemacs.org (Canada)" "ftp.ca.xemacs.org" "pub/Mirror/xemacs/packages") ("crc.ca (Canada)" "ftp.crc.ca" "pub/packages/editors/xemacs/packages") - ("ualberta.ca (Canada)" "sunsite.ualberta.ca" "pub/Mirror/xemacs/packages") - ("uiuc.edu (United States)" "uiarchive.uiuc.edu" "pub/packages/xemacs/packages") - ("unc.edu (United States)" "metalab.unc.edu" "pub/packages/editors/xemacs/packages") - ("utk.edu (United States)" "ftp.sunsite.utk.edu" "pub/xemacs/packages") + ("us.xemacs.org (United States)" "ftp.us.xemacs.org" "pub/xemacs/packages") + ("ibiblio.org (United States)" "ibiblio.org" "pub/packages/editors/xemacs/packages") + ("stealth.net (United States)" "ftp.stealth.net" "pub/mirrors/ftp.xemacs.org/pub/xemacs/packages") + ;("uiuc.edu (United States)" "uiarchive.uiuc.edu" "pub/packages/xemacs/packages") ;; South America - ("unicamp.br (Brazil)" "ftp.unicamp.br" "pub/xemacs/packages") + ("br.xemacs.org (Brazil)" "ftp.br.xemacs.org" "pub/xemacs/packages") ;; Europe - ("tuwien.ac.at (Austria)" "gd.tuwien.ac.at" "editors/xemacs/packages") - ("auc.dk (Denmark)" "sunsite.auc.dk" "pub/emacs/xemacs/packages") - ("doc.ic.ac.uk (England)" "sunsite.doc.ic.ac.uk" "packages/xemacs/packages") - ("funet.fi (Finland)" "ftp.funet.fi" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/packages") - ("cenatls.cena.dgac.fr (France)" "ftp.cenatls.cena.dgac.fr" "Emacs/xemacs/packages") + ("at.xemacs.org (Austria)" "ftp.at.xemacs.org" "editors/xemacs/packages") + ("be.xemacs.org (Belgium)" "ftp.be.xemacs.org" "xemacs/packages") + ("cz.xemacs.org (Czech Republic)" "ftp.cz.xemacs.org" "MIRRORS/ftp.xemacs.org/pub/xemacs/packages") + ("dk.xemacs.org (Denmark)" "ftp.dk.xemacs.org" "pub/emacs/xemacs/packages") + ("fi.xemacs.org (Finland)" "ftp.fi.xemacs.org" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/packages") + ("fr.xemacs.org (France)" "ftp.fr.xemacs.org" "pub/xemacs/packages") ("pasteur.fr (France)" "ftp.pasteur.fr" "pub/computing/xemacs/packages") + ("de.xemacs.org (Germany)" "ftp.de.xemacs.org" "pub/ftp.xemacs.org/tux/xemacs/packages") ("tu-darmstadt.de (Germany)" "ftp.tu-darmstadt.de" "pub/editors/xemacs/packages") - ("kfki.hu (Hungary)" "ftp.kfki.hu" "pub/packages/xemacs/packages") - ("eunet.ie (Ireland)" "ftp.eunet.ie" "mirrors/ftp.xemacs.org/pub/xemacs/packages") - ("uniroma2.it (Italy)" "ftp.uniroma2.it" "unix/misc/dist/XEMACS/packages") - ("uio.no (Norway)" "sunsite.uio.no" "pub/xemacs/packages") - ("icm.edu.pl (Poland)" "ftp.icm.edu.pl" "pub/unix/editors/xemacs/packages") - ("srcc.msu.su (Russia)" "ftp.srcc.msu.su" "mirror/ftp.xemacs.org/packages") - ("sunet.se (Sweden)" "ftp.sunet.se" "pub/gnu/xemacs/packages") - ("cnlab-switch.ch (Switzerland)" "sunsite.cnlab-switch.ch" "mirror/xemacs/packages") + ;("hu.xemacs.org (Hungary)" "ftp.hu.xemacs.org" "pub/packages/xemacs/packages") + ("ie.xemacs.org (Ireland)" "ftp.ie.xemacs.org" "mirrors/ftp.xemacs.org/pub/xemacs/packages") + ("it.xemacs.org (Italy)" "ftp.it.xemacs.org" "unix/packages/XEMACS/packages") + ("no.xemacs.org (Norway)" "ftp.no.xemacs.org" "pub/xemacs/packages") + ("pl.xemacs.org (Poland)" "ftp.pl.xemacs.org" "pub/unix/editors/xemacs/packages") + ("ru.xemacs.org (Russia)" "ftp.ru.xemacs.org" "pub/xemacs/packages") + ("sk.xemacs.org (Slovakia)" "ftp.sk.xemacs.org" "pub/mirrors/xemacs/packages") + ("se.xemacs.org (Sweden)" "ftp.se.xemacs.org" "pub/gnu/xemacs/packages") + ("ch.xemacs.org (Switzerland)" "ftp.ch.xemacs.org" "mirror/xemacs/packages") + ("uk.xemacs.org (United Kingdom)" "ftp.uk.xemacs.org" "sites/ftp.xemacs.org/pub/xemacs/packages") ;; Asia + ("jp.xemacs.org (Japan)" "ftp.jp.xemacs.org" "pub/GNU/xemacs/packages") ("aist.go.jp (Japan)" "ring.aist.go.jp" "pub/text/xemacs/packages") ("asahi-net.or.jp (Japan)" "ring.asahi-net.or.jp" "pub/text/xemacs/packages") ("dti.ad.jp (Japan)" "ftp.dti.ad.jp" "pub/unix/editor/xemacs/packages") ("jaist.ac.jp (Japan)" "ftp.jaist.ac.jp" "pub/GNU/xemacs/packages") ("nucba.ac.jp (Japan)" "mirror.nucba.ac.jp" "mirror/xemacs/packages") ("sut.ac.jp (Japan)" "sunsite.sut.ac.jp" "pub/archives/packages/xemacs/packages") - ("tsukuba.ac.jp (Japan)" "ftp.netlab.is.tsukuba.ac.jp" "pub/GNU/xemacs/packages") - ("kreonet.re.kr (Korea)" "ftp.kreonet.re.kr" "pub/tools/emacs/xemacs/packages") - ("nctu.edu.tw (Taiwan)" "coda.nctu.edu.tw" "Editors/xemacs/packages") + ("kr.xemacs.org (Korea)" "ftp.kr.xemacs.org" "pub/tools/emacs/xemacs/packages") + ;("tw.xemacs.org (Taiwan)" "ftp.tw.xemacs.org" "Editors/xemacs/packages") ;; Africa - ("sun.ac.za (South Africa)" "ftp.sun.ac.za" "xemacs/packages") + ("za.xemacs.org (South Africa)" "ftp.za.xemacs.org" "mirrorsites/ftp.xemacs.org/packages") ;; Middle East - ("isu.net.sa (Saudi Arabia)" "ftp.isu.net.sa" "pub/mirrors/ftp.xemacs.org/packages") + ("sa.xemacs.org (Saudi Arabia)" "ftp.sa.xemacs.org" "pub/mirrors/ftp.xemacs.org/xemacs/packages") ;; Australia + ("au.xemacs.org (Australia)" "ftp.au.xemacs.org" "pub/xemacs/packages") ("aarnet.edu.au (Australia)" "mirror.aarnet.edu.au" "pub/xemacs/packages") + + ;; Oceania + ("nz.xemacs.org (New Zealand)" "ftp.nz.xemacs.org" "mirror/ftp.xemacs.org/packages") ) "*List of remote sites available for downloading packages. List format is '(site-description site-name directory-on-site). @@ -268,7 +278,7 @@ Otherwise respect the `force-current' argument of `package-get-require-base'." :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." @@ -358,7 +368,9 @@ If NO-REMOTE is non-nil never search remote locations." 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, @@ -457,11 +469,11 @@ used interactively, for example from a mail or news buffer." (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) @@ -564,7 +576,8 @@ This is just an interactive wrapper for `package-admin-delete-binary-package'." (if (not (package-get (car pkg) nil 'never)) (throw 'exit nil) ;; Bail out if error detected )) - packages-package-list))) + packages-package-list)) + (package-net-update-installed-db)) ;;;###autoload (defun package-get-all (package version &optional fetched-packages install-dir) @@ -639,7 +652,6 @@ required by PACKAGES." (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)) @@ -865,6 +877,7 @@ successfully installed but errors occurred during initialization, or (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) ) @@ -950,7 +963,7 @@ Returns the modified PACKAGE-LIST. Any missing fields are created." (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)) @@ -1048,7 +1061,8 @@ lead to Emacs accessing remote sites." (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))