aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/location_of_external_plugins.mdwn
blob: 204b588b05b0a0ac04574eb7bf3af30cf3bd988a (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
Would it be possible to make the installation location for the external
plugins (those talked to via xmlrpc) configurable? Currently, they are
installed into (and later expected to be in) /usr/lib/ikiwiki/plugins. For
the Fedora package (which I maintain), I move them to
/usr/libexec/ikiwiki/plugins. While not covered by the FHS, this seems to
be a more appropriate place, see:
https://fedoraproject.org/wiki/Packaging/Guidelines#Libexecdir.

> This would need to be a build time configuration setting so the directory
> is built into ikiwiki for use at runtime. --[[Joey]]

As a side note, the accompanying proxy.py might better be placed into some directory on the python path.

> If someone can show how to do so without needing a Setup.py and all the
> pain that using one entails.. --[[Joey]]

>> At the very least I don't think proxy.py should be on the `sys.path`
>> under its current name. If it was renamed to ikiwiki_proxy or some such,
>> possibly; but I think it's more appropriate to have it in an
>> ikiwiki-specific directory (a "private module") since it's not useful for
>> anything outside ikiwiki, and putting it in the same directory as the
>> external plugins means it's automatically in their `sys.path` without
>> needing special configuration. --[[smcv]]
>> (a mostly-inactive member of Debian's Python modules packaging team)

>>> I mostly agree, but a problem arises when the external plugin we are using is not located in the same directory as the `proxy.py` file, but in a directory somewhere in a `libdir` or `libdirs` directory. Right now (for a soon-to-be published plugin I am working on) the solutions I am thinking about are:
>>> 
>>> - Call ikiwiki using ``PYTHONPATH="$PYTHONPATH:/usr/lib/ikiwiki/plugins ikiwiki ...``, but it is a pain to write this each time I want to use this (and any solution like creating a custom script do not seem very nice);
>>> - Make my plugin add `/usr/lib/ikiwiki/plugins` to its python path, but I do not know how portable this is for a non Debian distribution.
>>>
>>> Any better idea (and sorry for digging up an old post)?
>>> -- [[Louis|spalax]]