1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-25 10:47:00 +00:00

Mention elpa branch in admin/notes/BRANCH; clarify admin/notes/elpa.

This commit is contained in:
Chong Yidong 2011-03-07 19:08:03 -05:00
parent e18c0aa335
commit eb8694ee59
2 changed files with 25 additions and 36 deletions

View File

@ -23,3 +23,10 @@ on what branch at any time.
If you are looking at this file in a branch other than the trunk,
there may be some branch-specific documentation below this line.
________________________________________________________________________
* elpa
This branch does not contain a copy of Emacs, but of the Emacs Lisp
package archive (elpa.gnu.org). See admin/notes/elpa for further
explanation, and the README file in the branch for usage
instructions.

View File

@ -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.)
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
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.
bzr branch bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa elpa
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:
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.
cd $DEVHOME
bzr init-repo elpa/
cd elpa
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.
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.
For details on how to use the elpa branch, see that README file in
that branch.