I managed to create an elpa compatible tar for orgmode. Recording here what I did in the hope that it will be useful.
Creating ELPA-compatible tar: 1. Add the enclosed changes to Makefile. 2. Create an ELPA-compatible tarfile with $ make TAG=20100930 elpa 3. Copy the generated org-20100930.tar to the package server ELPA Server-side setup: 1. Server is running on loopback IP. ,----[ C-h v package-archives RET ] | package-archives is a variable defined in `package.el'. | Its value is | (("self" . "http://127.0.0.1/packages/")) | `---- 2. Directory structure ,---- | > dir packages | 97 archive-contents | 3,778,560 org-20100930.tar | 2 File(s) 3,778,657 bytes | | > cat packages/archive-contents | | (1 | (org . | [(20100930) | nil "Outline-based notes management and organizer" tar]) | ) | `---- 3. .emacs ,---- | (custom-set-variables | '(package-archives (quote (("self" . "http://127.0.0.1/packages/"))))) `---- ,---- [ .emacs ] | (when (load (expand-file-name "~/elisp/package.el")) | (package-initialize)) `---- The tar file is now ready for installation with M-x list-packages etc etc. An Observation: package.el generates an 'org-autoloads.el' as part of compilation and loads the same as part of activation. This means that autoloads such as 'org-agenda' gets served from the newly installed package while non-autoloads like 'org-overview' still point to the old installation. This means that a restart of Emacs is necessary for the new changes to take effect. I am not sure whether it is intended. But this behaviour could surprise the user. Jambunathan K. Attachments: X diff --git a/Makefile b/Makefile X old mode 100644 X new mode 100755 X index 1c1f317..a84b62f X --- a/Makefile X +++ b/Makefile X @@ -53,6 +53,9 @@ CP = cp -p X # Name of the program to install info files X INSTALL_INFO=install-info X X + X +DOCSTRING = "Outline-based notes management and organizer" X + X ##---------------------------------------------------------------------- X ## BELOW THIS LINE ON YOUR OWN RISK! X ##---------------------------------------------------------------------- X @@ -325,6 +328,14 @@ distfile: X zip -r org-$(TAG).zip org-$(TAG) X gtar zcvf org-$(TAG).tar.gz org-$(TAG) X X +elpa: install-info X + $(MKDIR) org-$(TAG) X + cp -r $(LISPFILES0) org-$(TAG)/ X + cp $(infodir)/dir org-$(TAG) X + cp $(INFOFILES) org-$(TAG) X + echo "(define-package \"org\" \"$(TAG)\" \"$(DOCSTRING)\")" > org-$(TAG)/org-pkg.el X + tar cf org-$(TAG).tar org-$(TAG) --remove-files X + X makerelease: X @if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi X ${MAKE} distfile X Jambunathan K. _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode