Brad Bishop | c4ea075 | 2018-11-15 14:30:15 -0800 | [diff] [blame^] | 1 | Allow the environment to override where gnupg looks for its own files. Useful in native builds. |
| 2 | |
| 3 | Upstream-Status: Inappropriate [OE-specific] |
| 4 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
| 5 | |
| 6 | diff --git a/common/homedir.c b/common/homedir.c |
| 7 | index e9e75d01e..19140aa0d 100644 |
| 8 | --- a/common/homedir.c |
| 9 | +++ b/common/homedir.c |
| 10 | @@ -760,7 +760,7 @@ gnupg_socketdir (void) |
| 11 | if (!name) |
| 12 | { |
| 13 | unsigned int dummy; |
| 14 | - name = _gnupg_socketdir_internal (0, &dummy); |
| 15 | + name = getenv("GNUPG_SOCKETDIR") ?: _gnupg_socketdir_internal (0, &dummy); |
| 16 | } |
| 17 | |
| 18 | return name; |
| 19 | @@ -786,7 +786,7 @@ gnupg_sysconfdir (void) |
| 20 | } |
| 21 | return name; |
| 22 | #else /*!HAVE_W32_SYSTEM*/ |
| 23 | - return GNUPG_SYSCONFDIR; |
| 24 | + return getenv("GNUPG_SYSCONFDIR") ?: GNUPG_SYSCONFDIR; |
| 25 | #endif /*!HAVE_W32_SYSTEM*/ |
| 26 | } |
| 27 | |
| 28 | @@ -815,7 +815,7 @@ gnupg_bindir (void) |
| 29 | else |
| 30 | return rdir; |
| 31 | #else /*!HAVE_W32_SYSTEM*/ |
| 32 | - return GNUPG_BINDIR; |
| 33 | + return getenv("GNUPG_BINDIR") ?: GNUPG_BINDIR; |
| 34 | #endif /*!HAVE_W32_SYSTEM*/ |
| 35 | } |
| 36 | |
| 37 | @@ -828,7 +828,7 @@ gnupg_libexecdir (void) |
| 38 | #ifdef HAVE_W32_SYSTEM |
| 39 | return gnupg_bindir (); |
| 40 | #else /*!HAVE_W32_SYSTEM*/ |
| 41 | - return GNUPG_LIBEXECDIR; |
| 42 | + return getenv("GNUPG_LIBEXECDIR") ?: GNUPG_LIBEXECDIR; |
| 43 | #endif /*!HAVE_W32_SYSTEM*/ |
| 44 | } |
| 45 | |
| 46 | @@ -842,7 +842,7 @@ gnupg_libdir (void) |
| 47 | name = xstrconcat (w32_rootdir (), DIRSEP_S "lib" DIRSEP_S "gnupg", NULL); |
| 48 | return name; |
| 49 | #else /*!HAVE_W32_SYSTEM*/ |
| 50 | - return GNUPG_LIBDIR; |
| 51 | + return getenv("GNUPG_LIBDIR") ?: GNUPG_LIBDIR; |
| 52 | #endif /*!HAVE_W32_SYSTEM*/ |
| 53 | } |
| 54 | |
| 55 | @@ -856,7 +856,7 @@ gnupg_datadir (void) |
| 56 | name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "gnupg", NULL); |
| 57 | return name; |
| 58 | #else /*!HAVE_W32_SYSTEM*/ |
| 59 | - return GNUPG_DATADIR; |
| 60 | + return getenv("GNUPG_DATADIR") ?: GNUPG_DATADIR; |
| 61 | #endif /*!HAVE_W32_SYSTEM*/ |
| 62 | } |
| 63 | |
| 64 | @@ -872,7 +872,7 @@ gnupg_localedir (void) |
| 65 | NULL); |
| 66 | return name; |
| 67 | #else /*!HAVE_W32_SYSTEM*/ |
| 68 | - return LOCALEDIR; |
| 69 | + return getenv("LOCALEDIR") ?: LOCALEDIR; |
| 70 | #endif /*!HAVE_W32_SYSTEM*/ |
| 71 | } |
| 72 | |
| 73 | @@ -940,7 +940,7 @@ gnupg_cachedir (void) |
| 74 | } |
| 75 | return dir; |
| 76 | #else /*!HAVE_W32_SYSTEM*/ |
| 77 | - return GNUPG_LOCALSTATEDIR "/cache/" PACKAGE_NAME; |
| 78 | + return getenv("GNUPG_LOCALSTATEDIR") ?: GNUPG_LOCALSTATEDIR "/cache/" PACKAGE_NAME; |
| 79 | #endif /*!HAVE_W32_SYSTEM*/ |
| 80 | } |
| 81 | |