> I suggest you start with an ELPA package. If it turns out to be > popular, we can later include it in Emacs. Ok, I'll call it adjust-parens. In ELPA, 'make archive' expects a package ChangeLog, even while existing packages don't have one. $ make archive rm -r archive-tmp rm: cannot remove `archive-tmp': No such file or directory make: [archive-tmp] Error 1 (ignored) mkdir -p archive-tmp cp -a packages/. archive-tmp/packages make process-archive make[1]: Entering directory `/redacted/linux/boreilly/sw/elpa' # FIXME, we could probably speed this up significantly with # rules like "%.tar: ../%/ChangeLog" so we only rebuild the packages # that have indeed changed. cd archive-tmp/packages; \ emacs --batch -l /redacted/linux/boreilly/sw/elpa/admin/archive-contents.el \ -f batch-make-archive Skipping non-package file README Wrote /home/boreilly/l/sw/elpa/archive-tmp/packages/ack/ack-pkg.el Error in adaptive-wrap: (file-error "Opening input file" "no such file or directory" "/home/boreilly/l/sw/elpa/archive-tmp/packages/adaptive-wrap/ChangeLog") make[1]: *** [process-archive] Error 255 make[1]: Leaving directory `/redacted/linux/boreilly/sw/elpa' make: *** [archive] Error 2 I fixed it with this patch (git diff -w): diff --git a/admin/archive-contents.el b/admin/archive-contents.el index 2d588e9..640c285 100644 --- a/admin/archive-contents.el +++ b/admin/archive-contents.el @@ -206,6 +206,7 @@ Rename DIR/PKG.el to PKG-VERS.el, delete DIR, and return the descriptor." (re-search-backward "^;;;.*ends here") (re-search-backward "^(provide") (skip-chars-backward " \t\n") + (when (file-readable-p cl) (insert "\n\n;;;; ChangeLog:\n\n") (let* ((start (point)) (end (copy-marker start t))) @@ -213,7 +214,7 @@ Rename DIR/PKG.el to PKG-VERS.el, delete DIR, and return the descriptor." (goto-char end) (unless (bolp) (insert "\n")) (while (progn (forward-line -1) (>= (point) start)) - (insert ";; "))) + (insert ";; ")))) (set (make-local-variable 'backup-inhibited) t) (basic-save-buffer) ;Less chatty than save-buffer. (kill-buffer))) Shall I commit this? After that, list-packages shows the new adjust-parens package in the local ELPA archive. Here are some ELPA README redlines: diff --git a/README b/README index 097e430..3d01912 100644 --- a/README +++ b/README @@ -29,9 +29,9 @@ each package. *** Add a multi-file package as a directory, packages/NAME. -*** Commit your changes the usual way ("bzr add", "bzr commit", etc). +*** Commit your changes the usual way ("git add", "git commit", etc). -Changes in the Bzr repository do not immediately propagate to the +Changes in the Git repository do not immediately propagate to the user-facing archive (what users see when they do `M-x list-packages'). That is done by deploying the archive. @@ -67,7 +67,7 @@ and adds them to the archive. ** To access a deployed archive -To access the archive via HTPP, have a symlink (say) /var/www/packages +To access the archive via HTTP, have a symlink (say) /var/www/packages pointing to DEST/packages, and set up Emacs with (setq package-archives '(("new-elpa" . "http://foo.com/packages"))) The ELPA README mentions having a "site" build target, but: $ make site make: *** No rule to make target `site'. Stop. If the site target to Make is indeed gone, I'll remove wording from the README about it too. With no objections, I'll commit the above diffs and the attached adjust-parens.el file to ELPA.