summaryrefslogtreecommitdiff
path: root/admin/notes/elpa
diff options
context:
space:
mode:
Diffstat (limited to 'admin/notes/elpa')
-rw-r--r--admin/notes/elpa62
1 files changed, 22 insertions, 40 deletions
diff --git a/admin/notes/elpa b/admin/notes/elpa
index e28d81e6d6..cbea8cc1df 100644
--- a/admin/notes/elpa
+++ b/admin/notes/elpa
@@ -1,42 +1,24 @@
NOTES ON THE EMACS PACKAGE ARCHIVE
-Here are instructions on uploading files to the package archive at
-elpa.gnu.org, for Emacs maintainers. (If you are not a maintainer,
-contact us if you want to submit a package.)
-
-1. You will need login access to elpa.gnu.org. You will also need to
- get the FSF sysadmins to allow ssh access through the FSF firewall
- for your local machine. Ensure that your uid, USER, is in the
- `elpa' group on elpa.gnu.org; this gives you write access to the
- bzr repository from which the packages are managed.
-
-2. Go to your bzr repository on your local machine. Of, if you don't
- have one (you should, if you're tracking Emacs bzr), make one:
-
- cd $DEVHOME
- bzr init-repo elpa/
- cd elpa
-
- Create a branch for elpa:
-
- bzr branch bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo package-repo
-
- Bind the branch:
-
- cd package-repo/
- echo "public_branch = bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo" >> .bzr/branch/branch.conf
- bzr bind bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo
-
- Now you should be able to do `bzr up' and `bzr commit'.
-
-3. Changes in bzr do not immediately propagate to the user-facing tree
- (i.e., what users see when they do `M-x list-packages'). That tree
- is created by a (daily) cron job that does "bzr export". If for
- some reason you need to refresh the user-facing tree immediately,
- run /home/elpa/bin/package-update.sh as the "elpa" user.
-
- The Org mode dailies are not part of the repository. After the
- package-update.sh script creates the user-facing tree, it copies
- the daily tarfile hosted on orgmode.org directly into that tree.
-
-4. FIXME: How to actually upload a package file.
+The GNU Emacs package archive, at elpa.gnu.org, is managed using Bzr.
+The Bzr branch is hosted on Savannah, and you can check it out with
+
+ bzr branch bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa elpa
+
+Changes made to this branch propagate to elpa.gnu.org as follows.
+There exists a copy of the elpa branch on that machine. Someone with
+access must log in, pull the latest changes from Savannah, and run a
+"deployment" script that generates the content at the web-visible
+location http://elpa.gnu.org/packages.
+
+The reason things are set up this way, instead of using the package
+upload utilities in package-x.el, is so that Emacs hackers can easily
+edit the contents of the Savannah "elpa" branch, with the aid of
+version control. (For instance, multi-file packages are stored on the
+Bzr branch in source form, not as tarfiles.) Because deployment is a
+semi-manual process, this allows us some flexibility in making changes
+to the branch on Savannah. Furthermore, one can use the elpa branch
+to deploy a "local" copy of the package archive, for testing.
+
+For details on how to use the elpa branch, see that README file in
+that branch.