X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/2b101499705c5faf88cc2007139f20444795d011..368dbd026fe0ebd0f9f50be09d0f2a5f58d06c0a:/README diff --git a/README b/README index 9632487d1..097e43049 100644 --- a/README +++ b/README @@ -1,19 +1,116 @@ -SML-MODE is a major Emacs mode for editing Standard ML. -It provides syntax highlighting and automatic indentation and -comes with sml-proc which allows interaction with an inferior SML -interactive loop. +Copyright (C) 2010-2011 Free Software Foundation, Inc. +See the end of the file for license conditions. -This release should work on any recent version of Emacs or XEmacs. -If it doesn't: complain. -Some more or less out of date documentation can be found in TeXinfo format. +This branch contains the sources, deployment scripts, and auxilliary +files for the Emacs Lisp package archive (elpa.gnu.org). -Check the INSTALL file for installation instructions. -Check the NEWS file for a list of changes in this version. -Check the BUGS and TODO file before sending me bug reports and requests for -enhancements. +This file explains the branch layout, how to add and edit packages, +and how to deploy the archive (either on elpa.gnu.org, or a local copy +for testing purposes). -Send any complaint/question/praise/ice-cream to me, +* DIRECTORY LAYOUT - Stefan Monnier +** admin/ -- scripts for administering the package archive. +** html/ -- HTML for the elpa.gnu.org website. +** packages/ -- source code for the packages. + + +* PACKAGES + +** Contents of the packages/ directory: +This directory holds the package sources, with one subdirectory for +each package. + +** To add a package: + +*** Add a simple (1-file) package as packages/NAME/NAME.el. + +*** Add a multi-file package as a directory, packages/NAME. + +*** Commit your changes the usual way ("bzr add", "bzr commit", etc). + +Changes in the Bzr repository do not immediately propagate to the +user-facing archive (what users see when they do `M-x list-packages'). +That is done by deploying the archive. + + +* DEPLOYMENT + +** To use the package repository as a "site installation" of packages: + + make site + +This compiles and generates autoloads for all the packages in the +packages/ directory, and creates a site/ directory containing symlinks +to the package directories. + +Now you have to add this site/ directory to `package-directory-list', +and all the packages will be available. + +** To deploy the package repository as a remotely-accessible archive: + + make archive + +or + + make archive-full + +This deploys the packages to the archive/ directory. Unlike "make +site", this makes a full copy of the packages, and tars up multi-file +packages. + +A full deployment also copies the admin scripts to archive/admin, and +fetches externally hosted packages (currently, the Org daily builds) +and adds them to the archive. + +** To access a deployed archive + +To access the archive via HTPP, have a symlink (say) /var/www/packages +pointing to DEST/packages, and set up Emacs with + + (setq package-archives '(("new-elpa" . "http://foo.com/packages"))) + +You can also access the archive via normal file access. Such "local +archives" are useful for debugging: + + (setq package-archives '(("local-elpa" . "DEST/packages"))) + +** Notes specific to elpa.gnu.org + +The way things are set up on this machine, we refresh the archive by +logging in (login access set up by FSF admins), and + +su elpa +cd ~elpa/elpa +bzr up + +Then make a full archive deployment, as discussed above. The symlink +/var/www/packages points to the staging package directory under +/home/elpa/. + +The Org mode dailies are also fetched and added by the script +admin/org-synch.sh, run as a cron job. + + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: