summaryrefslogtreecommitdiff
path: root/notes.org
blob: 5e08b7f3d7e9e977653b4d75dc4cd01d9c5f9ce3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
* package.el

- package-directory-list (v) 
  
  list of additional directories containing elpa packages. In
  particular this has an emacs version specific directory where we can
  install byte compiled files.

  Note that having the same package-$version in two different
  directories in this list seems not to work out well, since the
  ordering of the constructed load-path is backwards from the list. Or
  something.

- package-unpack (f) 

  does the actual installation, using dynamically bound
  *package-user-dir*. The current version is safe to call without
  network access, but it's probably considered internal.

* workflow
** at package build time
- install a copied/modified package-unpack into 

  $(DESTDIR)/usr/share/emacs/site-lisp/elpa-src

  This is intentionally not ending in elpa, because of the problems
  discussed immediately above with multiple versions of a package.

- install emacsen-common helper scripts into 
  $(DESTDIR)/usr/lib/emacsen-common/packages/{compat,install,remove}

- add postinst / prerm cookies to maintainer scripts

** at package install time
- prerm and postinst as per a normal emacsen-common using package
- don't install a startup file into /etc; that's one of our selling
  points.