emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* ELPA Howto
@ 2010-09-30  7:30 Jambunathan K
  2010-09-30 14:34 ` Jeff Horn
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Jambunathan K @ 2010-09-30  7:30 UTC (permalink / raw)
  To: emacs-orgmode


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.

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2010-10-20 21:00 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30  7:30 ELPA Howto Jambunathan K
2010-09-30 14:34 ` Jeff Horn
2010-10-02 18:22 ` Eric Schulte
2010-10-03  4:23   ` Jambunathan K
2010-10-04  1:28     ` Eric Schulte
2010-10-04 13:15       ` Eric Schulte
2010-10-20 16:37     ` Bastien
2010-10-20 19:44       ` Jambunathan K
2010-10-20 21:00         ` Eric Schulte
2010-10-04 13:39 ` Carsten Dominik
2010-10-04 17:29   ` Jambunathan K
2010-10-04 18:23   ` Jambunathan K
2010-10-05  2:13     ` Carsten Dominik
2010-10-05 10:11       ` Jambunathan K
2010-10-05 11:09   ` Version string (was Re: ELPA Howto) Jambunathan K
2010-10-08 10:38     ` Carsten Dominik
2010-10-08 11:45       ` Carsten Dominik
2010-10-09  5:27         ` Jambunathan K
2010-10-08 15:26       ` Jambunathan K

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).