Home GnuPG
Diffusion GnuPG d4768bb982ad

common: Support a gpgconf.ctl file under Unix.


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---

  1. gpgconf.ctl #
  2. This file is used to change the directories where the gpg components
  3. are installed. It does not change the configuration directories.
  4. The file is expected in the same directory as gpgconf. The physical
  5. installation directories are evaluated and no symlinks. Blank lines
  6. and lines starting with pound signed are ignored. No errors are
  7. printed for unknown keywords or commands. The only defined key for
  8. now is "rootdir" which must be followed by one optional space, an
  9. equal sign, and the value for the root directory. Environment
  10. variables are substituted in standard shell manner, the final value
  11. must start with a slash, trailing slashed are stripped.

rootdir = $APPDIR/gnupg
--8<---------------cut here---------------end--------------->8---


wernerAuthored on Sep 17 2021, 5:39 PM
rG9c272dc24545: common: New function substitute_envvars.
T5599: Make gpg use the helpers baked into its AppImage