common: Silence warning from unix_rootdir on systems w/o /proc

* common/homedir.c (unix_rootdir): Silence diagnostic in the common
case.
(MYPROC_SELF_EXE): Support NetBSD.
--

GnuPG-bug-id: 5656
This commit is contained in:
Werner Koch 2021-10-20 16:39:23 +02:00
parent 947fedf0e7
commit bcd8f0239d
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
1 changed files with 6 additions and 4 deletions

View File

@ -68,7 +68,9 @@
* text was read. */
#if __linux__
# define MYPROC_SELF_EXE "/proc/self/exe"
#else /* Assume *BSD*/
#elif defined(__NetBSD__)
# define MYPROC_SELF_EXE "/proc/curproc/exe"
#else /* Assume other BSDs */
# define MYPROC_SELF_EXE "/proc/curproc/file"
#endif
@ -482,13 +484,13 @@ unix_rootdir (int want_sysconfdir)
if (nread < 0)
{
err = gpg_error_from_syserror ();
log_info ("error reading symlink '%s': %s\n",
MYPROC_SELF_EXE, gpg_strerror (err));
buffer[0] = 0;
if ((name = getenv ("GNUPG_BUILD_ROOT")) && *name == '/')
{
/* Try a fallback for systems w/o a supported /proc
* file system. */
* file system if we are running a regression test. */
log_info ("error reading symlink '%s': %s\n",
MYPROC_SELF_EXE, gpg_strerror (err));
xfree (buffer);
buffer = xstrconcat (name, "/bin/gpgconf", NULL);
log_info ("trying fallback '%s'\n", buffer);