[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Where should dynamic modules be installed?
From: |
Ulrich Mueller |
Subject: |
Re: Where should dynamic modules be installed? |
Date: |
Mon, 21 Oct 2019 16:36:02 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
>>>>> On Mon, 21 Oct 2019, Eli Zaretskii wrote:
>> We are going to include the first package with a dynamically loaded
>> module (emacs-libvterm) in Gentoo. The question arose where the .so
>> file should be installed? Since it is a system dependent binary,
>> installing it under /usr/share/emacs/ looks wrong. I cannot find
>> anything about a recommended install location in the documentation.
> Why do you think /usr/share/emacs/ is wrong? That's where the
> site-lisp directory lives.
Yes, but modules aren't lisp files but dynamic libraries, which are
architecture dependent. The FHS [1] says that /usr/share is for data
files that are architecture *independent*.
>> Also, wouldn't it be cleaner if Emacs had a separate variable (analog
>> to image-load-path, custom-theme-load-path, etc.) for loading of
>> dynamic modules, instead of reusing load-path?
> The idea with reusing load-path was that modules will almost always be
> accompanied by some .el file(s), and having those separately from the
> module binaries would be a complication.
If the installation follows FHS guidelines, then *.el{,c} will go into
/usr/share/, while modules will go into /usr/lib/ or /usr/lib64/. Which
means that load paths for elisp files and modules will be disjoint, so
it looks a bit unnatural to use the same variable for them.
[1] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html