Merge from emacs-23; up to 2010-06-01T01:49:15Z!monnier@iro.umontreal.ca
[bpt/emacs.git] / admin / notes / elpa
1 NOTES ON THE EMACS PACKAGE ARCHIVE
2
3 Here are instructions on uploading files to the package archive at
4 elpa.gnu.org, for Emacs maintainers. (If you are not a maintainer,
5 contact us if you want to submit a package.)
6
7 1. You will need login access to elpa.gnu.org. You will also need to
8 get the FSF sysadmins to allow ssh access through the FSF firewall
9 for your local machine. Ensure that your uid, USER, is in the
10 `elpa' group on elpa.gnu.org; this gives you write access to the
11 bzr repository from which the packages are managed.
12
13 2. Go to your bzr repository on your local machine. Of, if you don't
14 have one (you should, if you're tracking Emacs bzr), make one:
15
16 cd $DEVHOME
17 bzr init-repo elpa/
18 cd elpa
19
20 Create a branch for elpa:
21
22 bzr branch bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo package-repo
23
24 Bind the branch:
25
26 cd package-repo/
27 echo "public_branch = bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo" >> .bzr/branch/branch.conf
28 bzr bind bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo
29
30 Now you should be able to do `bzr up' and `bzr commit'.
31
32 3. Changes in bzr do not immediately propagate to the user-facing tree
33 (i.e., what users see when they do `M-x list-packages'). That tree
34 is created by a (daily) cron job that does "bzr export". If for
35 some reason you need to refresh the user-facing tree immediately,
36 run /home/elpa/bin/package-update.sh as the "elpa" user.
37
38 The Org mode dailies are not part of the repository. After the
39 package-update.sh script creates the user-facing tree, it copies
40 the daily tarfile hosted on orgmode.org directly into that tree.
41
42 4. FIXME: How to actually upload a package file.