common: Support a gpgconf.ctl file under Unix.
* common/homedir.c (unix_rootdir): New. (gnupg_bindir): Use it. (gnupg_libexecdir): Use it. (gnupg_libdir): Use it. (gnupg_datadir): Use it. (gnupg_localedir): Use it.
This feature is useful for building and using an AppImage version of
gnupg and probably also for some other use cases.
Here is a sample gpgconf.ctl file
--8<---------------cut here---------------start------------->8---
- gpgconf.ctl #
- This file is used to change the directories where the gpg components
- are installed. It does not change the configuration directories.
- The file is expected in the same directory as gpgconf. The physical
- installation directories are evaluated and no symlinks. Blank lines
- and lines starting with pound signed are ignored. No errors are
- printed for unknown keywords or commands. The only defined key for
- now is "rootdir" which must be followed by one optional space, an
- equal sign, and the value for the root directory. Environment
- variables are substituted in standard shell manner, the final value
- must start with a slash, trailing slashed are stripped.
rootdir = $APPDIR/gnupg
--8<---------------cut here---------------end--------------->8---
- GnuPG-bug-id: T5999