diff options
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/BRANCH | 7 | ||||
| -rw-r--r-- | admin/notes/elpa | 62 |
2 files changed, 29 insertions, 40 deletions
diff --git a/admin/notes/BRANCH b/admin/notes/BRANCH index 53f3d9603ca..9f09135f206 100644 --- a/admin/notes/BRANCH +++ b/admin/notes/BRANCH | |||
| @@ -23,3 +23,10 @@ on what branch at any time. | |||
| 23 | If you are looking at this file in a branch other than the trunk, | 23 | If you are looking at this file in a branch other than the trunk, |
| 24 | there may be some branch-specific documentation below this line. | 24 | there may be some branch-specific documentation below this line. |
| 25 | ________________________________________________________________________ | 25 | ________________________________________________________________________ |
| 26 | |||
| 27 | * elpa | ||
| 28 | |||
| 29 | This branch does not contain a copy of Emacs, but of the Emacs Lisp | ||
| 30 | package archive (elpa.gnu.org). See admin/notes/elpa for further | ||
| 31 | explanation, and the README file in the branch for usage | ||
| 32 | instructions. | ||
diff --git a/admin/notes/elpa b/admin/notes/elpa index e28d81e6d6e..db14456fe32 100644 --- a/admin/notes/elpa +++ b/admin/notes/elpa | |||
| @@ -1,42 +1,24 @@ | |||
| 1 | NOTES ON THE EMACS PACKAGE ARCHIVE | 1 | NOTES ON THE EMACS PACKAGE ARCHIVE |
| 2 | 2 | ||
| 3 | Here are instructions on uploading files to the package archive at | 3 | The GNU Emacs package archive, at elpa.gnu.org, is managed using a Bzr |
| 4 | elpa.gnu.org, for Emacs maintainers. (If you are not a maintainer, | 4 | branch named "elpa", hosted on Savannah. To check it out: |
| 5 | contact us if you want to submit a package.) | 5 | |
| 6 | 6 | bzr branch bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa elpa | |
| 7 | 1. You will need login access to elpa.gnu.org. You will also need to | 7 | cd elpa |
| 8 | get the FSF sysadmins to allow ssh access through the FSF firewall | 8 | echo "public_branch = bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa" >> .bzr/branch/branch.conf |
| 9 | for your local machine. Ensure that your uid, USER, is in the | 9 | bzr bind bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/elpa |
| 10 | `elpa' group on elpa.gnu.org; this gives you write access to the | 10 | [create task branch for edits, etc.] |
| 11 | bzr repository from which the packages are managed. | 11 | |
| 12 | 12 | Changes to this branch propagate to elpa.gnu.org in a semi-manual way. | |
| 13 | 2. Go to your bzr repository on your local machine. Of, if you don't | 13 | There exists a copy of the elpa branch on that machine. Someone with |
| 14 | have one (you should, if you're tracking Emacs bzr), make one: | 14 | access logs in, pulls the latest changes from Savannah, and runs a |
| 15 | 15 | "deployment" script. This script (which is itself kept in the Bzr | |
| 16 | cd $DEVHOME | 16 | branch) generates the content visible at http://elpa.gnu.org/packages. |
| 17 | bzr init-repo elpa/ | 17 | |
| 18 | cd elpa | 18 | The reason we set things up this way, instead of using the package |
| 19 | 19 | upload commands in package-x.el, is to let Emacs hackers conveniently | |
| 20 | Create a branch for elpa: | 20 | edit the contents of the "elpa" branch. (In particular, multi-file |
| 21 | 21 | packages are stored on the branch in source form, not as tarfiles.) | |
| 22 | bzr branch bzr+ssh://USER@elpa.gnu.org/home/elpa/package-repo package-repo | 22 | |
| 23 | 23 | It is easy to use the elpa branch to deploy a "local" copy of the | |
| 24 | Bind the branch: | 24 | package archive. For details, see the README file in the elpa 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. | ||