Re: Makefile.global will override configure parameters if "pgsql" and "postgres" appear anywhere in the source path name

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Andy Bailey <bailey(at)akamai(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Makefile.global will override configure parameters if "pgsql" and "postgres" appear anywhere in the source path name
Date: 2022-07-15 18:38:17
Message-ID: 20220715183817.32d2hu67bwswmbwe@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2022-Jul-15, Andy Bailey wrote:

> After some investigation, I found that the value of pkglibdir (as used
> by src/Makefile.global and various other places) was different even
> though the ./configure invocations were identical. Eventually, I found
> that Makefile.global was the culprit, with some sections like:
>
> pkglibdir = $(libdir)
> ifeq "$(findstring pgsql, $(pkglibdir))" ""
> ifeq "$(findstring postgres, $(pkglibdir))" ""
> override pkglibdir := $(pkglibdir)/postgresql
> endif
> endif

Right. See commit 984b0b4df83f and its discussion at [1]. The working
theory (as I remember it) is that if the installation is already
postgres-specific (because the user has made it so by having "pgsql" or
"postgres" in the argument to --prefix), then we don't need to add
another level of postgres-specificity to it; but otherwise we add
"/postgresql" to the path so that the resulting files don't end up mixed
with files installed by unrelated packages.

[1] https://www.postgresql.org/message-id/flat/Pine.LNX.4.21.0010042208350.934-100000%40peter.localdomain

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Jeff Davis 2022-07-15 19:43:52 Re: [15] Custom WAL resource managers, single user mode, and recovery
Previous Message Andy Bailey 2022-07-15 16:13:57 Makefile.global will override configure parameters if "pgsql" and "postgres" appear anywhere in the source path name