X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fpackage-net.el;h=cef7ace5f60d5cb88abbf3687721d5f3df8d448b;hb=cba453c5c2c4a7f01bf8818720cb78cf243fa231;hp=015c9900621c7d97d4bc4c0586f2e01201231cb6;hpb=571a24e2bfea15d37c3503414674f59e89ec9652;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/package-net.el b/lisp/package-net.el index 015c990..cef7ace 100644 --- a/lisp/package-net.el +++ b/lisp/package-net.el @@ -55,32 +55,9 @@ ;; ;; 3. For package releases that's all you need to do. For binary ;; releases you need to build both cygwin and win32 binaries and put -;; them in appropriate tarballs: +;; them in appropriate tarballs: This can be achieved by running +;; build-msw-release.sh ;; -;; For cygwin, configure, make and install and then do (this is for -;; 21.1.13): -;; -;; cd -;; tar cvzf xemacs-i686-pc-cygwin32-21.1.13.tar.gz \ -;; ./bin/i686-pc-cygwin32 ./lib/xemacs-21.1.13 \ -;; ./lib/xemacs/lock ./man/man1/xemacs.1 \ -;; ./man/man1/ctags.1 ./man/man1/gnu*.1' -;; -;; Note that the naming of the package is important. Don't be tempted -;; to change the order in any way. -;; -;; For win32 build and install the release and then (again for -;; 21.1.13): -;; -;; cd -;; tar cvzf xemacs-i386-pc-win32-21.1.13.tar.gz ./XEmacs-21.1.13 -;; -;; The binaries should be uploaded to -;; `ftp://ftp.xemacs.org/pub/xemacs/binaries/cygwin32' and -;; `ftp://ftp.xemacs.org/pub/xemacs/binaries/win32' respectively. Take -;; a note of their sizes and set `package-net-cygwin32-binary-size' -;; and `package-net-win32-binary-size' appropriately in this file and -;; then follow step 2. (require 'package-admin) (require 'package-get) @@ -99,86 +76,69 @@ ;; ;; 2. Generating setup.ini should be more automatic. -(defvar package-net-cygwin32-binary-size 6917126 +(defvar package-net-cygwin32-binary-size 0 "The size in bytes of the cygwin32 binary distribution.") -(defvar package-net-win32-binary-size 6563941 +(defvar package-net-win32-binary-size 0 "The size in bytes of the win32 binary distribution.") +(defvar package-net-kit-version "" + "XEmacs kitting revision, usually empty.") + +(defvar package-net-setup-version "1.0" + "The version string of setup.") + ;;;###autoload (defun package-net-setup-directory () (file-truename (concat data-directory "../../" (if (eq system-type 'cygwin32) "xemacs/setup/" "setup/")))) -(defun package-net-convert-index-to-ini (&optional destdir remote version) - "Convert the package index to ini file format in DESTDIR. -DESTDIR defaults to the value of `data-directory'." - (package-get-require-base remote) - - (setq destdir (file-name-as-directory (or destdir data-directory))) - (let ((buf (get-buffer-create "*setup.ini*"))) +(defun package-net-generate-bin-ini (&optional version) + "Convert the package index to ini file format in the current directory." + (let ((buf (get-buffer-create "*setup-bin.ini*"))) (unwind-protect (save-excursion (set-buffer buf) (erase-buffer buf) (goto-char (point-min)) - (let ((entries package-get-base) entry plist) - (insert "# This file is automatically generated. If you edit it, your\n") - (insert "# edits will be discarded next time the file is generated.\n") - (insert "#\n\n") - (insert (format "setup-timestamp: %d\n" - (+ (* (car (current-time)) 65536) (car (cdr (current-time)))))) - (insert (format "setup-version: %s\n\n" (or version "1.0"))) - ;; Native version - (insert (format "@ %s\n" "xemacs-i386-pc-win32")) - (insert (format "version: %s\n" emacs-program-version)) - (insert "type: native\n") - (insert (format "install: binaries/win32/%s %d\n\n" - (concat emacs-program-name - "-i386-pc-win32-" - emacs-program-version ".tar.gz") - package-net-win32-binary-size)) - ;; Cygwin version - (insert (format "@ %s\n" "xemacs-i686-pc-cygwin32")) - (insert (format "version: %s\n" emacs-program-version)) - (insert "type: cygwin\n") - (insert (format "install: binaries/cygwin32/%s %d\n\n" - (concat emacs-program-name - "-i686-pc-cygwin32-" - emacs-program-version ".tar.gz") - package-net-cygwin32-binary-size)) - ;; Standard packages - (while entries - (setq entry (car entries)) - (setq plist (car (cdr entry))) - ;; ignore mule packages - (unless (or (memq 'mule-base (plist-get plist 'requires)) - (eq 'mule-base (car entry))) - (insert (format "@ %s\n" (symbol-name (car entry)))) - (insert (format "version: %s\n" (plist-get plist 'version))) - (insert (format "install: packages/%s %s\n" (plist-get plist 'filename) - (plist-get plist 'size))) - ;; These are not supported as yet - ;; - ;; (insert (format "source: %s\n" (plist-get plist 'source))) - ;; (insert "[prev]\n") - ;; (insert (format "version: %s\n" (plist-get plist 'version))) - ;; (insert (format "install: %s\n" (plist-get plist 'filename))) - ;; (insert (format "source: %s\n" (plist-get plist 'source))) - (insert "\n")) - (setq entries (cdr entries)))) + (insert "# This file is automatically generated. If you edit it, your\n") + (insert "# edits will be discarded next time the file is generated.\n") + (insert "#\n\n") + (insert (format "setup-timestamp: %d\n" + (+ (* (car (current-time)) 65536) (car (cdr (current-time)))))) + (insert (format "setup-version: %s\n\n" (or version "1.0"))) + ;; Native version + (insert (format "@ %s\n" "xemacs-i586-pc-win32")) + (insert (format "version: %s%s\n" emacs-program-version + package-net-kit-version)) + (insert "type: native\n") + (insert (format "install: win32/%s %d\n\n" + (concat emacs-program-name + "-i586-pc-win32-" + emacs-program-version package-net-kit-version + ".tar.gz") + package-net-win32-binary-size)) + ;; Cygwin version + (insert (format "@ %s\n" "xemacs-i686-pc-cygwin")) + (insert (format "version: %s%s\n" emacs-program-version + package-net-kit-version)) + (insert "type: cygwin\n") + (insert (format "install: cygwin32/%s %d\n\n" + (concat emacs-program-name + "-i686-pc-cygwin-" + emacs-program-version package-net-kit-version + ".tar.gz") + package-net-cygwin32-binary-size)) (insert "# setup.ini file ends here\n") - (write-region (point-min) (point-max) (concat destdir "setup.ini"))) - (kill-buffer buf)))) + (write-region (point-min) (point-max) "setup-bin.ini"))) + (kill-buffer buf))) -(defun package-net-batch-convert-index-to-ini () +(defun package-net-batch-generate-bin-ini () "Convert the package index to ini file format." (unless noninteractive - (error "`package-net-batch-convert-index-to-ini' is to be used only with -batch")) - (let ((dir (car command-line-args-left)) - (version (car (cdr command-line-args-left))) - (package-get-require-signed-base-updates nil)) - (package-net-convert-index-to-ini dir nil version))) + (error 'invalid-operation + "`package-net-batch-generate-bin-ini' is to be used only with -batch")) + (package-net-generate-bin-ini package-net-setup-version)) ;;;###autoload (defun package-net-update-installed-db (&optional destdir)