kelleyk / ppa-emacs

Packaging repository for my Emacs PPA

Home Page:https://launchpad.net/~kelleyk/+archive/ubuntu/emacs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

/usr/local/share/emacs/site-lisp not in load-path

rolk opened this issue · comments

Emacs defaults by upsteam to be installed in /usr/local. As this installs to /usr instead, it doesn't include /usr/local/share/emacs/site-lisp in load-path, making it hard to use as a replacement for the distribution's Emacs (which expects extra packages to be installed there).

Consequently, I would consider passing --enable-locallisppath=/etc/emacs$(suffix):/etc/emacs:/usr/local/share/emacs/$(major).$(minor)/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/$(major).$(minor)/site-lisp:/usr/share/emacs/site-lisp to the ./configure script, so it would include the same packages as the distribution version.

Thanks for taking the time to open this issue! I've added this to my list of things to change about the packaging when I have time to rework it. This seems likely to be related to the issue discussed in #1.

Howdy! At long last, I've added machinery that does this to the packaging.

On 20.04, the Ubuntu-provided packages for Emacs 26.3 have the following load-path:

/usr/local/share/emacs/26.3/site-lisp
/usr/local/share/emacs/site-lisp
/usr/share/emacs/26.3/site-lisp
/usr/share/emacs/site-lisp
/usr/share/emacs/26.3/lisp
/usr/share/emacs/26.3/lisp/[many subdirs]

My emacs27 packages (which should be available in the PPA shortly) have been updated to use the same configuration; when I install them on a test system, I see the following load-path:

/usr/local/share/emacs/27.1/site-lisp
/usr/local/share/emacs/site-lisp
/usr/share/emacs/27.1/site-lisp
/usr/share/emacs/site-lisp
/usr/share/emacs/27.1/lisp
/usr/share/emacs/27.1/lisp/[many subdirs]

Hopefully this resolves the issue going forward. I can't decide whether it'd be a good idea to go back and release updated packages for Emacs 25 and 26 that do the same thing; do you have thoughts? It would mean that people who depend on the old behavior would get a little surprise.