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.pathunder 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.pathwithout 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.pyfile, but in a directory somewhere in a
libdirsdirectory. 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/pluginsto 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