Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jambunathan K <kjambunathan <at> gmail.com>
Subject: ELPA Howto
Newsgroups: gmane.emacs.orgmode
Date: Thursday 30th September 2010 07:30:52 UTC (over 6 years ago)
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.
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
 
CD: 3ms