From: Jakub Jirutka Date: Tue, 09 Nov 2021 00:33:22 +0100 Subject: [PATCH] pg_config: Add new option --major-version We use this option in aports for PostgreSQL extensions to easily get major version of the default postgresql. --- a/src/bin/pg_config/pg_config.c +++ b/src/bin/pg_config/pg_config.c @@ -65,6 +65,7 @@ {"--ldflags_ex", "LDFLAGS_EX"}, {"--ldflags_sl", "LDFLAGS_SL"}, {"--libs", "LIBS"}, + {"--major-version", "MAJOR-VERSION"}, {"--version", "VERSION"}, {NULL, NULL} }; @@ -101,6 +102,8 @@ printf(_(" --ldflags_ex show LDFLAGS_EX value used when PostgreSQL was built\n")); printf(_(" --ldflags_sl show LDFLAGS_SL value used when PostgreSQL was built\n")); printf(_(" --libs show LIBS value used when PostgreSQL was built\n")); + printf(_(" --major-version show the PostgreSQL major version number\n" + " (Alpine Linux specific option)\n")); printf(_(" --version show the PostgreSQL version\n")); printf(_(" -?, --help show this help, then exit\n")); printf(_("\nWith no arguments, all known items are shown.\n\n")); --- a/src/common/config_info.c +++ b/src/common/config_info.c @@ -38,7 +38,7 @@ int i = 0; /* Adjust this to match the number of items filled below */ - *configdata_len = 23; + *configdata_len = 24; configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData)); configdata[i].name = pstrdup("BINDIR"); @@ -193,6 +193,11 @@ configdata[i].name = pstrdup("VERSION"); configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION); + i++; + + // XXX-Patched: Alpine Linux specific, used in extension aports. + configdata[i].name = pstrdup("MAJOR-VERSION"); + configdata[i].setting = pstrdup(PG_MAJORVERSION); i++; Assert(i == *configdata_len);