> 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.