summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2022-10-29 14:00:21 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2022-10-29 14:00:21 -0400
commit18de3e1b6bdbbf2c5ceb271368d453c357f3adc1 (patch)
treeb01c91a9088bcc0aba007b3aec05ea6185c13fa6 /README
parent97762d8785968b5758e299d40e0b0277f1e4c381 (diff)
README (Getting the source): Sync with the `admin/README`
Diffstat (limited to 'README')
-rw-r--r--README34
1 files changed, 19 insertions, 15 deletions
diff --git a/README b/README
index 0616a3a..2ac0eed 100644
--- a/README
+++ b/README
@@ -39,28 +39,26 @@ The layout of the =elpa.git= repository is as follows:
* Getting the source
-Start with source that is cloned directly from Savannah. See [[https://savannah.gnu.org/git/?group=emacs][the
-Savannah page]] and look for "GNU ELPA". Using a clone of a clone does
-not work.
+Start with source that is cloned directly from Savannah
+(See [[https://savannah.gnu.org/git/?group=emacs][the Savannah page]] and look for "ELPA").
+Using a clone of a clone might not work.
-The =Makefile= in =main= will automatically pull the =elpa-admin=
-branch to populate the =admin= subdirectory. This is done by:
+The repository is large because it contains all the packages, so you
+will usually want to clone with =--single-branch= to avoid downloading
+a large amount of irrelevant data. More specifically, here is how you
+can get the source and setup the general infrastructure:
#+begin_src shell
- make setup
+ git clone --single-branch git://git.savannah.gnu.org/emacs/elpa.git
+ cd elpa
+ make
#+end_src
-This will checkout the =elpa-admin= branch to the subdirectory
-=admin=.
+Where the =Makefile= in the =main= branch is used to automatically
+pull the =elpa-admin= branch to populate the =admin= subdirectory.
However, it leaves the =packages= directory empty; you must check out
-the ones you want. The =Makefile= in the =admin= subdirectory is
-responsible for populating the =packages= subdirectories from the
-relevant sources.
-
-Note that this =Makefile= is symlinked to the root of the repository
-by the above =make setup= command. This means that you can run
-targets directly from
+the ones you want.
** Check out all packages
@@ -80,6 +78,12 @@ directory with this command:
make packages/<pkgname>
#+end_src
+The first time you run this command, it just populates that directory.
+After that, it will (re)"build" the package for use in-place, i.e. it will
+create (or refresh) the =<pkgname>-pkg.el= and =<pkgname>-autoloads.el= files
+and (re)compile the ELisp files under the assumption that you have put
+=.../elpa/packages/= into your =package-directory-list=.
+
** Updating a package directory
If you already have a =packages/<pkgname>= directory with a previous