emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] ELPA Howto


From: Jambunathan K
Subject: [Orgmode] ELPA Howto
Date: Thu, 30 Sep 2010 13:00:52 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt)

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]