912a825d1e
When building PostgreSQL with plugins under NixOS, NixOS will create a postgresql-and-plugins directory which symlinks PostgreSQL and all the plugins into a single directory. Unfortunately, the plugins will not actually be usable by PostgreSQL because it will still try and locate them in the original PostgreSQL share directory, not postgresql-and-plugins. In this commit, I have patched resolve_symlinks to always return success, which matches the behavior if HAVE_READLINK is false (so presumably invalid paths are never passed to this function).
15 lines
374 B
Diff
15 lines
374 B
Diff
diff --git a/src/port/exec.c b/src/port/exec.c
|
|
index c79e8ba..42c4091 100644
|
|
--- a/src/port/exec.c
|
|
+++ b/src/port/exec.c
|
|
@@ -216,6 +216,9 @@ find_my_exec(const char *argv0, char *retpath)
|
|
static int
|
|
resolve_symlinks(char *path)
|
|
{
|
|
+ // On NixOS we *want* stuff relative to symlinks.
|
|
+ return 0;
|
|
+
|
|
#ifdef HAVE_READLINK
|
|
struct stat buf;
|
|
char orig_wd[MAXPGPATH],
|