diff --git a/.gitignore b/.gitignore index 651400a..5b69151 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -SOURCES/postgresql-10.23-US.pdf -SOURCES/postgresql-10.23.tar.bz2 -SOURCES/postgresql-9.2.24.tar.bz2 -SOURCES/postgresql-setup-8.7.tar.gz +SOURCES/postgresql-15.5.tar.bz2 +SOURCES/postgresql-16.1.tar.bz2 +SOURCES/postgresql-setup-8.9.tar.gz diff --git a/.postgresql.metadata b/.postgresql.metadata index 2e2f71c..aaa2e7d 100644 --- a/.postgresql.metadata +++ b/.postgresql.metadata @@ -1,4 +1,3 @@ -a416c245ff0815fbde534bc49b0a07ffdd373894 SOURCES/postgresql-10.23-US.pdf -2df7b4b3751112f3cb543c3ea81e45531bebc7a1 SOURCES/postgresql-10.23.tar.bz2 -63d6966ccdbab6aae1f9754fdb8e341ada1ef653 SOURCES/postgresql-9.2.24.tar.bz2 -fb97095dc9648f9c31d58fcb406831da5e419ddf SOURCES/postgresql-setup-8.7.tar.gz +1688b684c181a3173a3f2b76a12e83c8371facc8 SOURCES/postgresql-15.5.tar.bz2 +7b335f3dbb9f566fa021f255650178b7c9642df2 SOURCES/postgresql-16.1.tar.bz2 +ba5d21f1d9c02e2c21976e76bd3ded0f64988e01 SOURCES/postgresql-setup-8.9.tar.gz diff --git a/SOURCES/Makefile.regress b/SOURCES/Makefile.regress old mode 100644 new mode 100755 index 925877c..95bc589 --- a/SOURCES/Makefile.regress +++ b/SOURCES/Makefile.regress @@ -47,7 +47,9 @@ installcheck-parallel: cleandirs cleandirs: -rm -rf testtablespace results mkdir testtablespace results - [ -x /usr/bin/chcon ] && /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results + if test -x /usr/bin/chcon && ! test -f /.dockerenv; then \ + /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results ; \ + fi # old interfaces follow... diff --git a/SOURCES/generate-pdf.sh b/SOURCES/generate-pdf.sh deleted file mode 100755 index e0ed008..0000000 --- a/SOURCES/generate-pdf.sh +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh - -# This script builds the PDF version of the PostgreSQL documentation. -# -# In principle we could do this as part of the RPM build, but there are -# good reasons not to: -# 1. The build would take longer and have a larger BuildRequires footprint. -# 2. The generated PDF has timestamps in it, which would inevitably result -# in multilib conflicts due to slightly different timestamps. -# So instead, we run this manually when rebasing to a new upstream release, -# and treat the resulting PDF as a separate Source file. -# -# You will need to have the docbook packages installed to run this. -# Expect it to take about 20 minutes and use about 160MB of disk. - -set -e - -# Pass package version (e.g., 9.1.2) as argument -VERSION=$1 - -test -z "$VERSION" && VERSION=`awk '/^Version:/ { print $2; }' postgresql.spec` - -TARGETFILE=postgresql-$VERSION-US.pdf -test -f "$TARGETFILE" && echo "$TARGETFILE exists" && exit 1 - -echo Building $TARGETFILE ... - -# Unpack postgresql - -rm -rf postgresql-$VERSION - -tar xfj postgresql-$VERSION.tar.bz2 - -cd postgresql-$VERSION - -# Apply any patches that affect the PDF documentation - -# patch -p1 < ../xxx.patch - -# Configure ... - -./configure >/dev/null - -# Build the PDF docs - -cd doc/src/sgml - -make postgres-US.pdf >make.log - -mv -f postgres-US.pdf ../../../../$TARGETFILE - -# Clean up - -cd ../../../.. - -rm -rf postgresql-$VERSION - -exit 0 diff --git a/SOURCES/postgresql-10.15-contrib-dblink-expected-out.patch b/SOURCES/postgresql-10.15-contrib-dblink-expected-out.patch deleted file mode 100644 index bd4b0e5..0000000 --- a/SOURCES/postgresql-10.15-contrib-dblink-expected-out.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/contrib/dblink/expected/dblink.out b/contrib/dblink/expected/dblink.out -index 6ceabb453c..6516d4f131 100644 ---- a/contrib/dblink/expected/dblink.out -+++ b/contrib/dblink/expected/dblink.out -@@ -879,7 +879,7 @@ $d$; - CREATE USER MAPPING FOR public SERVER fdtest - OPTIONS (server 'localhost'); -- fail, can't specify server here - ERROR: invalid option "server" --HINT: Valid options in this context are: user, password -+HINT: Valid options in this context are: user, password, sslpassword - CREATE USER MAPPING FOR public SERVER fdtest OPTIONS (user :'USER'); - GRANT USAGE ON FOREIGN SERVER fdtest TO regress_dblink_user; - GRANT EXECUTE ON FUNCTION dblink_connect_u(text, text) TO regress_dblink_user; diff --git a/SOURCES/postgresql-10.23-CVE-2023-2454.patch b/SOURCES/postgresql-10.23-CVE-2023-2454.patch deleted file mode 100644 index 736790a..0000000 --- a/SOURCES/postgresql-10.23-CVE-2023-2454.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 681d9e4621aac0a9c71364b6f54f00f6d8c4337f Mon Sep 17 00:00:00 2001 -From 8d525d7b9545884a3e0d79adcd61543f9ae2ae28 Mon Sep 17 00:00:00 2001 -From: Noah Misch -Date: Mon, 8 May 2023 06:14:07 -0700 -Subject: Replace last PushOverrideSearchPath() call with - set_config_option(). - -The two methods don't cooperate, so set_config_option("search_path", -...) has been ineffective under non-empty overrideStack. This defect -enabled an attacker having database-level CREATE privilege to execute -arbitrary code as the bootstrap superuser. While that particular attack -requires v13+ for the trusted extension attribute, other attacks are -feasible in all supported versions. - -Standardize on the combination of NewGUCNestLevel() and -set_config_option("search_path", ...). It is newer than -PushOverrideSearchPath(), more-prevalent, and has no known -disadvantages. The "override" mechanism remains for now, for -compatibility with out-of-tree code. Users should update such code, -which likely suffers from the same sort of vulnerability closed here. -Back-patch to v11 (all supported versions). - -Alexander Lakhin. Reported by Alexander Lakhin. - -Security: CVE-2023-2454 ---- - contrib/seg/Makefile | 2 +- - contrib/seg/expected/security.out | 32 ++++++++++++++++++ - contrib/seg/sql/security.sql | 32 ++++++++++++++++++ - src/backend/catalog/namespace.c | 4 +++ - src/backend/commands/schemacmds.c | 37 ++++++++++++++------ - src/test/regress/expected/namespace.out | 45 +++++++++++++++++++++++++ - src/test/regress/sql/namespace.sql | 24 +++++++++++++ - 7 files changed, 165 insertions(+), 11 deletions(-) - create mode 100644 contrib/seg/expected/security.out - create mode 100644 contrib/seg/sql/security.sql - -diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c -index 14e57adee2..73ddb67882 100644 ---- a/src/backend/catalog/namespace.c -+++ b/src/backend/catalog/namespace.c -@@ -3515,6 +3515,10 @@ OverrideSearchPathMatchesCurrent(OverrideSearchPath *path) - /* - * PushOverrideSearchPath - temporarily override the search path - * -+ * Do not use this function; almost any usage introduces a security -+ * vulnerability. It exists for the benefit of legacy code running in -+ * non-security-sensitive environments. -+ * - * We allow nested overrides, hence the push/pop terminology. The GUC - * search_path variable is ignored while an override is active. - * -diff --git a/src/backend/commands/schemacmds.c b/src/backend/commands/schemacmds.c -index 48590247f8..b6a71154a8 100644 ---- a/src/backend/commands/schemacmds.c -+++ b/src/backend/commands/schemacmds.c -@@ -30,6 +30,7 @@ - #include "commands/schemacmds.h" - #include "miscadmin.h" - #include "parser/parse_utilcmd.h" -+#include "parser/scansup.h" - #include "tcop/utility.h" - #include "utils/acl.h" - #include "utils/builtins.h" -@@ -53,14 +54,16 @@ CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString, - { - const char *schemaName = stmt->schemaname; - Oid namespaceId; -- OverrideSearchPath *overridePath; - List *parsetree_list; - ListCell *parsetree_item; - Oid owner_uid; - Oid saved_uid; - int save_sec_context; -+ int save_nestlevel; -+ char *nsp = namespace_search_path; - AclResult aclresult; - ObjectAddress address; -+ StringInfoData pathbuf; - - GetUserIdAndSecContext(&saved_uid, &save_sec_context); - -@@ -153,14 +156,26 @@ CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString, - CommandCounterIncrement(); - - /* -- * Temporarily make the new namespace be the front of the search path, as -- * well as the default creation target namespace. This will be undone at -- * the end of this routine, or upon error. -+ * Prepend the new schema to the current search path. -+ * -+ * We use the equivalent of a function SET option to allow the setting to -+ * persist for exactly the duration of the schema creation. guc.c also -+ * takes care of undoing the setting on error. - */ -- overridePath = GetOverrideSearchPath(CurrentMemoryContext); -- overridePath->schemas = lcons_oid(namespaceId, overridePath->schemas); -- /* XXX should we clear overridePath->useTemp? */ -- PushOverrideSearchPath(overridePath); -+ save_nestlevel = NewGUCNestLevel(); -+ -+ initStringInfo(&pathbuf); -+ appendStringInfoString(&pathbuf, quote_identifier(schemaName)); -+ -+ while (scanner_isspace(*nsp)) -+ nsp++; -+ -+ if (*nsp != '\0') -+ appendStringInfo(&pathbuf, ", %s", nsp); -+ -+ (void) set_config_option("search_path", pathbuf.data, -+ PGC_USERSET, PGC_S_SESSION, -+ GUC_ACTION_SAVE, true, 0, false); - - /* - * Report the new schema to possibly interested event triggers. Note we -@@ -215,8 +230,10 @@ CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString, - CommandCounterIncrement(); - } - -- /* Reset search path to normal state */ -- PopOverrideSearchPath(); -+ /* -+ * Restore the GUC variable search_path we set above. -+ */ -+ AtEOXact_GUC(true, save_nestlevel); - - /* Reset current user and security context */ - SetUserIdAndSecContext(saved_uid, save_sec_context); -diff --git a/src/test/regress/expected/namespace.out b/src/test/regress/expected/namespace.out -index 2564d1b080..a62fd8ded0 100644 ---- a/src/test/regress/expected/namespace.out -+++ b/src/test/regress/expected/namespace.out -@@ -1,6 +1,14 @@ - -- - -- Regression tests for schemas (namespaces) - -- -+-- set the whitespace-only search_path to test that the -+-- GUC list syntax is preserved during a schema creation -+SELECT pg_catalog.set_config('search_path', ' ', false); -+ set_config -+------------ -+ -+(1 row) -+ - CREATE SCHEMA test_schema_1 - CREATE UNIQUE INDEX abc_a_idx ON abc (a) - CREATE VIEW abc_view AS -@@ -9,6 +17,43 @@ CREATE SCHEMA test_schema_1 - a serial, - b int UNIQUE - ); -+-- verify that the correct search_path restored on abort -+SET search_path to public; -+BEGIN; -+SET search_path to public, test_schema_1; -+CREATE SCHEMA test_schema_2 -+ CREATE VIEW abc_view AS SELECT c FROM abc; -+ERROR: column "c" does not exist -+LINE 2: CREATE VIEW abc_view AS SELECT c FROM abc; -+ ^ -+COMMIT; -+SHOW search_path; -+ search_path -+------------- -+ public -+(1 row) -+ -+-- verify that the correct search_path preserved -+-- after creating the schema and on commit -+BEGIN; -+SET search_path to public, test_schema_1; -+CREATE SCHEMA test_schema_2 -+ CREATE VIEW abc_view AS SELECT a FROM abc; -+SHOW search_path; -+ search_path -+----------------------- -+ public, test_schema_1 -+(1 row) -+ -+COMMIT; -+SHOW search_path; -+ search_path -+----------------------- -+ public, test_schema_1 -+(1 row) -+ -+DROP SCHEMA test_schema_2 CASCADE; -+NOTICE: drop cascades to view test_schema_2.abc_view - -- verify that the objects were created - SELECT COUNT(*) FROM pg_class WHERE relnamespace = - (SELECT oid FROM pg_namespace WHERE nspname = 'test_schema_1'); -diff --git a/src/test/regress/sql/namespace.sql b/src/test/regress/sql/namespace.sql -index 6b12c96193..3474f5ecf4 100644 ---- a/src/test/regress/sql/namespace.sql -+++ b/src/test/regress/sql/namespace.sql -@@ -2,6 +2,10 @@ - -- Regression tests for schemas (namespaces) - -- - -+-- set the whitespace-only search_path to test that the -+-- GUC list syntax is preserved during a schema creation -+SELECT pg_catalog.set_config('search_path', ' ', false); -+ - CREATE SCHEMA test_schema_1 - CREATE UNIQUE INDEX abc_a_idx ON abc (a) - -@@ -13,6 +17,26 @@ CREATE SCHEMA test_schema_1 - b int UNIQUE - ); - -+-- verify that the correct search_path restored on abort -+SET search_path to public; -+BEGIN; -+SET search_path to public, test_schema_1; -+CREATE SCHEMA test_schema_2 -+ CREATE VIEW abc_view AS SELECT c FROM abc; -+COMMIT; -+SHOW search_path; -+ -+-- verify that the correct search_path preserved -+-- after creating the schema and on commit -+BEGIN; -+SET search_path to public, test_schema_1; -+CREATE SCHEMA test_schema_2 -+ CREATE VIEW abc_view AS SELECT a FROM abc; -+SHOW search_path; -+COMMIT; -+SHOW search_path; -+DROP SCHEMA test_schema_2 CASCADE; -+ - -- verify that the objects were created - SELECT COUNT(*) FROM pg_class WHERE relnamespace = - (SELECT oid FROM pg_namespace WHERE nspname = 'test_schema_1'); -diff --git a/contrib/sepgsql/expected/ddl.out b/contrib/sepgsql/expected/ddl.out -index e8da587564..15d2b9c5e7 100644 ---- a/contrib/sepgsql/expected/ddl.out -+++ b/contrib/sepgsql/expected/ddl.out -@@ -24,7 +24,6 @@ LOG: SELinux: allowed { create } scontext=unconfined_u:unconfined_r:sepgsql_reg - CREATE USER regress_sepgsql_test_user; - CREATE SCHEMA regtest_schema; - LOG: SELinux: allowed { create } scontext=unconfined_u:unconfined_r:sepgsql_regtest_superuser_t:s0 tcontext=unconfined_u:object_r:sepgsql_schema_t:s0 tclass=db_schema name="regtest_schema" --LOG: SELinux: allowed { search } scontext=unconfined_u:unconfined_r:sepgsql_regtest_superuser_t:s0 tcontext=system_u:object_r:sepgsql_schema_t:s0 tclass=db_schema name="public" - GRANT ALL ON SCHEMA regtest_schema TO regress_sepgsql_test_user; - SET search_path = regtest_schema, public; - CREATE TABLE regtest_table (x serial primary key, y text); --- -2.41.0 - diff --git a/SOURCES/postgresql-10.23-CVE-2023-2455.patch b/SOURCES/postgresql-10.23-CVE-2023-2455.patch deleted file mode 100644 index 4e63ded..0000000 --- a/SOURCES/postgresql-10.23-CVE-2023-2455.patch +++ /dev/null @@ -1,114 +0,0 @@ -From ca73753b090c33bc69ce299b4d7fff891a77b8ad Mon Sep 17 00:00:00 2001 -From: Tom Lane -Date: Mon, 8 May 2023 10:12:44 -0400 -Subject: Handle RLS dependencies in inlined set-returning - functions properly. - -If an SRF in the FROM clause references a table having row-level -security policies, and we inline that SRF into the calling query, -we neglected to mark the plan as potentially dependent on which -role is executing it. This could lead to later executions in the -same session returning or hiding rows that should have been hidden -or returned instead. - -Our thanks to Wolfgang Walther for reporting this problem. - -Stephen Frost and Tom Lane - -Security: CVE-2023-2455 ---- - src/backend/optimizer/util/clauses.c | 7 ++++++ - src/test/regress/expected/rowsecurity.out | 27 +++++++++++++++++++++++ - src/test/regress/sql/rowsecurity.sql | 20 +++++++++++++++++ - 3 files changed, 54 insertions(+) - -diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c -index a9c7bc342e..11269fee3e 100644 ---- a/src/backend/optimizer/util/clauses.c -+++ b/src/backend/optimizer/util/clauses.c -@@ -5205,6 +5205,13 @@ inline_set_returning_function(PlannerInfo *root, RangeTblEntry *rte) - */ - record_plan_function_dependency(root, func_oid); - -+ /* -+ * We must also notice if the inserted query adds a dependency on the -+ * calling role due to RLS quals. -+ */ -+ if (querytree->hasRowSecurity) -+ root->glob->dependsOnRole = true; -+ - return querytree; - - /* Here if func is not inlinable: release temp memory and return NULL */ -diff --git a/src/test/regress/expected/rowsecurity.out b/src/test/regress/expected/rowsecurity.out -index 38f53ed486..e278346420 100644 ---- a/src/test/regress/expected/rowsecurity.out -+++ b/src/test/regress/expected/rowsecurity.out -@@ -4427,6 +4427,33 @@ SELECT * FROM rls_tbl; - - DROP TABLE rls_tbl; - RESET SESSION AUTHORIZATION; -+-- CVE-2023-2455: inlining an SRF may introduce an RLS dependency -+create table rls_t (c text); -+insert into rls_t values ('invisible to bob'); -+alter table rls_t enable row level security; -+grant select on rls_t to regress_rls_alice, regress_rls_bob; -+create policy p1 on rls_t for select to regress_rls_alice using (true); -+create policy p2 on rls_t for select to regress_rls_bob using (false); -+create function rls_f () returns setof rls_t -+ stable language sql -+ as $$ select * from rls_t $$; -+prepare q as select current_user, * from rls_f(); -+set role regress_rls_alice; -+execute q; -+ current_user | c -+-------------------+------------------ -+ regress_rls_alice | invisible to bob -+(1 row) -+ -+set role regress_rls_bob; -+execute q; -+ current_user | c -+--------------+--- -+(0 rows) -+ -+RESET ROLE; -+DROP FUNCTION rls_f(); -+DROP TABLE rls_t; - -- - -- Clean up objects - -- -diff --git a/src/test/regress/sql/rowsecurity.sql b/src/test/regress/sql/rowsecurity.sql -index 0fd0cded7d..3d664538a6 100644 ---- a/src/test/regress/sql/rowsecurity.sql -+++ b/src/test/regress/sql/rowsecurity.sql -@@ -2127,6 +2127,26 @@ SELECT * FROM rls_tbl; - DROP TABLE rls_tbl; - RESET SESSION AUTHORIZATION; - -+-- CVE-2023-2455: inlining an SRF may introduce an RLS dependency -+create table rls_t (c text); -+insert into rls_t values ('invisible to bob'); -+alter table rls_t enable row level security; -+grant select on rls_t to regress_rls_alice, regress_rls_bob; -+create policy p1 on rls_t for select to regress_rls_alice using (true); -+create policy p2 on rls_t for select to regress_rls_bob using (false); -+create function rls_f () returns setof rls_t -+ stable language sql -+ as $$ select * from rls_t $$; -+prepare q as select current_user, * from rls_f(); -+set role regress_rls_alice; -+execute q; -+set role regress_rls_bob; -+execute q; -+ -+RESET ROLE; -+DROP FUNCTION rls_f(); -+DROP TABLE rls_t; -+ - -- - -- Clean up objects - -- --- -2.41.0 - diff --git a/SOURCES/postgresql-10.23-CVE-2023-5869.patch b/SOURCES/postgresql-10.23-CVE-2023-5869.patch deleted file mode 100644 index 804a634..0000000 --- a/SOURCES/postgresql-10.23-CVE-2023-5869.patch +++ /dev/null @@ -1,576 +0,0 @@ -From d267cea24ea346c739c85bf7bccbd8e8f59da6b3 Mon Sep 17 00:00:00 2001 -From: Tom Lane -Date: Mon, 6 Nov 2023 10:56:43 -0500 -Subject: [PATCH 1/1] Detect integer overflow while computing new array - dimensions. - -array_set_element() and related functions allow an array to be -enlarged by assigning to subscripts outside the current array bounds. -While these places were careful to check that the new bounds are -allowable, they neglected to consider the risk of integer overflow -in computing the new bounds. In edge cases, we could compute new -bounds that are invalid but get past the subsequent checks, -allowing bad things to happen. Memory stomps that are potentially -exploitable for arbitrary code execution are possible, and so is -disclosure of server memory. - -To fix, perform the hazardous computations using overflow-detecting -arithmetic routines, which fortunately exist in all still-supported -branches. - -The test cases added for this generate (after patching) errors that -mention the value of MaxArraySize, which is platform-dependent. -Rather than introduce multiple expected-files, use psql's VERBOSITY -parameter to suppress the printing of the message text. v11 psql -lacks that parameter, so omit the tests in that branch. - -Our thanks to Pedro Gallegos for reporting this problem. - -Security: CVE-2023-5869 -Sign-Off-By: Tianyue Lan - ---- - src/backend/utils/adt/arrayfuncs.c | 85 ++++++++++++++++++++++------ - src/backend/utils/adt/arrayutils.c | 6 -- - src/include/utils/array.h | 7 +++ - src/test/regress/expected/arrays.out | 17 ++++++ - src/test/regress/sql/arrays.sql | 19 +++++++ - src/include/common/int.h | 273 +++++++++++++++++++++++++++++++++++++++ - create mode 100644 src/include/common/int.h - 6 files changed, 383 insertions(+), 24 deletions(-) - -diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c -index 553c517..7363893 100644 ---- a/src/backend/utils/adt/arrayfuncs.c -+++ b/src/backend/utils/adt/arrayfuncs.c -@@ -22,6 +22,7 @@ - - #include "access/htup_details.h" - #include "catalog/pg_type.h" -+#include "common/int.h" - #include "funcapi.h" - #include "libpq/pqformat.h" - #include "utils/array.h" -@@ -2309,22 +2310,38 @@ array_set_element(Datum arraydatum, - addedbefore = addedafter = 0; - - /* -- * Check subscripts -+ * Check subscripts. We assume the existing subscripts passed -+ * ArrayCheckBounds, so that dim[i] + lb[i] can be computed without -+ * overflow. But we must beware of other overflows in our calculations of -+ * new dim[] values. - */ - if (ndim == 1) - { - if (indx[0] < lb[0]) - { -- addedbefore = lb[0] - indx[0]; -- dim[0] += addedbefore; -+ /* addedbefore = lb[0] - indx[0]; */ -+ /* dim[0] += addedbefore; */ -+ if (pg_sub_s32_overflow(lb[0], indx[0], &addedbefore) || -+ pg_add_s32_overflow(dim[0], addedbefore, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); - lb[0] = indx[0]; - if (addedbefore > 1) - newhasnulls = true; /* will insert nulls */ - } - if (indx[0] >= (dim[0] + lb[0])) - { -- addedafter = indx[0] - (dim[0] + lb[0]) + 1; -- dim[0] += addedafter; -+ /* addedafter = indx[0] - (dim[0] + lb[0]) + 1; */ -+ /* dim[0] += addedafter; */ -+ if (pg_sub_s32_overflow(indx[0], dim[0] + lb[0], &addedafter) || -+ pg_add_s32_overflow(addedafter, 1, &addedafter) || -+ pg_add_s32_overflow(dim[0], addedafter, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); - if (addedafter > 1) - newhasnulls = true; /* will insert nulls */ - } -@@ -2568,14 +2585,23 @@ array_set_element_expanded(Datum arraydatum, - addedbefore = addedafter = 0; - - /* -- * Check subscripts (this logic matches original array_set_element) -+ * Check subscripts (this logic must match array_set_element). We assume -+ * the existing subscripts passed ArrayCheckBounds, so that dim[i] + lb[i] -+ * can be computed without overflow. But we must beware of other -+ * overflows in our calculations of new dim[] values. - */ - if (ndim == 1) - { - if (indx[0] < lb[0]) - { -- addedbefore = lb[0] - indx[0]; -- dim[0] += addedbefore; -+ /* addedbefore = lb[0] - indx[0]; */ -+ /* dim[0] += addedbefore; */ -+ if (pg_sub_s32_overflow(lb[0], indx[0], &addedbefore) || -+ pg_add_s32_overflow(dim[0], addedbefore, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); - lb[0] = indx[0]; - dimschanged = true; - if (addedbefore > 1) -@@ -2583,8 +2609,15 @@ array_set_element_expanded(Datum arraydatum, - } - if (indx[0] >= (dim[0] + lb[0])) - { -- addedafter = indx[0] - (dim[0] + lb[0]) + 1; -- dim[0] += addedafter; -+ /* addedafter = indx[0] - (dim[0] + lb[0]) + 1; */ -+ /* dim[0] += addedafter; */ -+ if (pg_sub_s32_overflow(indx[0], dim[0] + lb[0], &addedafter) || -+ pg_add_s32_overflow(addedafter, 1, &addedafter) || -+ pg_add_s32_overflow(dim[0], addedafter, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); - dimschanged = true; - if (addedafter > 1) - newhasnulls = true; /* will insert nulls */ -@@ -2866,7 +2899,10 @@ array_set_slice(Datum arraydatum, - addedbefore = addedafter = 0; - - /* -- * Check subscripts -+ * Check subscripts. We assume the existing subscripts passed -+ * ArrayCheckBounds, so that dim[i] + lb[i] can be computed without -+ * overflow. But we must beware of other overflows in our calculations of -+ * new dim[] values. - */ - if (ndim == 1) - { -@@ -2881,18 +2917,31 @@ array_set_slice(Datum arraydatum, - errmsg("upper bound cannot be less than lower bound"))); - if (lowerIndx[0] < lb[0]) - { -- if (upperIndx[0] < lb[0] - 1) -- newhasnulls = true; /* will insert nulls */ -- addedbefore = lb[0] - lowerIndx[0]; -- dim[0] += addedbefore; -+ /* addedbefore = lb[0] - lowerIndx[0]; */ -+ /* dim[0] += addedbefore; */ -+ if (pg_sub_s32_overflow(lb[0], lowerIndx[0], &addedbefore) || -+ pg_add_s32_overflow(dim[0], addedbefore, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); - lb[0] = lowerIndx[0]; -+ if (addedbefore > 1) -+ newhasnulls = true; /* will insert nulls */ - } - if (upperIndx[0] >= (dim[0] + lb[0])) - { -- if (lowerIndx[0] > (dim[0] + lb[0])) -+ /* addedafter = upperIndx[0] - (dim[0] + lb[0]) + 1; */ -+ /* dim[0] += addedafter; */ -+ if (pg_sub_s32_overflow(upperIndx[0], dim[0] + lb[0], &addedafter) || -+ pg_add_s32_overflow(addedafter, 1, &addedafter) || -+ pg_add_s32_overflow(dim[0], addedafter, &dim[0])) -+ ereport(ERROR, -+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), -+ errmsg("array size exceeds the maximum allowed (%d)", -+ (int) MaxArraySize))); -+ if (addedafter > 1) - newhasnulls = true; /* will insert nulls */ -- addedafter = upperIndx[0] - (dim[0] + lb[0]) + 1; -- dim[0] += addedafter; - } - } - else -diff --git a/src/backend/utils/adt/arrayutils.c b/src/backend/utils/adt/arrayutils.c -index f7c6a51..eb5f2a0 100644 ---- a/src/backend/utils/adt/arrayutils.c -+++ b/src/backend/utils/adt/arrayutils.c -@@ -63,10 +63,6 @@ ArrayGetOffset0(int n, const int *tup, const int *scale) - * This must do overflow checking, since it is used to validate that a user - * dimensionality request doesn't overflow what we can handle. - * -- * We limit array sizes to at most about a quarter billion elements, -- * so that it's not necessary to check for overflow in quite so many -- * places --- for instance when palloc'ing Datum arrays. -- * - * The multiplication overflow check only works on machines that have int64 - * arithmetic, but that is nearly all platforms these days, and doing check - * divides for those that don't seems way too expensive. -@@ -77,8 +73,6 @@ ArrayGetNItems(int ndim, const int *dims) - int32 ret; - int i; - --#define MaxArraySize ((Size) (MaxAllocSize / sizeof(Datum))) -- - if (ndim <= 0) - return 0; - ret = 1; -diff --git a/src/include/utils/array.h b/src/include/utils/array.h -index 905f6b0..3e4c09d 100644 ---- a/src/include/utils/array.h -+++ b/src/include/utils/array.h -@@ -65,6 +65,13 @@ - #include "utils/expandeddatum.h" - - -+/* -+ * Maximum number of elements in an array. We limit this to at most about a -+ * quarter billion elements, so that it's not necessary to check for overflow -+ * in quite so many places --- for instance when palloc'ing Datum arrays. -+ */ -+#define MaxArraySize ((Size) (MaxAllocSize / sizeof(Datum))) -+ - /* - * Arrays are varlena objects, so must meet the varlena convention that - * the first int32 of the object contains the total object size in bytes. -diff --git a/src/test/regress/expected/arrays.out b/src/test/regress/expected/arrays.out -index c730563..e4ec394 100644 ---- a/src/test/regress/expected/arrays.out -+++ b/src/test/regress/expected/arrays.out -@@ -1347,6 +1347,23 @@ insert into arr_pk_tbl(pk, f1[1:2]) values (1, '{6,7,8}') on conflict (pk) - -- then you didn't get an indexscan plan, and something is busted. - reset enable_seqscan; - reset enable_bitmapscan; -+-- test subscript overflow detection -+-- The normal error message includes a platform-dependent limit, -+-- so suppress it to avoid needing multiple expected-files. -+\set VERBOSITY terse -+insert into arr_pk_tbl values(10, '[-2147483648:-2147483647]={1,2}'); -+update arr_pk_tbl set f1[2147483647] = 42 where pk = 10; -+ERROR: array size exceeds the maximum allowed (134217727) -+update arr_pk_tbl set f1[2147483646:2147483647] = array[4,2] where pk = 10; -+ERROR: array size exceeds the maximum allowed (134217727) -+-- also exercise the expanded-array case -+do $$ declare a int[]; -+begin -+ a := '[-2147483648:-2147483647]={1,2}'::int[]; -+ a[2147483647] := 42; -+end $$; -+ERROR: array size exceeds the maximum allowed (134217727) -+\set VERBOSITY default - -- test [not] (like|ilike) (any|all) (...) - select 'foo' like any (array['%a', '%o']); -- t - ?column? -diff --git a/src/test/regress/sql/arrays.sql b/src/test/regress/sql/arrays.sql -index 25dd4e2..4ad6e55 100644 ---- a/src/test/regress/sql/arrays.sql -+++ b/src/test/regress/sql/arrays.sql -@@ -407,6 +407,25 @@ insert into arr_pk_tbl(pk, f1[1:2]) values (1, '{6,7,8}') on conflict (pk) - reset enable_seqscan; - reset enable_bitmapscan; - -+-- test subscript overflow detection -+ -+-- The normal error message includes a platform-dependent limit, -+-- so suppress it to avoid needing multiple expected-files. -+\set VERBOSITY terse -+ -+insert into arr_pk_tbl values(10, '[-2147483648:-2147483647]={1,2}'); -+update arr_pk_tbl set f1[2147483647] = 42 where pk = 10; -+update arr_pk_tbl set f1[2147483646:2147483647] = array[4,2] where pk = 10; -+ -+-- also exercise the expanded-array case -+do $$ declare a int[]; -+begin -+ a := '[-2147483648:-2147483647]={1,2}'::int[]; -+ a[2147483647] := 42; -+end $$; -+ -+\set VERBOSITY default -+ - -- test [not] (like|ilike) (any|all) (...) - select 'foo' like any (array['%a', '%o']); -- t - select 'foo' like any (array['%a', '%b']); -- f - -diff --git a/src/include/common/int.h b/src/include/common/int.h -new file mode 100644 -index 0000000..d754798 ---- /dev/null -+++ b/src/include/common/int.h -@@ -0,0 +1,273 @@ -+/*------------------------------------------------------------------------- -+ * -+ * int.h -+ * Routines to perform integer math, while checking for overflows. -+ * -+ * The routines in this file are intended to be well defined C, without -+ * relying on compiler flags like -fwrapv. -+ * -+ * To reduce the overhead of these routines try to use compiler intrinsics -+ * where available. That's not that important for the 16, 32 bit cases, but -+ * the 64 bit cases can be considerably faster with intrinsics. In case no -+ * intrinsics are available 128 bit math is used where available. -+ * -+ * Copyright (c) 2017-2019, PostgreSQL Global Development Group -+ * -+ * src/include/common/int.h -+ * -+ *------------------------------------------------------------------------- -+ */ -+#ifndef COMMON_INT_H -+#define COMMON_INT_H -+ -+/* -+ * If a + b overflows, return true, otherwise store the result of a + b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_add_s16_overflow(int16 a, int16 b, int16 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_add_overflow(a, b, result); -+#else -+ int32 res = (int32) a + (int32) b; -+ -+ if (res > PG_INT16_MAX || res < PG_INT16_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int16) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a - b overflows, return true, otherwise store the result of a - b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_sub_s16_overflow(int16 a, int16 b, int16 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_sub_overflow(a, b, result); -+#else -+ int32 res = (int32) a - (int32) b; -+ -+ if (res > PG_INT16_MAX || res < PG_INT16_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int16) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a * b overflows, return true, otherwise store the result of a * b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_mul_s16_overflow(int16 a, int16 b, int16 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_mul_overflow(a, b, result); -+#else -+ int32 res = (int32) a * (int32) b; -+ -+ if (res > PG_INT16_MAX || res < PG_INT16_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int16) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a + b overflows, return true, otherwise store the result of a + b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_add_s32_overflow(int32 a, int32 b, int32 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_add_overflow(a, b, result); -+#else -+ int64 res = (int64) a + (int64) b; -+ -+ if (res > PG_INT32_MAX || res < PG_INT32_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int32) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a - b overflows, return true, otherwise store the result of a - b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_sub_s32_overflow(int32 a, int32 b, int32 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_sub_overflow(a, b, result); -+#else -+ int64 res = (int64) a - (int64) b; -+ -+ if (res > PG_INT32_MAX || res < PG_INT32_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int32) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a * b overflows, return true, otherwise store the result of a * b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_mul_s32_overflow(int32 a, int32 b, int32 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_mul_overflow(a, b, result); -+#else -+ int64 res = (int64) a * (int64) b; -+ -+ if (res > PG_INT32_MAX || res < PG_INT32_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int32) res; -+ return false; -+#endif -+} -+ -+/* -+ * If a + b overflows, return true, otherwise store the result of a + b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_add_s64_overflow(int64 a, int64 b, int64 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_add_overflow(a, b, result); -+#elif defined(HAVE_INT128) -+ int128 res = (int128) a + (int128) b; -+ -+ if (res > PG_INT64_MAX || res < PG_INT64_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int64) res; -+ return false; -+#else -+ if ((a > 0 && b > 0 && a > PG_INT64_MAX - b) || -+ (a < 0 && b < 0 && a < PG_INT64_MIN - b)) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = a + b; -+ return false; -+#endif -+} -+ -+/* -+ * If a - b overflows, return true, otherwise store the result of a - b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_sub_s64_overflow(int64 a, int64 b, int64 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_sub_overflow(a, b, result); -+#elif defined(HAVE_INT128) -+ int128 res = (int128) a - (int128) b; -+ -+ if (res > PG_INT64_MAX || res < PG_INT64_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int64) res; -+ return false; -+#else -+ if ((a < 0 && b > 0 && a < PG_INT64_MIN + b) || -+ (a > 0 && b < 0 && a > PG_INT64_MAX + b)) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = a - b; -+ return false; -+#endif -+} -+ -+/* -+ * If a * b overflows, return true, otherwise store the result of a * b into -+ * *result. The content of *result is implementation defined in case of -+ * overflow. -+ */ -+static inline bool -+pg_mul_s64_overflow(int64 a, int64 b, int64 *result) -+{ -+#if defined(HAVE__BUILTIN_OP_OVERFLOW) -+ return __builtin_mul_overflow(a, b, result); -+#elif defined(HAVE_INT128) -+ int128 res = (int128) a * (int128) b; -+ -+ if (res > PG_INT64_MAX || res < PG_INT64_MIN) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = (int64) res; -+ return false; -+#else -+ /* -+ * Overflow can only happen if at least one value is outside the range -+ * sqrt(min)..sqrt(max) so check that first as the division can be quite a -+ * bit more expensive than the multiplication. -+ * -+ * Multiplying by 0 or 1 can't overflow of course and checking for 0 -+ * separately avoids any risk of dividing by 0. Be careful about dividing -+ * INT_MIN by -1 also, note reversing the a and b to ensure we're always -+ * dividing it by a positive value. -+ * -+ */ -+ if ((a > PG_INT32_MAX || a < PG_INT32_MIN || -+ b > PG_INT32_MAX || b < PG_INT32_MIN) && -+ a != 0 && a != 1 && b != 0 && b != 1 && -+ ((a > 0 && b > 0 && a > PG_INT64_MAX / b) || -+ (a > 0 && b < 0 && b < PG_INT64_MIN / a) || -+ (a < 0 && b > 0 && a < PG_INT64_MIN / b) || -+ (a < 0 && b < 0 && a < PG_INT64_MAX / b))) -+ { -+ *result = 0x5EED; /* to avoid spurious warnings */ -+ return true; -+ } -+ *result = a * b; -+ return false; -+#endif -+} -+ -+#endif /* COMMON_INT_H */ --- -2.39.3 - diff --git a/SOURCES/postgresql-10.23.tar.bz2.sha256 b/SOURCES/postgresql-10.23.tar.bz2.sha256 deleted file mode 100644 index 76b0158..0000000 --- a/SOURCES/postgresql-10.23.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9 postgresql-10.23.tar.bz2 diff --git a/SOURCES/postgresql-15.5.tar.bz2.sha256 b/SOURCES/postgresql-15.5.tar.bz2.sha256 new file mode 100644 index 0000000..f5f8afa --- /dev/null +++ b/SOURCES/postgresql-15.5.tar.bz2.sha256 @@ -0,0 +1 @@ +8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6 postgresql-15.5.tar.bz2 diff --git a/SOURCES/postgresql-16.1.tar.bz2.sha256 b/SOURCES/postgresql-16.1.tar.bz2.sha256 new file mode 100644 index 0000000..8ef9f9e --- /dev/null +++ b/SOURCES/postgresql-16.1.tar.bz2.sha256 @@ -0,0 +1 @@ +ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec postgresql-16.1.tar.bz2 diff --git a/SOURCES/postgresql-9.2.24.tar.bz2.sha256 b/SOURCES/postgresql-9.2.24.tar.bz2.sha256 deleted file mode 100644 index 5f77016..0000000 --- a/SOURCES/postgresql-9.2.24.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126 postgresql-9.2.24.tar.bz2 diff --git a/SOURCES/postgresql-bashprofile b/SOURCES/postgresql-bashprofile old mode 100644 new mode 100755 diff --git a/SOURCES/postgresql-external-libpq.patch b/SOURCES/postgresql-external-libpq.patch new file mode 100755 index 0000000..ba7ef73 --- /dev/null +++ b/SOURCES/postgresql-external-libpq.patch @@ -0,0 +1,43 @@ +We don't build/install interfaces by upstream's implicit rules. + +This patch is used on two places; postgresql.spec and libecpg.spec -- keep those +in sync! + +Related: rhbz#1618698 + +diff --git a/src/Makefile b/src/Makefile +index bcdbd95..4bea236 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -20,7 +20,6 @@ SUBDIRS = \ + backend/utils/mb/conversion_procs \ + backend/snowball \ + include \ +- interfaces \ + backend/replication/libpqwalreceiver \ + backend/replication/pgoutput \ + fe_utils \ +diff --git a/src/Makefile.global.in b/src/Makefile.global.in +index b9d86ac..29df69f 100644 +--- a/src/Makefile.global.in ++++ b/src/Makefile.global.in +@@ -549,7 +549,7 @@ endif + # How to link to libpq. (This macro may be used as-is by backend extensions. + # Client-side code should go through libpq_pgport or libpq_pgport_shlib, + # instead.) +-libpq = -L$(libpq_builddir) -lpq ++libpq = -lpq + + # libpq_pgport is for use by client executables (not libraries) that use libpq. + # We force clients to pull symbols from the non-shared libraries libpgport +@@ -579,7 +579,6 @@ endif + # Commonly used submake targets + + submake-libpq: | submake-generated-headers +- $(MAKE) -C $(libpq_builddir) all + + submake-libpgport: | submake-generated-headers + $(MAKE) -C $(top_builddir)/src/port all +-- +2.21.0 + diff --git a/SOURCES/postgresql-logging.patch b/SOURCES/postgresql-logging.patch old mode 100644 new mode 100755 index 76ff7b8..5af5625 --- a/SOURCES/postgresql-logging.patch +++ b/SOURCES/postgresql-logging.patch @@ -1,19 +1,16 @@ -Default to stderr-based logging with a week's worth of daily logfiles. - - -diff -Naur postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample ---- postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 17:23:13.000000000 -0400 -+++ postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 18:39:39.697526799 -0400 -@@ -279,7 +279,7 @@ - # requires logging_collector to be on. +diff -ur postgresql-15.0/src/backend/utils/misc/postgresql.conf.sample patched/src/backend/utils/misc/postgresql.conf.sample +--- postgresql-15.0/src/backend/utils/misc/postgresql.conf.sample 2022-10-10 22:57:37.000000000 +0200 ++++ patched/src/backend/utils/misc/postgresql.conf.sample 2022-10-13 10:51:57.000000000 +0200 +@@ -448,7 +448,7 @@ + # logging_collector to be on. # This is used when logging to stderr: --#logging_collector = off # Enable capturing of stderr and csvlog -+logging_collector = on # Enable capturing of stderr and csvlog - # into log files. Required to be on for - # csvlogs. +-#logging_collector = off # Enable capturing of stderr, jsonlog, ++logging_collector = on # Enable capturing of stderr, jsonlog, + # and csvlog into log files. Required + # to be on for csvlogs and jsonlogs. # (change requires restart) -@@ -355,11 +355,11 @@ +@@ -456,16 +456,16 @@ # These are only used if logging_collector is on: #log_directory = 'log' # directory where log files are written, # can be absolute or relative to PGDATA @@ -22,15 +19,6 @@ diff -Naur postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample # can include strftime() escapes #log_file_mode = 0600 # creation mode for log files, # begin with 0 to use octal notation --#log_truncate_on_rotation = off # If on, an existing log file with the -+log_truncate_on_rotation = on # If on, an existing log file with the - # same name as the new log file will be - # truncated rather than appended to. - # But such truncation only occurs on -@@ -367,9 +367,9 @@ - # or size-driven rotation. Default is - # off, meaning append to existing files - # in all cases. -#log_rotation_age = 1d # Automatic rotation of logfiles will +log_rotation_age = 1d # Automatic rotation of logfiles will # happen after that time. 0 disables. @@ -38,4 +26,8 @@ diff -Naur postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample +log_rotation_size = 0 # Automatic rotation of logfiles will # happen after that much log output. # 0 disables. - +-#log_truncate_on_rotation = off # If on, an existing log file with the ++log_truncate_on_rotation = on # If on, an existing log file with the + # same name as the new log file will be + # truncated rather than appended to. + # But such truncation only occurs on diff --git a/SOURCES/postgresql-man.patch b/SOURCES/postgresql-man.patch deleted file mode 100644 index d231f47..0000000 --- a/SOURCES/postgresql-man.patch +++ /dev/null @@ -1,37 +0,0 @@ -PostgreSQL ecpg/initdb manual page fixes - -This was generated based on automatic Red Hat manual page scan (private -RHBZ#948933). - -diff -up ./doc/src/sgml/man1/ecpg.1.man948933 ./doc/src/sgml/man1/ecpg.1 ---- ./doc/src/sgml/man1/ecpg.1.man948933 2014-12-16 02:13:15.000000000 +0100 -+++ ./doc/src/sgml/man1/ecpg.1 2014-12-23 11:26:37.883644047 +0100 -@@ -128,6 +133,11 @@ Allow question mark as placeholder for c - .RE - .RE - .PP -+\fB\-\-regression\fR -+.RS 4 -+Run in regression testing mode\&. -+.RE -+.PP - \fB\-t\fR - .RS 4 - Turn on autocommit of transactions\&. In this mode, each SQL command is automatically committed unless it is inside an explicit transaction block\&. In the default mode, commands are committed only when -diff -up ./doc/src/sgml/man1/initdb.1.man948933 ./doc/src/sgml/man1/initdb.1 ---- ./doc/src/sgml/man1/initdb.1.man948933 2014-12-16 02:13:21.000000000 +0100 -+++ ./doc/src/sgml/man1/initdb.1 2014-12-23 11:26:37.883644047 +0100 -@@ -281,6 +281,13 @@ determines that an error prevented it fr - .PP - Other options: - .PP -+\fB\-s\fR -+.br -+\fB\-\-show\fR -+.RS 4 -+Print the internal settings, then exit\&. -+.RE -+.PP - \fB\-V\fR - .br - \fB\-\-version\fR diff --git a/SOURCES/postgresql-no-libecpg.patch b/SOURCES/postgresql-no-libecpg.patch new file mode 100755 index 0000000..0d2e9c1 --- /dev/null +++ b/SOURCES/postgresql-no-libecpg.patch @@ -0,0 +1,12 @@ +diff -up postgresql-13.1/src/interfaces/Makefile.patch10 postgresql-13.1/src/interfaces/Makefile +--- postgresql-13.1/src/interfaces/Makefile.patch10 2021-02-02 21:33:23.235292305 +0100 ++++ postgresql-13.1/src/interfaces/Makefile 2021-02-02 21:33:30.281365440 +0100 +@@ -12,7 +12,7 @@ subdir = src/interfaces + top_builddir = ../.. + include $(top_builddir)/src/Makefile.global + +-SUBDIRS = libpq ecpg ++SUBDIRS = libpq + + $(recurse) + diff --git a/SOURCES/postgresql-no-libs.patch b/SOURCES/postgresql-no-libs.patch deleted file mode 100644 index 81e9dae..0000000 --- a/SOURCES/postgresql-no-libs.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/Makefile b/src/Makefile -index febbced..9737b55 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -20,7 +20,6 @@ SUBDIRS = \ - backend/utils/mb/conversion_procs \ - backend/snowball \ - include \ -- interfaces \ - backend/replication/libpqwalreceiver \ - backend/replication/pgoutput \ - fe_utils \ -diff --git a/src/Makefile.global.in b/src/Makefile.global.in -index 4ed5174..d0e0dae 100644 ---- a/src/Makefile.global.in -+++ b/src/Makefile.global.in -@@ -457,7 +457,7 @@ endif - - # This macro is for use by libraries linking to libpq. (Because libpgport - # isn't created with the same link flags as libpq, it can't be used.) --libpq = -L$(libpq_builddir) -lpq -+libpq = -lpq - - # This macro is for use by client executables (not libraries) that use libpq. - # We force clients to pull symbols from the non-shared libraries libpgport -@@ -483,7 +483,6 @@ endif - # Commonly used submake targets - - submake-libpq: -- $(MAKE) -C $(libpq_builddir) all - - submake-libpgport: - $(MAKE) -C $(top_builddir)/src/port all diff --git a/SOURCES/postgresql-server-pg_config.patch b/SOURCES/postgresql-server-pg_config.patch old mode 100644 new mode 100755 index 095ede7..943ff1d --- a/SOURCES/postgresql-server-pg_config.patch +++ b/SOURCES/postgresql-server-pg_config.patch @@ -1,51 +1,57 @@ -diff --git a/src/bin/pg_config/Makefile b/src/bin/pg_config/Makefile -index c410087..e546b7b 100644 ---- a/src/bin/pg_config/Makefile -+++ b/src/bin/pg_config/Makefile -@@ -11,28 +11,30 @@ +We should ideally provide '/bin/pg_config' in postgresql-server-devel, and +provide no pg_config binary in libpq package. But most of the Fedora packages +that use pg_config actually only build against PG libraries (and +postgresql-server-devel isn't needed). So.., to avoid the initial rush around +rhbz#1618698 change, rather provide pg_server_config binary, which int urn means +that we'll have to fix only a minimal set of packages which really build +PostgreSQL server modules. + +diff -ur postgresql-16beta1/src/bin/pg_config/Makefile postgresql16_pg_config_patch/src/bin/pg_config/Makefile +--- postgresql-16beta1/src/bin/pg_config/Makefile 2023-05-22 23:08:08.000000000 +0200 ++++ postgresql16_pg_config_patch/src/bin/pg_config/Makefile 2023-06-05 13:51:30.000000000 +0200 +@@ -11,6 +11,8 @@ PGFILEDESC = "pg_config - report configuration information" PGAPPICON=win32 - + +PG_CONFIG = pg_server_config$(X) + subdir = src/bin/pg_config top_builddir = ../../.. include $(top_builddir)/src/Makefile.global - - OBJS= pg_config.o $(WIN32RES) - +@@ -19,22 +21,22 @@ + $(WIN32RES) \ + pg_config.o + -all: pg_config +all: $(PG_CONFIG) - + -pg_config: $(OBJS) | submake-libpgport - $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) +$(PG_CONFIG): $(OBJS) | submake-libpgport + $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ - + install: all installdirs - $(INSTALL_SCRIPT) pg_config$(X) '$(DESTDIR)$(bindir)/pg_config$(X)' + $(INSTALL_SCRIPT) $(PG_CONFIG) '$(DESTDIR)$(bindir)/$(PG_CONFIG)' - + installdirs: $(MKDIR_P) '$(DESTDIR)$(bindir)' - + uninstall: - rm -f '$(DESTDIR)$(bindir)/pg_config$(X)' + rm -f '$(DESTDIR)$(bindir)/$(PG_CONFIG)' - + clean distclean maintainer-clean: - rm -f pg_config$(X) $(OBJS) -+ rm -f $(PG_CONFIG) $(OBJS) ++ rm -f $(PG_CONFIG) $(OBJS) rm -rf tmp_check - + check: -diff --git a/src/bin/pg_config/nls.mk b/src/bin/pg_config/nls.mk -index 1d41f90ee0..0f34f371cc 100644 ---- a/src/bin/pg_config/nls.mk -+++ b/src/bin/pg_config/nls.mk -@@ -1,4 +1,4 @@ +diff -ur postgresql-16beta1/src/bin/pg_config/nls.mk postgresql16_pg_config_patch/src/bin/pg_config/nls.mk +--- postgresql-16beta1/src/bin/pg_config/nls.mk 2023-05-22 23:08:08.000000000 +0200 ++++ postgresql16_pg_config_patch/src/bin/pg_config/nls.mk 2023-06-05 13:49:37.000000000 +0200 +@@ -1,3 +1,3 @@ # src/bin/pg_config/nls.mk -CATALOG_NAME = pg_config +CATALOG_NAME = pg_server_config - AVAIL_LANGUAGES = cs de es fr he it ja ko nb pl pt_BR ro ru sv ta tr zh_CN zh_TW GETTEXT_FILES = pg_config.c ../../common/config_info.c ../../common/exec.c diff --git a/SOURCES/postgresql-var-run-socket.patch b/SOURCES/postgresql-var-run-socket.patch old mode 100644 new mode 100755 index 8e3b193..1e554e5 --- a/SOURCES/postgresql-var-run-socket.patch +++ b/SOURCES/postgresql-var-run-socket.patch @@ -12,42 +12,39 @@ server package update, without requiring any existing postgresql.conf to be updated. (Of course, a user who dislikes this behavior can still override it via postgresql.conf.) -diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c -index 9481f2d..75532c7 100644 ---- a/src/backend/utils/misc/guc.c -+++ b/src/backend/utils/misc/guc.c -@@ -3196,7 +3196,7 @@ static struct config_string ConfigureNamesString[] = +diff -ur -x 'cscope*' postgresql-16beta1/src/backend/utils/misc/guc_tables.c postgresql16_socket_patch/src/backend/utils/misc/guc_tables.c +--- postgresql-16beta1/src/backend/utils/misc/guc_tables.c 2023-05-22 23:08:08.000000000 +0200 ++++ postgresql16_socket_patch/src/backend/utils/misc/guc_tables.c 2023-06-01 09:39:24.000000000 +0200 +@@ -4300,7 +4300,7 @@ + GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY }, &Unix_socket_directories, - #ifdef HAVE_UNIX_SOCKETS - DEFAULT_PGSOCKET_DIR, + DEFAULT_PGSOCKET_DIR ", /tmp", - #else - "", - #endif -diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c -index feeff9e..3e3d784 100644 ---- a/src/bin/initdb/initdb.c -+++ b/src/bin/initdb/initdb.c -@@ -1234,7 +1234,7 @@ setup_config(void) - - #ifdef HAVE_UNIX_SOCKETS - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'", -- DEFAULT_PGSOCKET_DIR); -+ DEFAULT_PGSOCKET_DIR ", /tmp"); - #else - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''"); - #endif -diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h -index e278fa0..9ee15d4 100644 ---- a/src/include/pg_config_manual.h -+++ b/src/include/pg_config_manual.h -@@ -169,7 +169,7 @@ - * here's where to twiddle it. You can also override this at runtime - * with the postmaster's -k switch. + NULL, NULL, NULL + }, + +diff -ur -x 'cscope*' postgresql-16beta1/src/bin/initdb/initdb.c postgresql16_socket_patch/src/bin/initdb/initdb.c +--- postgresql-16beta1/src/bin/initdb/initdb.c 2023-05-22 23:08:08.000000000 +0200 ++++ postgresql16_socket_patch/src/bin/initdb/initdb.c 2023-06-01 09:42:16.000000000 +0200 +@@ -1291,7 +1291,7 @@ + * these are indeed defaults, keep the postgresql.conf lines commented. + */ + conflines = replace_guc_value(conflines, "unix_socket_directories", +- DEFAULT_PGSOCKET_DIR, true); ++ DEFAULT_PGSOCKET_DIR ", /tmp", true); + + conflines = replace_guc_value(conflines, "port", + DEF_PGPORT_STR, true); +diff -ur -x 'cscope*' postgresql-16beta1/src/include/pg_config_manual.h postgresql16_socket_patch/src/include/pg_config_manual.h +--- postgresql-16beta1/src/include/pg_config_manual.h 2023-05-22 23:08:08.000000000 +0200 ++++ postgresql16_socket_patch/src/include/pg_config_manual.h 2023-06-01 09:43:19.000000000 +0200 +@@ -206,7 +206,7 @@ + * support them yet. */ + #ifndef WIN32 -#define DEFAULT_PGSOCKET_DIR "/tmp" +#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" - - /* - * This is the default event source for Windows event log. + #else + #define DEFAULT_PGSOCKET_DIR "" + #endif diff --git a/SOURCES/postgresql.pam b/SOURCES/postgresql.pam old mode 100644 new mode 100755 diff --git a/SOURCES/postgresql.tmpfiles.d b/SOURCES/postgresql.tmpfiles.d old mode 100644 new mode 100755 diff --git a/SOURCES/rpm-pgsql.patch b/SOURCES/rpm-pgsql.patch old mode 100644 new mode 100755 diff --git a/SPECS/postgresql.spec b/SPECS/postgresql.spec old mode 100644 new mode 100755 index b8eb540..0843782 --- a/SPECS/postgresql.spec +++ b/SPECS/postgresql.spec @@ -32,12 +32,16 @@ %{!?beta:%global beta 0} %{!?test:%global test 1} +# Disable temporarily to be able to build the package +# tracked in RHBZ#1940964 +%{!?llvmjit:%global llvmjit 0} +%{!?external_libpq:%global external_libpq 0} %{!?upgrade:%global upgrade 1} -%{!?plpython:%global plpython 0} %{!?plpython3:%global plpython3 1} %{!?pltcl:%global pltcl 1} %{!?plperl:%global plperl 1} %{!?ssl:%global ssl 1} +%{!?icu:%global icu 1} %{!?kerberos:%global kerberos 1} %{!?ldap:%global ldap 1} %{!?nls:%global nls 1} @@ -57,33 +61,30 @@ Summary: PostgreSQL client programs Name: postgresql -%global majorversion 10 -Version: %{majorversion}.23 -Release: 3%{?dist} +%global majorversion 16 +Version: %{majorversion}.1 +Release: 1%{?dist} # The PostgreSQL license is very similar to other MIT licenses, but the OSI # recognizes it as an independent license, so we do as well. License: PostgreSQL -Group: Applications/Databases Url: http://www.postgresql.org/ # This SRPM includes a copy of the previous major release, which is needed for # in-place upgrade of an old database. In most cases it will not be critical # that this be kept up with the latest minor release of the previous series; # but update when bugs affecting pg_dump output are fixed. -%global prevversion 9.2.24 -%global prevmajorversion 9.2 +%global prevmajorversion 15 +%global prevversion %{prevmajorversion}.5 %global prev_prefix %{_libdir}/pgsql/postgresql-%{prevmajorversion} %global precise_version %{?epoch:%epoch:}%version-%release -%global setup_version 8.7 +%global setup_version 8.9 %global service_name postgresql.service + Source0: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2 # The PDF file is generated by generate-pdf.sh, which see for comments -Source1: postgresql-%{version}-US.pdf -# generate-pdf.sh is not used during RPM build, but include for documentation -Source2: generate-pdf.sh Source3: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2 Source4: Makefile.regress Source9: postgresql.tmpfiles.d @@ -104,32 +105,29 @@ Source17: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{pre Patch1: rpm-pgsql.patch Patch2: postgresql-logging.patch Patch5: postgresql-var-run-socket.patch -Patch6: postgresql-man.patch -Patch8: postgresql-no-libs.patch +Patch8: postgresql-external-libpq.patch Patch9: postgresql-server-pg_config.patch -Patch10: postgresql-10.15-contrib-dblink-expected-out.patch -Patch11: postgresql-10.23-CVE-2023-2454.patch -Patch12: postgresql-10.23-CVE-2023-2455.patch -Patch13: postgresql-10.23-CVE-2023-5869.patch +Patch12: postgresql-no-libecpg.patch +BuildRequires: make BuildRequires: gcc BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk BuildRequires: perl(ExtUtils::Embed), perl-devel +BuildRequires: perl(Opcode) %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-generators %endif BuildRequires: readline-devel zlib-devel BuildRequires: systemd systemd-devel util-linux BuildRequires: multilib-rpm-config -BuildRequires: libpq-devel +%if %external_libpq +BuildRequires: libpq-devel >= %version +%endif +BuildRequires: docbook-style-xsl # postgresql-setup build requires BuildRequires: m4 elinks docbook-utils help2man -%if %plpython -BuildRequires: python2-devel -%endif - %if %plpython3 BuildRequires: python3-devel %endif @@ -174,8 +172,13 @@ BuildRequires: systemtap-sdt-devel BuildRequires: libselinux-devel %endif +%if %icu +BuildRequires: libicu-devel +%endif + # https://bugzilla.redhat.com/1464368 -%global __provides_exclude_from %{_libdir}/pgsql +# and do not provide pkgconfig RPM provides (RHBZ#1980992) +%global __provides_exclude_from %{_libdir}/(pgsql|pkgconfig) %description PostgreSQL is an advanced Object-Relational database management system (DBMS). @@ -187,9 +190,39 @@ over a network connection. The PostgreSQL server can be found in the postgresql-server sub-package. +%if ! %external_libpq +%package private-libs +Summary: The shared libraries required only for this build of PostgreSQL server +Group: Applications/Databases +# for /sbin/ldconfig +Requires(post): glibc +Requires(postun): glibc + +%description private-libs +The postgresql-private-libs package provides the shared libraries for this +build of PostgreSQL server and plugins build with this version of server. +For shared libraries used by client packages that need to connect to a +PostgreSQL server, install libpq package instead. + + +%package private-devel +Summary: PostgreSQL development header files for this build of PostgreSQL server +Group: Development/Libraries +Requires: %{name}-private-libs%{?_isa} = %precise_version +# Conflict is desired here, a user must pick one or another +Conflicts: libpq-devel + +%description private-devel +The postgresql-private-devel package contains the header files and libraries +needed to compile C or C++ applications which will directly interact +with a PostgreSQL database management server. +You need to install this package if you want to develop applications which +will interact with a PostgreSQL server. +%endif + + %package server Summary: The programs needed to create and run a PostgreSQL server -Group: Applications/Databases Requires: %{name}%{?_isa} = %precise_version Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d @@ -213,7 +246,6 @@ and maintain PostgreSQL databases. %package docs Summary: Extra documentation for PostgreSQL -Group: Applications/Databases Requires: %{name}%{?_isa} = %precise_version # Just for more intuitive documentation installation Provides: %{name}-doc = %precise_version @@ -226,7 +258,6 @@ and source files for the PostgreSQL tutorial. %package contrib Summary: Extension modules distributed with PostgreSQL -Group: Applications/Databases Requires: %{name}%{?_isa} = %precise_version %description contrib @@ -236,19 +267,32 @@ included in the PostgreSQL distribution. %package server-devel Summary: PostgreSQL development header files and libraries -Group: Development/Libraries +%if %icu +Requires: libicu-devel +%endif +%if %kerberos +Requires: krb5-devel +%endif +%if %llvmjit +Requires: clang-devel llvm-devel +%endif +%if %external_libpq +# Some extensions require libpq +# Do not make them care about whether server uses private or system-wide +# libpq, simply let the server pull the correct one +Requires: libpq-devel +%else +Requires: %{name}-private-devel +%endif %description server-devel -The postgresql-server-devel package contains the header files and libraries -needed to compile C or C++ applications which will directly interact -with a PostgreSQL database management server. It also contains the ecpg -Embedded C Postgres preprocessor. You need to install this package if you want -to develop applications which will interact with a PostgreSQL server. - +The postgresql-server-devel package contains the header files and configuration +needed to compile PostgreSQL server extension. %package test-rpm-macros Summary: Convenience RPM macros for build-time testing against PostgreSQL server Requires: %{name}-server = %precise_version +BuildArch: noarch %description test-rpm-macros This package is meant to be added as BuildRequires: dependency of other packages @@ -267,9 +311,8 @@ counterparts. %if %upgrade %package upgrade Summary: Support for upgrading from the previous major release of PostgreSQL -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %precise_version -Provides: bundled(postgresql-libs) = %prevversion +Provides: bundled(postgresql-server) = %prevversion %description upgrade The postgresql-upgrade package contains the pg_upgrade utility and supporting @@ -279,7 +322,6 @@ version of PostgreSQL. %package upgrade-devel Summary: Support for build of extensions required for upgrade process -Group: Development/Libraries Requires: %{name}-upgrade%{?_isa} = %precise_version %description upgrade-devel @@ -292,10 +334,10 @@ process. %if %plperl %package plperl Summary: The Perl procedural language for PostgreSQL -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %precise_version Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %if %runselftest +BuildRequires: perl(Opcode) BuildRequires: perl(Data::Dumper) %endif @@ -306,24 +348,9 @@ Install this if you want to write database functions in Perl. %endif -%if %plpython -%package plpython -Summary: The Python2 procedural language for PostgreSQL -Group: Applications/Databases -Requires: %{name}-server%{?_isa} = %precise_version -Provides: %{name}-plpython2 = %precise_version - -%description plpython -The postgresql-plpython package contains the PL/Python procedural language, -which is an extension to the PostgreSQL database server. -Install this if you want to write database functions in Python 2. -%endif - - %if %plpython3 %package plpython3 Summary: The Python3 procedural language for PostgreSQL -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %precise_version %description plpython3 @@ -336,7 +363,6 @@ Install this if you want to write database functions in Python 3. %if %pltcl %package pltcl Summary: The Tcl procedural language for PostgreSQL -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %precise_version %description pltcl @@ -349,7 +375,6 @@ Install this if you want to write database functions in Tcl. %if %test %package test Summary: The test suite distributed with PostgreSQL -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %precise_version Requires: %{name}-server-devel%{?_isa} = %precise_version @@ -359,29 +384,60 @@ PostgreSQL database management system, including regression tests and benchmarks. %endif +%if %llvmjit +%package llvmjit +Summary: Just-in-time compilation support for PostgreSQL +Requires: %{name}-server%{?_isa} = %{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} == 7 +Requires: llvm5.0 >= 5.0 +%else +Requires: llvm => 5.0 +%endif +Provides: postgresql-llvmjit >= %{version}-%{release} + +BuildRequires: llvm-devel >= 5.0 clang-devel >= 5.0 + +%description llvmjit +The postgresql-llvmjit package contains support for +just-in-time compiling parts of PostgreSQL queries. Using LLVM it +compiles e.g. expressions and tuple deforming into native code, with the +goal of accelerating analytics queries. +%endif %prep -( cd %_sourcedir; sha256sum -c %{SOURCE16}; sha256sum -c %{SOURCE17} ) -%setup -q -a 12 +( + cd "$(dirname "%{SOURCE0}")" + sha256sum -c %{SOURCE16} +%if %upgrade + sha256sum -c %{SOURCE17} +%endif +) +%setup -q -a 12 -n postgresql-%{version} %patch1 -p1 %patch2 -p1 %patch5 -p1 -%patch6 -p1 +%if %external_libpq %patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 +%else %patch12 -p1 -%patch13 -p1 +%endif +%patch9 -p1 -# We used to run autoconf here, but there's no longer any real need to, -# since Postgres ships with a reasonably modern configure script. -cp -p %{SOURCE1} . +%if ! %external_libpq +%global private_soname private%{majorversion} +find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \; +%endif %if %upgrade tar xfj %{SOURCE3} +# libpq from this upgrade-only build is dropped and the libpq from the main +# version is used. Use the same major hack therefore. +%if ! %external_libpq +find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \; +%endif + # apply once SOURCE3 is extracted %endif @@ -390,6 +446,10 @@ find . -type f -name .gitignore | xargs rm %build +# Avoid LTO on armv7hl as it runs out of memory +%ifarch armv7hl s390x +%define _lto_cflags %{nil} +%endif # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"`id -u`" = x0 ]; then @@ -416,19 +476,10 @@ cd .. # Fiddling with CFLAGS. CFLAGS="${CFLAGS:-%optflags}" -%ifarch %{power64} -# See the bug #1051075, ppc64 should benefit from -O3 -CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|-O2|-O3|g' | xargs -n 100` -%endif # Strip out -ffast-math from CFLAGS.... CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100` export CFLAGS -# plpython requires separate configure/build runs to build against python 2 -# versus python 3. Our strategy is to do the python 3 run first, then make -# distclean and do it again for the "normal" build. Note that the installed -# Makefile.global will reflect the python 2 build, which seems appropriate -# since that's still considered the default plpython version. common_configure_options=' --disable-rpath %if %beta @@ -473,39 +524,23 @@ common_configure_options=' --with-system-tzdata=%_datadir/zoneinfo --datadir=%_datadir/pgsql --with-systemd -' - +%if %icu + --with-icu +%endif +%if %llvmjit + --with-llvm +%endif %if %plpython3 + --with-python +%endif +' export PYTHON=/usr/bin/python3 # These configure options must match main build -%configure $common_configure_options \ - --with-python +%configure $common_configure_options -# Fortunately we don't need to build much except plpython itself. -make %{?_smp_mflags} -C src/pl/plpython all -# save built form in a directory that "make distclean" won't touch -cp -a src/pl/plpython src/pl/plpython3 - -# must also save this version of Makefile.global for later -cp src/Makefile.global src/Makefile.global.python3 - -make distclean - -%endif # %%plpython3 - -PYTHON=/usr/bin/python2 - -# Normal (python2) build begins here -%configure $common_configure_options \ -%if %plpython - --with-python -%endif - -unset PYTHON - -make %{?_smp_mflags} world +%make_build world # Have to hack makefile to put correct path into tutorial scripts sed "s|C=\`pwd\`;|C=%{_libdir}/pgsql/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile @@ -540,24 +575,6 @@ test_failure=0 run_testsuite "src/test/regress" make clean -C "src/test/regress" run_testsuite "src/pl" -%if %plpython3 - # must install Makefile.global that selects python3 - mv src/Makefile.global src/Makefile.global.save - cp src/Makefile.global.python3 src/Makefile.global - touch -r src/Makefile.global.save src/Makefile.global - # because "make check" does "make install" on the whole tree, - # we must temporarily install plpython3 as src/pl/plpython, - # since that is the subdirectory src/pl/Makefile knows about - mv src/pl/plpython src/pl/plpython2 - mv src/pl/plpython3 src/pl/plpython - - run_testsuite "src/pl/plpython" - - # and clean up our mess - mv src/pl/plpython src/pl/plpython3 - mv src/pl/plpython2 src/pl/plpython - mv -f src/Makefile.global.save src/Makefile.global -%endif run_testsuite "contrib" %endif @@ -588,7 +605,6 @@ upgrade_configure () # its ideas about installation paths. # The -fno-aggressive-loop-optimizations is hack for #993532 - PYTHON="${PYTHON-/usr/bin/python2}" \ CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \ --build=%{_build} \ --host=%{_host} \ @@ -598,6 +614,9 @@ upgrade_configure () --enable-debug \ --enable-cassert \ %endif +%if %icu + --with-icu \ +%endif %if %plperl --with-perl \ %endif @@ -606,33 +625,22 @@ upgrade_configure () %endif %if %ssl --with-openssl \ +%endif +%if %plpython3 + --with-python \ %endif --with-tclconfig=%_libdir \ --with-system-tzdata=/usr/share/zoneinfo \ "$@" } -%if %plpython3 - export PYTHON=/usr/bin/python3 - upgrade_configure --with-python - # upstream fixed this later 7107d58ec5a3c45967e77525809612a5f89b97f3 - make %{?_smp_mflags} -C src/backend submake-errcodes - make %{?_smp_mflags} -C src/pl/plpython all - # save aside the only one file which we are interested here - cp src/pl/plpython/plpython3.so ./ - unset PYTHON - make distclean -%endif - upgrade_configure \ -%if %plpython - --with-python -%endif make %{?_smp_mflags} all make -C contrib %{?_smp_mflags} all popd -%endif # %%upgrade +# endif upgrade +%endif %install @@ -658,19 +666,14 @@ make DESTDIR=$RPM_BUILD_ROOT install-world # We ship pg_config through libpq-devel mv $RPM_BUILD_ROOT/%_mandir/man1/pg_{,server_}config.1 +%if %external_libpq rm $RPM_BUILD_ROOT/%_includedir/pg_config*.h rm $RPM_BUILD_ROOT/%_includedir/libpq/libpq-fs.h rm $RPM_BUILD_ROOT/%_includedir/postgres_ext.h rm -r $RPM_BUILD_ROOT/%_includedir/pgsql/internal/ - -%if %plpython3 - mv src/Makefile.global src/Makefile.global.save - cp src/Makefile.global.python3 src/Makefile.global - touch -r src/Makefile.global.save src/Makefile.global - pushd src/pl/plpython3 - make DESTDIR=$RPM_BUILD_ROOT install - popd - mv -f src/Makefile.global.save src/Makefile.global +%else +ln -s pg_server_config $RPM_BUILD_ROOT/%_bindir/pg_config +rm $RPM_BUILD_ROOT/%{_libdir}/libpq.a %endif # make sure these directories exist even if we suppressed all contrib modules @@ -679,8 +682,8 @@ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/extension # multilib header hack for header in \ - %{_includedir}/pgsql/server/pg_config.h \ - %{_includedir}/pgsql/server/pg_config_ext.h + %{_includedir}/pg_config.h \ + %{_includedir}/pg_config_ext.h do %multilib_fix_c_header --file "$header" done @@ -715,20 +718,14 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1 pushd postgresql-%{prevversion} make DESTDIR=$RPM_BUILD_ROOT install make -C contrib DESTDIR=$RPM_BUILD_ROOT install -%if %plpython3 - install -m 755 plpython3.so \ - $RPM_BUILD_ROOT/%_libdir/pgsql/postgresql-%prevmajorversion/lib -%endif popd # remove stuff we don't actually need for upgrade purposes pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/postgresql-%{prevmajorversion} rm bin/clusterdb rm bin/createdb - rm bin/createlang rm bin/createuser rm bin/dropdb - rm bin/droplang rm bin/dropuser rm bin/ecpg rm bin/initdb @@ -736,6 +733,7 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1 rm bin/pg_dump rm bin/pg_dumpall rm bin/pg_restore + rm bin/pgbench rm bin/psql rm bin/reindexdb rm bin/vacuumdb @@ -749,7 +747,6 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1 # Drop libraries. rm lib/lib{ecpg,ecpg_compat,pgtypes}.so* rm share/*.bki - rm share/*description rm share/*.sample rm share/*.sql rm share/*.txt @@ -761,6 +758,10 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1 EOF %endif +# Let plugins use the same llvmjit settings as server has +cat <> $RPM_BUILD_ROOT%macrosdir/macros.%name +%%postgresql_server_llvmjit %llvmjit +EOF %if %test # tests. There are many files included here that are unnecessary, @@ -793,43 +794,36 @@ rm $RPM_BUILD_ROOT%{_libdir}/libpgfeutils.a rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plperl.so %endif -%if !%plpython -rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plpython2.so -%endif - -# initialize file lists -cp /dev/null main.lst -cp /dev/null server.lst -cp /dev/null contrib.lst -cp /dev/null plperl.lst -cp /dev/null pltcl.lst -cp /dev/null plpython.lst -cp /dev/null plpython3.lst +# no python2, yet installed, remove +rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpythonu* +rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpython2u* %if %nls find_lang_bins () { lstfile=$1 ; shift + cp /dev/null "$lstfile" for binary; do %find_lang "$binary"-%{majorversion} - cat "$binary"-%{majorversion}.lang >>$lstfile + cat "$binary"-%{majorversion}.lang >>"$lstfile" done } find_lang_bins devel.lst pg_server_config find_lang_bins server.lst \ - initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql postgres + initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql \ + postgres pg_checksums pg_verifybackup find_lang_bins contrib.lst \ - pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump -find_lang_bins main.lst \ - pg_dump pg_upgrade pgscripts psql + pg_amcheck pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump +find_lang_bins main.lst \ + pg_dump pg_upgrade pgscripts psql \ +%if ! %external_libpq +libpq%{private_soname}-5 +%endif + %if %plperl find_lang_bins plperl.lst plperl %endif -%if %plpython -find_lang_bins plpython.lst plpython -%endif %if %plpython3 -# plpython3 shares message files with plpython find_lang_bins plpython3.lst plpython %endif %if %pltcl @@ -859,14 +853,10 @@ find_lang_bins pltcl.lst pltcl make -C postgresql-setup-%{setup_version} check %endif - -%clean - - # FILES sections. %files -f main.lst %doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO -%doc COPYRIGHT README HISTORY doc/bug.template +%doc COPYRIGHT README HISTORY %doc README.rpm-dist %{_bindir}/clusterdb %{_bindir}/createdb @@ -895,10 +885,20 @@ make -C postgresql-setup-%{setup_version} check %{_mandir}/man1/reindexdb.* %{_mandir}/man1/vacuumdb.* %{_mandir}/man7/* +%if %llvmjit +# Install bitcode directory along with the main package, +# so that extensions can use this dir. +%dir %{_libdir}/pgsql/bitcode +%endif + + +%if ! %external_libpq +%files private-libs +%{_libdir}/libpq.so.* +%endif %files docs -%doc *-US.pdf %doc doc/html %{_libdir}/pgsql/tutorial/ @@ -906,8 +906,8 @@ make -C postgresql-setup-%{setup_version} check %files contrib -f contrib.lst %doc contrib/spi/*.example %{_bindir}/oid2name +%{_bindir}/pg_amcheck %{_bindir}/pg_archivecleanup -%{_bindir}/pg_standby %{_bindir}/pg_test_fsync %{_bindir}/pg_test_timing %{_bindir}/pg_waldump @@ -919,7 +919,6 @@ make -C postgresql-setup-%{setup_version} check %{_datadir}/pgsql/extension/bloom* %{_datadir}/pgsql/extension/btree_gin* %{_datadir}/pgsql/extension/btree_gist* -%{_datadir}/pgsql/extension/chkpass* %{_datadir}/pgsql/extension/citext* %{_datadir}/pgsql/extension/cube* %{_datadir}/pgsql/extension/dblink* @@ -933,9 +932,17 @@ make -C postgresql-setup-%{setup_version} check %{_datadir}/pgsql/extension/intagg* %{_datadir}/pgsql/extension/intarray* %{_datadir}/pgsql/extension/isn* +%if %{plperl} +%{_datadir}/pgsql/extension/jsonb_plperl* +%endif +%if %{plpython3} +%{_datadir}/pgsql/extension/jsonb_plpython3u* +%endif %{_datadir}/pgsql/extension/lo* %{_datadir}/pgsql/extension/ltree* %{_datadir}/pgsql/extension/moddatetime* +%{_datadir}/pgsql/extension/old_snapshot* +%{_datadir}/pgsql/extension/pg_surgery* %{_datadir}/pgsql/extension/pageinspect* %{_datadir}/pgsql/extension/pg_buffercache* %{_datadir}/pgsql/extension/pg_freespacemap* @@ -951,10 +958,10 @@ make -C postgresql-setup-%{setup_version} check %{_datadir}/pgsql/extension/seg* %{_datadir}/pgsql/extension/tablefunc* %{_datadir}/pgsql/extension/tcn* -%{_datadir}/pgsql/extension/timetravel* %{_datadir}/pgsql/extension/tsm_system_rows* %{_datadir}/pgsql/extension/tsm_system_time* %{_datadir}/pgsql/extension/unaccent* +%{_datadir}/pgsql/extension/pg_walinspect* %{_libdir}/pgsql/_int.so %{_libdir}/pgsql/adminpack.so %{_libdir}/pgsql/amcheck.so @@ -964,7 +971,6 @@ make -C postgresql-setup-%{setup_version} check %{_libdir}/pgsql/bloom.so %{_libdir}/pgsql/btree_gin.so %{_libdir}/pgsql/btree_gist.so -%{_libdir}/pgsql/chkpass.so %{_libdir}/pgsql/citext.so %{_libdir}/pgsql/cube.so %{_libdir}/pgsql/dblink.so @@ -977,17 +983,25 @@ make -C postgresql-setup-%{setup_version} check %if %plperl %{_libdir}/pgsql/hstore_plperl.so %endif -%if %plpython -%{_libdir}/pgsql/hstore_plpython2.so +%if %plpython3 +%{_libdir}/pgsql/hstore_plpython3.so %endif %{_libdir}/pgsql/insert_username.so %{_libdir}/pgsql/isn.so +%if %plperl +%{_libdir}/pgsql/jsonb_plperl.so +%endif +%if %plpython3 +%{_libdir}/pgsql/jsonb_plpython3.so +%endif %{_libdir}/pgsql/lo.so %{_libdir}/pgsql/ltree.so -%if %plpython -%{_libdir}/pgsql/ltree_plpython2.so +%if %plpython3 +%{_libdir}/pgsql/ltree_plpython3.so %endif %{_libdir}/pgsql/moddatetime.so +%{_libdir}/pgsql/old_snapshot.so +%{_libdir}/pgsql/pg_surgery.so %{_libdir}/pgsql/pageinspect.so %{_libdir}/pgsql/passwordcheck.so %{_libdir}/pgsql/pg_buffercache.so @@ -1004,14 +1018,16 @@ make -C postgresql-setup-%{setup_version} check %{_libdir}/pgsql/tablefunc.so %{_libdir}/pgsql/tcn.so %{_libdir}/pgsql/test_decoding.so -%{_libdir}/pgsql/timetravel.so %{_libdir}/pgsql/tsm_system_rows.so %{_libdir}/pgsql/tsm_system_time.so %{_libdir}/pgsql/unaccent.so +%{_libdir}/pgsql/basebackup_to_shell.so +%{_libdir}/pgsql/basic_archive.so +%{_libdir}/pgsql/pg_walinspect.so %{_mandir}/man1/oid2name.* +%{_mandir}/man1/pg_amcheck.* %{_mandir}/man1/pg_archivecleanup.* %{_mandir}/man1/pg_recvlogical.* -%{_mandir}/man1/pg_standby.* %{_mandir}/man1/pg_test_fsync.* %{_mandir}/man1/pg_test_timing.* %{_mandir}/man1/pg_waldump.* @@ -1044,27 +1060,28 @@ make -C postgresql-setup-%{setup_version} check %{_bindir}/pg_recvlogical %{_bindir}/pg_resetwal %{_bindir}/pg_rewind +%{_bindir}/pg_checksums +%{_bindir}/pg_verifybackup %{_bindir}/postgres %{_bindir}/postgresql-setup %{_bindir}/postgresql-upgrade -%{_bindir}/postmaster %dir %{_datadir}/pgsql %{_datadir}/pgsql/*.sample %dir %{_datadir}/pgsql/contrib -%{_datadir}/pgsql/conversion_create.sql %dir %{_datadir}/pgsql/extension %{_datadir}/pgsql/extension/plpgsql* %{_datadir}/pgsql/information_schema.sql %{_datadir}/pgsql/postgres.bki -%{_datadir}/pgsql/postgres.description -%{_datadir}/pgsql/postgres.shdescription %{_datadir}/pgsql/snowball_create.sql %{_datadir}/pgsql/sql_features.txt +%{_datadir}/pgsql/system_constraints.sql +%{_datadir}/pgsql/system_functions.sql %{_datadir}/pgsql/system_views.sql %{_datadir}/pgsql/timezonesets/ %{_datadir}/pgsql/tsearch_data/ %dir %{_datadir}/postgresql-setup %{_datadir}/postgresql-setup/library.sh +%dir %{_libdir}/pgsql %{_libdir}/pgsql/*_and_*.so %{_libdir}/pgsql/dict_snowball.so %{_libdir}/pgsql/euc2004_sjis2004.so @@ -1085,10 +1102,11 @@ make -C postgresql-setup-%{setup_version} check %{_mandir}/man1/pg_receivewal.* %{_mandir}/man1/pg_resetwal.* %{_mandir}/man1/pg_rewind.* +%{_mandir}/man1/pg_checksums.* +%{_mandir}/man1/pg_verifybackup.* %{_mandir}/man1/postgres.* %{_mandir}/man1/postgresql-new-systemd-unit.* %{_mandir}/man1/postgresql-setup.* -%{_mandir}/man1/postmaster.* %{_mandir}/man1/postgresql-upgrade.* %{_sbindir}/postgresql-new-systemd-unit %{_tmpfilesdir}/postgresql.conf @@ -1105,15 +1123,31 @@ make -C postgresql-setup-%{setup_version} check %files server-devel -f devel.lst %{_bindir}/pg_server_config +%dir %{_datadir}/pgsql +%{_datadir}/pgsql/errcodes.txt %dir %{_includedir}/pgsql -%dir %{_includedir}/pgsql/server -%{_includedir}/pgsql/server/* +%{_includedir}/pgsql/server %{_libdir}/pgsql/pgxs/ %{_mandir}/man1/pg_server_config.* %{_mandir}/man3/SPI_* %{macrosdir}/macros.%name +%if ! %external_libpq +%files private-devel +%{_bindir}/pg_config +%{_includedir}/libpq-events.h +%{_includedir}/libpq-fe.h +%{_includedir}/postgres_ext.h +%{_includedir}/pgsql/internal/*.h +%{_includedir}/pgsql/internal/libpq/pqcomm.h +%{_includedir}/libpq/*.h +%exclude %{_libdir}/pkgconfig/*.pc +%{_libdir}/libpq.so +%{_includedir}/pg_config*.h +%endif + + %files test-rpm-macros %{_datadir}/postgresql-setup/postgresql_pkg_tests.sh %{macrosdir}/macros.%name-test @@ -1122,6 +1156,8 @@ make -C postgresql-setup-%{setup_version} check %files static %{_libdir}/libpgcommon.a %{_libdir}/libpgport.a +%{_libdir}/libpgcommon_shlib.a +%{_libdir}/libpgport_shlib.a %if %upgrade @@ -1130,20 +1166,31 @@ make -C postgresql-setup-%{setup_version} check %exclude %{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin/pg_config %{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib %exclude %{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pgxs +%exclude %{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pkgconfig %{_libdir}/pgsql/postgresql-%{prevmajorversion}/share %files upgrade-devel %{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin/pg_config %{_libdir}/pgsql/postgresql-%{prevmajorversion}/include +%{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pkgconfig %{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pgxs %{macrosdir}/macros.%name-upgrade %endif +%if %llvmjit +%files llvmjit +%defattr(-,root,root) +%{_libdir}/pgsql/bitcode/* +%{_libdir}/pgsql/llvmjit.so +%{_libdir}/pgsql/llvmjit_types.bc +%endif %if %plperl %files plperl -f plperl.lst +%{_datadir}/pgsql/extension/bool_plperl* %{_datadir}/pgsql/extension/plperl* +%{_libdir}/pgsql/bool_plperl.so %{_libdir}/pgsql/plperl.so %endif @@ -1155,14 +1202,6 @@ make -C postgresql-setup-%{setup_version} check %endif -%if %plpython -%files plpython -f plpython.lst -%{_datadir}/pgsql/extension/plpython2* -%{_datadir}/pgsql/extension/plpythonu* -%{_libdir}/pgsql/plpython2.so -%endif - - %if %plpython3 %files plpython3 -f plpython3.lst %{_datadir}/pgsql/extension/plpython3* @@ -1177,1139 +1216,32 @@ make -C postgresql-setup-%{setup_version} check %changelog -* Mon Dec 18 2023 Lubos Kloucek - 10.23-3 -- Resolves: CVE-2023-5869 - -* Tue Aug 08 2023 David Sloboda - 10.23-2.0.1 -- Fixed postgresql port binding issue during bootup [Orabug: 35103668] - -* Wed Jul 19 2023 Dominik Rehák - 10.23-2 -- Backport fixes for CVE-2023-2454 and CVE-2023-2455 -- Update postgresql-setup to 8.7 (https://github.com/devexp-db/postgresql-setup/pull/35) -- Resolves: #2207931 - -* Wed Nov 16 2022 Filip Januš - 10.23-1 -- Resolves: CVE-2022-2625 -- Rebase to 10.23 - -* Mon May 16 2022 Filip Januš - 10.21-1 -- Resolves: CVE-2022-1552 -- Update to 10.21 -- Release notes: https://www.postgresql.org/docs/release/10.21/ - -* Mon Dec 13 2021 Filip Januš - 10.19-2 -- Add missing files into file section of server package - postgresql-setup v8.6 newly provides postgresql-upgrade - -* Mon Dec 06 2021 Filip Januš - 10.19-1 -- Update to 10.19 -- Resolves: CVE-2021-23214 - -* Mon Nov 29 2021 Marek Kulik - 10.17-4 -- Update postgresql-setup to 8.6 (#2024568) - -* Wed Nov 03 2021 Filip Januš - 10.17-3 -- Fix tmp files deprecated path -- Resolves: #1992263 - -* Wed Jul 14 2021 Filip Januš - 10.17-2 -- Enable ssl for upgrade server - Resolves: #1982701 - -* Tue Jun 1 2021 Filip Januš - 10.17-1 -- Update to 10.17 - Resolves: #1964521 - Fix: CVE-2021-32027, CVE-2021-32028 - -* Wed Nov 18 2020 Patrik Novotný - 10.15-1 -- Rebase to upstream release 10.15 - Resolves: rhbz#1898214 - Resolves: rhbz#1898342 - Resolves: rhbz#1898248 - -* Tue Aug 11 2020 Patrik Novotný - 10.14-1 -- Rebase to upstream release 10.14 - Fixes RHBZ#1727803 - Fixes RHBZ#1741489 - Fixes RHBZ#1709196 - -* Tue May 12 2020 Patrik Novotný - 10.13-1 -- Rebase to upstream release 10.13 - Fixes RHBZ#1727803 - Fixes RHBZ#1741489 - Fixes RHBZ#1709196 - -* Thu Nov 15 2018 Pavel Raiskup - 10.6-1 -- update to 10.6 per release notes: - https://www.postgresql.org/docs/10/release-10-6.html - -* Fri Aug 10 2018 Pavel Raiskup - 10.5-1 -- update to 10.5 per release notes: - https://www.postgresql.org/docs/10/static/release-10-5.html - -* Thu Aug 02 2018 Pavel Raiskup - 10.4-4 -- new postgresql-setup, the %%postgresql_tests* macros now start - the build-time server on random port number - -* Wed Aug 01 2018 Pavel Raiskup - 10.4-3 -- gcc is fixed (rhbz#1600395), dropping the workaround patch - -* Thu Jul 12 2018 Pavel Raiskup - 10.4-2 -- fix pg_config-*.mo collision with libpq-devel - -* Thu Jul 12 2018 Pavel Raiskup - 10.4-1 -- sync with fedora rawhide - -* Thu Apr 26 2018 Pavel Raiskup - 10.3-5 -- pltcl: drop tcl-pltcl dependency (rhbz#1571181) - -* Thu Apr 19 2018 Pavel Raiskup - 10.3-4 -- fix upgrade subpackage (sync with F28+) - -* Wed Apr 18 2018 Pavel Raiskup - 10.3-3 -- missing *-devel => *-server-devel* changes (rhbz#1569041) - -* Fri Apr 13 2018 Pavel Raiskup - 10.3-2 -- don't build *-libs subpackage -- don't collide with libpq{,-devel} -- sync with fedora rawhide - -* Thu Mar 01 2018 Pavel Raiskup - 10.3-1 -- update to 10.3 per release notes: - https://www.postgresql.org/docs/10/static/release-10-3.html - -* Tue Dec 19 2017 Pavel Raiskup - 10.1-2 -- build plpython3 subpackage - -* Tue Dec 19 2017 Pavel Raiskup - 10.1-1 -- sync with Fedora 28 state -- fix prevmajorversion to 9.2 (RHEL7 version) -- reset Release to 1, for RHEL8 purposes - -* Tue Aug 29 2017 Pavel Raiskup - 9.6.5-1 -- update to 9.6.5 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6-5.html - -* Tue Aug 08 2017 Petr Kubat - 9.6.4-1 -- update to 9.6.4 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6-4.html - -* Thu Aug 03 2017 Fedora Release Engineering - 9.6.3-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 9.6.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon Jul 24 2017 Pavel Raiskup - 9.6.3-7 -- drop perl rpath patch; libperl.so* is now in %%_libdir (rhbz#1474417) - -* Mon Jun 26 2017 Pavel Raiskup - 9.6.3-6 -- don't provide libpqwalreceiver.so() soname - -* Wed Jun 21 2017 Pavel Raiskup - 9.6.3-5 -- drop the __os_install_post redefinition hack - -* Mon Jun 12 2017 Pavel Raiskup - 9.6.3-4 -- drop -DLINUX_OOM_SCORE_ADJ=0 define from CFLAGS (rhbz#1110969, rhbz#1436554) - -* Sun Jun 04 2017 Jitka Plesnikova - 9.6.3-3 -- Perl 5.26 rebuild - -* Mon May 22 2017 Petr Kubat - 9.6.3-2 -- fix indentation issues in hstore_plperlu test-case (rhbz#1453111) - -* Thu May 11 2017 Pavel Raiskup - 9.6.3-1 -- update to 9.6.3 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6-3.html - -* Mon Apr 24 2017 Pavel Raiskup - 9.6.2-4 -- rebase to postgresql-setup 5.1 - -* Mon Apr 10 2017 Pavel Raiskup - 9.6.2-3 -- spring cleanup - -* Mon Mar 27 2017 Pavel Raiskup - 9.6.2-2 -- rebuild for rhbz#1436006 - -* Wed Feb 22 2017 Pavel Raiskup - 9.6.2-1 -- update to 9.6.2 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6-2.html -- remove mistakenly isntalled libpgfeutils.a - -* Thu Jan 12 2017 Igor Gnatenko - 9.6.1-3 -- Rebuild for readline 7.x - -* Mon Dec 19 2016 Miro Hrončok - 9.6.1-2 -- Rebuild for Python 3.6 - -* Wed Oct 26 2016 Pavel Raiskup - 9.6.1-1 -- update to 9.6.1 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6-1.html -- add gen_sources.sh script -- remove plpython build hack, fixed upstream -- remove aarch64 and ppc64p7 hacks, fixed by the %%configure call - -* Tue Oct 04 2016 Pavel Raiskup - 9.6.0-1 -- rebase the postgresql-setup tarball - -* Fri Sep 30 2016 Pavel Raiskup - 9.6.0-1 -- update to 9.6.0 per release notes: - https://www.postgresql.org/docs/9.6/static/release-9-6.html - -* Fri Aug 12 2016 Petr Kubat - 9.5.4-1 -- update to 9.5.4 per release notes: - http://www.postgresql.org/docs/9.5/static/release-9-5-4.html - -* Mon Jun 20 2016 Pavel Raiskup - 9.5.3-3 -- use multilib-rpm-config package for multilib hacks - -* Sun May 15 2016 Jitka Plesnikova - 9.5.3-2 -- Perl 5.24 rebuild - -* Thu May 12 2016 Pavel Raiskup - 9.5.3-1 -- update to 9.5.3 per release notes: - http://www.postgresql.org/docs/9.5/static/release-9-5-3.html - -* Mon May 09 2016 Pavel Raiskup - 9.5.2-2 -- fix the test subpackage, pg_regress now uses --bindir - -* Sun Apr 03 2016 Pavel Raiskup - 9.5.2-1 -- update to 9.5.2 per release notes - http://www.postgresql.org/docs/9.5/static/release-9-5-2.html - -* Fri Feb 26 2016 Pavel Raiskup - 9.5.1-2 -- package static libraries without dynamic counterparts (rhbz#784281) - -* Tue Feb 09 2016 Pavel Raiskup - 9.5.1-1 -- update to 9.5.1 per release notes - http://www.postgresql.org/docs/9.5/static/release-9-5-1.html - -* Thu Feb 04 2016 Fedora Release Engineering - 9.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jan 06 2016 Pavel Raiskup - 9.5.0-1 -- update to 9.5.0 per release notes - http://www.postgresql.org/docs/9.5/static/release-9-5.html -- update postgresql-setup to v4.0 to reflect new packaging style - -* Wed Dec 16 2015 Pavel Kajaba - 9.4.5-5 -- fixed problem with xml2 test (rhbz#1286692) - -* Thu Dec 3 2015 Pavel Kajaba - 9.4.5-4 -- fixed short-circuit build - -* Thu Nov 12 2015 Pavel Raiskup - 9.4.5-3 -- fix testsuite failure with new Python 3.5 (rhbz#1280404) - -* Tue Nov 10 2015 Fedora Release Engineering - 9.4.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Fri Oct 16 2015 Pavel Raiskup - 9.4.5-2 -- devel package should not require the main package (rhbz#1272219) -- multilib fix, more general solution (rhbz#1190346) - -* Tue Oct 06 2015 Pavel Raiskup - 9.4.5-1 -- update to 9.4.5 per release notes - http://www.postgresql.org/docs/9.4/static/release-9-4-5.html - -* Fri Sep 25 2015 Pavel Raiskup - 9.4.4-6 -- postgresql-setup rebase to 3.4 (rhbz#1265319, rhbz#1247477) - -* Thu Sep 17 2015 Pavel Raiskup - 9.4.4-5 -- enable hardening (safe for kernel 4.1+) (see rhbz#952946 comment #24) - -* Tue Aug 04 2015 Pavel Raiskup - 9.4.4-4 -- install README.rpm-dist properly (rhbz#1249708) - -* Tue Jul 14 2015 Pavel Raiskup - 9.4.4-3 -- revert/fix part of e6acde1a9 commit related to multilib hack (rhbz#1242873) - -* Thu Jun 18 2015 Fedora Release Engineering - 9.4.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Jun 15 2015 Pavel Raiskup - 9.4.4-1 -- fix for Perl 5.22 rebase (rhbz#1231279) - -* Thu Jun 11 2015 Pavel Raiskup - 9.4.4-1 -- update to 9.4.4 per release notes - http://www.postgresql.org/docs/9.4/static/release-9-4-4.html - -* Sat Jun 06 2015 Jitka Plesnikova - 9.4.3-2 -- Perl 5.22 rebuild - -* Wed Jun 03 2015 Jozef Mlich - 9.4.3-1 -- update to 9.4.3 per release notes - http://www.postgresql.org/docs/9.4/static/release-9-4-3.html - -* Thu May 21 2015 Jozef Mlich - 9.4.2-1 -- update to 9.4.2 per release notes - http://www.postgresql.org/docs/9.4/static/release-9-4-2.html - -* Thu May 21 2015 Pavel Raiskup - 9.4.1-4 -- make the %%check phase more verbose for FAIL cases -- don't FTBFS on f23+ where hardening is on by default - -* Wed Mar 25 2015 Jozef Mlich - 9.4.1-3 -- update to postgresql-setup 3.3 - -* Thu Mar 19 2015 Jozef Mlich - 9.4.1-2 -- Adding tcl-pgtcl into Requires of -tcl subpackage - -* Wed Feb 04 2015 Pavel Raiskup - 9.4.1-1 -- update to 9.4.1 per release notes - http://www.postgresql.org/docs/9.4/static/release-9-4-1.html - -* Tue Feb 03 2015 Pavel Raiskup - 9.4.0-2 -- sort file lists alphabetically - -* Tue Dec 23 2014 Jozef Mlich - 9.4.0-1 -- update to 9.4.0 per release notes - http://www.postgresql.org/docs/9.4/static/index.html - -* Mon Nov 24 2014 Pavel Raiskup - 9.3.5-8 -- print regression.diffs contents to stdout (#1118392) - -* Mon Oct 20 2014 Pavel Raiskup - 9.3.5-7 -- be forgiving of variant spellings of locale names in pg_upgrade (#1007802) - -* Sun Sep 21 2014 Pavel Raiskup - 9.3.5-6 -- postgresql-setup & relatives are now in separate tarball - -* Wed Aug 27 2014 Jitka Plesnikova - 9.3.5-5 -- Perl 5.20 rebuild - -* Thu Aug 21 2014 Pavel Raiskup - 9.3.5-4 -- install macros.postgresql, not postgresql.macros - -* Sun Aug 17 2014 Fedora Release Engineering - 9.3.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Thu Jul 24 2014 Pavel Raiskup - 9.3.5-2 -- fix the prevversion sum link and comment a little - -* Tue Jul 22 2014 Pavel Raiskup - 9.3.5-1 -- update to 9.3.5 per release notes - http://www.postgresql.org/docs/9.3/static/release-9-3-5.html - -* Fri Jul 18 2014 Pavel Raiskup - 9.3.4-8 -- provide postgresql-doc for postgresql-docs package (#1086420) -- move html documentation to *-docs subpackage (#1086420) -- provide postgresql-server(:MODULE_COMPAT_%%{postgresql_major}) to guard - against incompatible plugin installation (#1008939) - -* Thu Jun 19 2014 Pavel Raiskup - 9.3.4-7 -- OOM handling compatible with 9.5+, by Tom Lane (#1110969) - -* Sat Jun 07 2014 Fedora Release Engineering - 9.3.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon May 26 2014 Honza Horak - 9.3.4-5 -- Rebuild for Python 3.4 - -* Fri May 23 2014 Honza Horak - 9.3.4-4 -- Change plpython_do test a bit so it is universal for all python versions - -* Wed May 21 2014 Jaroslav Škarvada - 9.3.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 - -* Wed May 14 2014 Pavel Raiskup - 9.3.4-2 -- set basic $PATH when it is empty or unset, (#1097317) - -* Thu Mar 20 2014 Jozef Mlich - 9.3.4-1 -- update to 9.3.4 minor version per release notes: - http://www.postgresql.org/docs/9.3/static/release-9-3-4.html - -* Thu Mar 13 2014 Jozef Mlich - 9.3.3-2 -- Fix WAL replay of locking an updated tuple - kudos to Alvaro Herrera - -* Thu Feb 20 2014 Jozef Mlich - 9.3.3-1 -- update to 9.3.3 minor version per release notes: - http://www.postgresql.org/docs/9.3/static/release-9-3-3.html - -* Thu Jan 23 2014 Pavel Raiskup - 9.3.2-7 -- postgresql-setup: typos - -* Tue Jan 21 2014 Pavel Raiskup - 9.3.2-6 -- add PGSETUP_PGUPGRADE_OPTIONS env var for postgresql-setup - -* Mon Jan 20 2014 Pavel Raiskup - 9.3.2-5 -- fix the postgresql-setup --version option - -* Mon Jan 20 2014 Pavel Raiskup - 9.3.2-4 -- postgresql-setup(upgrade): don't stop old server when it can not be started -- postgresql-setup(initdb, upgrade): add $PGSETUP_INITDB_OPTIONS -- postgresql-setup: do not pretend 'sh' compatibility -- move script generation to proper place -- postgresql-setup: document a little and genrate manual page - -* Fri Jan 10 2014 Pavel Raiskup - 9.3.2-3 -- build with -O3 on ppc64 (private #1051075) - -* Fri Dec 13 2013 Pavel Raiskup - 9.3.2-2 -- lint the postgresql-setup script - -* Thu Dec 12 2013 Jozef Mlich - 9.3.2-2 -- don't fail if user has badly configure 'postgres' user access (#1040364) - -* Thu Dec 05 2013 Jozef Mlich - 9.3.2-1 -- update to 9.3.2 minor version per release notes: - http://www.postgresql.org/docs/9.3/static/release-9-3-2.html - -* Thu Oct 17 2013 Jozef Mlich - 9.3.1-2 -- the prevversion (see package upgrade process) is updated - from 9.2.4 to 9.2.5 - -* Thu Oct 10 2013 Jozef Mlich - 9.3.1-1 -- update to 9.3.1 minor version per release notes: - http://www.postgresql.org/docs/9.3/static/release-9-3-1.html - -* Tue Sep 10 2013 Pavel Raiskup - 9.3.0-1 -- update to 9.3 major version per release notes: - http://www.postgresql.org/docs/9.3/static/release-9-3.html - -* Thu Aug 15 2013 Pavel Raiskup - 9.2.4-11 -- upgrade: stop old server in case of permissions problem (#896161) - -* Mon Aug 12 2013 Pavel Raiskup - 9.2.4-10 -- disable aggressive loop optimizations for old codebase (#993532) - -* Wed Aug 07 2013 Pavel Raiskup - 9.2.4-9 -- generate links docdir links in postgresql-check-db-dir correctly (#994048) - -* Tue Aug 06 2013 Pavel Raiskup - 9.2.4-8 -- allow `rpmbuild -bi --short-circuit` - -* Sun Aug 04 2013 Fedora Release Engineering - 9.2.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Jul 24 2013 Pavel Raiskup - 9.2.4-6 -- split aarch64 patch to allow build without postgresql-upgrade - -* Tue Jul 23 2013 Pavel Raiskup - 9.2.4-5 -- fix testsuite to allow build against Perl 5.18 - -* Thu Jul 18 2013 Petr Pisar - 9.2.4-5 -- Perl 5.18 rebuild - -* Tue Jul 09 2013 Pavel Raiskup - 9.2.4-4 -- do not use -b for manual page fixes - -* Thu Jun 20 2013 Pavel Raiskup - 9.2.4-3 -- fix README.rpm-dist for the bug (#969050) -- replace hard-wired path with %%{_datadir} - -* Thu Jun 13 2013 Pavel Raiskup - 9.2.4-3 -- add atomic operations support for aarch64 to preupgrade version also (#970661) -- apply the forgotten man-page-day patch (#948933) - -* Thu Jun 13 2013 Jan Stanek - 9.2.4-3 -- added patch for manual pages (#948933) - -* Tue Jun 11 2013 Pavel Raiskup - 9.2.4-2 -- postgresql-setup: don't create whole path to server's data to make sure that - the parent directory has correct permissions (#972425) - -* Wed Jun 05 2013 Pavel Raiskup - 9.2.4-2 -- fix rpmlint warnings -- fix aarch64 build by defining missing atomic operations (#970661) - -* Thu Apr 4 2013 Tom Lane 9.2.4-1 -- Update to PostgreSQL 9.2.4, for various fixes described at - http://www.postgresql.org/docs/9.2/static/release-9-2-4.html - including the fixes for CVE-2013-1899, CVE-2013-1900, CVE-2013-1901 -Resolves: #929223, #929255, #929328 -- fix build for aarch64 and ppc64p7 - -* Thu Feb 7 2013 Tom Lane 9.2.3-1 -- Update to PostgreSQL 9.2.3, for various fixes described at - http://www.postgresql.org/docs/9.2/static/release-9-2-3.html - including the fix for CVE-2013-0255 -Resolves: #908722 -- Make the package build with selinux option disabled -Resolves: #894367 -- Include old version of pg_controldata in postgresql-upgrade subpackage -Related: #896161 - -* Thu Jan 3 2013 Tom Lane 9.2.2-3 -- Prevent creation of TCP socket during pg_upgrade regression test, so that - concurrent RPM builds on the same machine won't fail -Resolves: #891531 -- Make sure $PGDATA/pg_log/ gets the right SELinux label in postgresql-setup -Resolves: #891547 - -* Wed Dec 19 2012 Tom Lane 9.2.2-2 -- Make building of plpython3 dependent on Fedora version, per guidelines -Resolves: #888419 - -* Thu Dec 6 2012 Tom Lane 9.2.2-1 -- Update to PostgreSQL 9.2.2, for various fixes described at - http://www.postgresql.org/docs/9.2/static/release-9-2-2.html -- Use new systemd install/uninstall trigger macros conditionally, - so that package can still be installed on pre-F18 branches - -* Mon Sep 24 2012 Tom Lane 9.2.1-1 -- Update to PostgreSQL 9.2.1, for various fixes described at - http://www.postgresql.org/docs/9.2/static/release-9-2-1.html - including a nasty data-loss bug -- Adopt new systemd macros for server package install/uninstall triggers -Resolves: #850277 - -* Mon Sep 10 2012 Tom Lane 9.2.0-1 -- Update to PostgreSQL 9.2.0 (major version bump); - in-place upgrade support now works from 9.1.x as the previous version -- Add postgresql-plpython3 subpackage with PL/Python built against Python 3 - -* Tue Aug 28 2012 Tom Lane 9.1.5-2 -- Remove unnecessary ldconfig calls in pre/post triggers -Resolves: #849344 - -* Fri Aug 17 2012 Tom Lane 9.1.5-1 -- Update to PostgreSQL 9.1.5, for various fixes described at - http://www.postgresql.org/docs/9.1/static/release-9-1-5.html - including the fixes for CVE-2012-3488, CVE-2012-3489 - -* Mon Aug 13 2012 Tom Lane 9.1.4-5 -- Back-port upstream support for postmaster listening on multiple Unix sockets -- Configure postmaster to create sockets in both /var/run/postgresql and /tmp; - the former is now the default place for libpq to contact the postmaster. -Resolves: #825448 -- Annotate postgresql.conf about not setting port number there -- Minor specfile cleanup per suggestions from Tom Callaway -Related: #845110 - -* Sat Jul 21 2012 Fedora Release Engineering - 9.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jul 14 2012 Tom Lane 9.1.4-3 -- Update code to use oom_score_adj not oom_adj, thereby suppressing - whining in the kernel log -- Add "legacy action" scripts to support "service postgresql initdb" and - "service postgresql upgrade" in a now-approved fashion (requires a - recent version of initscripts to work) -Resolves: #800416 - -* Mon Jun 11 2012 Petr Pisar - 9.1.4-2 -- Perl 5.16 rebuild - -* Mon Jun 4 2012 Tom Lane 9.1.4-1 -- Update to PostgreSQL 9.1.4, for various fixes described at - http://www.postgresql.org/docs/9.1/static/release-9-1-4.html - including the fixes for CVE-2012-2143, CVE-2012-2655 -Resolves: #826606 -- Update previous version (embedded in postgresql-upgrade) to 9.0.8 - because fix in whole-row variable dumping could be needed for upgrades -- Revert fix for bug #800416, per fedora-packaging discussion at - http://lists.fedoraproject.org/pipermail/packaging/2012-April/008314.html - "service postgresql initdb" is dead and will stay that way - -* Sat Mar 17 2012 Tom Lane 9.1.3-3 -- Fix postgresql-setup to rely on systemd to parse the unit file, instead - of using ad-hoc code -Resolves: #804290 - -* Tue Mar 13 2012 Tom Lane 9.1.3-2 -- Fix postgresql-setup to look for unit file in /usr/lib and to ignore - comments therein -Resolves: #802835 -- Resurrect a now-mostly-dummy postgresql init script, so that people can - keep on using "service postgresql initdb" if they wish -Resolves: #800416 - -* Mon Feb 27 2012 Tom Lane 9.1.3-1 -- Update to PostgreSQL 9.1.3, for various fixes described at - http://www.postgresql.org/docs/9.1/static/release-9-1-3.html - including the fixes for CVE-2012-0866, CVE-2012-0867, CVE-2012-0868 -Resolves: #797918 - -* Mon Jan 9 2012 Tom Lane 9.1.2-2 -- Make systemd unit file more user-friendly by resurrecting the old init - script's checks for data directory presence and version match -Resolves: #771496 - -* Mon Dec 5 2011 Tom Lane 9.1.2-1 -- Update to PostgreSQL 9.1.2, for various fixes described at - http://www.postgresql.org/docs/9.1/static/release-9-1-2.html - -* Wed Nov 02 2011 Honza Horak 9.1.1-2 -- Create a symlink of pg_regress instead of full copy; - Don't strip symbols from regress libs -Related: #729012 - -* Mon Sep 26 2011 Tom Lane 9.1.1-1 -- Update to PostgreSQL 9.1.1, for various fixes described at - http://www.postgresql.org/docs/9.1/static/release-9-1-1.html -- Enable build (but not test) of contrib/sepgsql -- Clean up specfile build options so that turning options off works again - -* Mon Sep 12 2011 Tom Lane 9.1.0-1 -- Update to PostgreSQL 9.1.0 (major version bump); - in-place upgrade support now works from 9.0.x as the previous version - -* Wed Jul 27 2011 Tom Lane 9.0.4-8 -- Convert to systemd startup support -Resolves: #696427 - -* Thu Jul 21 2011 Petr Sabata - 9.0.4-7 -- Perl mass rebuild - -* Wed Jul 20 2011 Petr Sabata - 9.0.4-6 -- Perl mass rebuild - -* Wed Jul 6 2011 Tom Lane 9.0.4-5 -- Remove erroneously-included Default-Start line from LSB init block -Related: #717024 - -* Fri Jun 17 2011 Marcela Mašláňová 9.0.4-4 -- Perl mass rebuild -- incorporate upstream patch to make it build with Perl 5.14 - -* Fri Jun 10 2011 Tom Lane 9.0.4-3 -- Work around gcc 4.6.0 bug (temporary backport from next upstream release) - -* Tue May 10 2011 Tom Lane 9.0.4-2 -- Add LSB init block to initscript, to ensure sane ordering at system boot -Resolves: #703215 - -* Mon Apr 18 2011 Tom Lane 9.0.4-1 -- Update to PostgreSQL 9.0.4, for various fixes described at - http://www.postgresql.org/docs/9.0/static/release-9-0-4.html -- Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines - -* Wed Feb 09 2011 Fedora Release Engineering - 9.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Feb 3 2011 Tom Lane 9.0.3-2 -- Remove filter-requires-perl-Pg.sh, which doesn't seem to be needed now that - PyGreSQL has been split out; and our use of it isn't compatible with rpm 4.9 - anyway - -* Tue Feb 1 2011 Tom Lane 9.0.3-1 -- Update to PostgreSQL 9.0.3, for various fixes described at - http://www.postgresql.org/docs/9.0/static/release-9-0-3.html - including the fix for CVE-2010-4015 -Resolves: #674296 - -* Tue Dec 28 2010 Tom Lane 9.0.2-1 -- Update to PostgreSQL 9.0.2 (major version bump) -- Create infrastructure for in-place database upgrade using pg_upgrade -Resolves: #398221 - -* Thu Dec 16 2010 Tom Lane 8.4.6-1 -- Update to PostgreSQL 8.4.6, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-6.html -- Ensure we don't package any .gitignore files from the source tarball -Related: #642210 - -* Tue Oct 5 2010 Tom Lane 8.4.5-1 -- Update to PostgreSQL 8.4.5, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-5.html - including the fix for CVE-2010-3433 -Related: #639371 -- Add -p "$pidfile" to initscript's status call to improve corner cases. -Related: #561010 - -* Sat Jul 31 2010 Orcan Ogetbil - 8.4.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild -- Duplicate COPYRIGHT in -libs subpackage, per revised packaging guidelines - -* Wed Jun 02 2010 Marcela Maslanova - 8.4.4-2 -- Mass rebuild with perl-5.12.0 - -* Mon May 17 2010 Tom Lane 8.4.4-1 -- Update to PostgreSQL 8.4.4, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-4.html - including fixes for CVE-2010-1169 and CVE-2010-1170 -Resolves: #593032 - -* Sun Mar 14 2010 Tom Lane 8.4.3-1 -- Update to PostgreSQL 8.4.3, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-3.html - -* Mon Feb 22 2010 Tom Lane 8.4.2-8 -- Bring init script into some modicum of compliance with Fedora/LSB standards -Resolves: #201043 - -* Thu Feb 18 2010 Tom "spot" Callaway 8.4.2-7 -- adjust license tag to reflect OSI decision - -* Tue Jan 26 2010 Tom Lane 8.4.2-6 -- Emit explicit error message if user tries to build RPM as root -Related: #558921 - -* Wed Jan 20 2010 Tom Lane 8.4.2-5 -- Latest version of systemtap needs the probes.o file to be built again -Resolves: #557266 -- Provide script and instructions for building the documentation PDF - -* Mon Jan 11 2010 Tom Lane 8.4.2-4 -- Arrange for the postmaster, but not any of its child processes, to be run - with oom_adj -17. This compensates for the OOM killer not being smart about - accounting for shared memory usage. - -* Sat Jan 9 2010 Tom Lane 8.4.2-3 -- Remove the postgresql-python and postgresql-tcl subpackages. These files - are now broken out as their own packages (PyGreSQL and tcl-pgtcl, - respectively), to reflect the now longstanding split of upstream projects. -Related: #452306, #452321 - -* Tue Jan 5 2010 Tom Lane 8.4.2-2 -- Remove static libraries (.a files) from package, per packaging guidelines -- Change %%define to %%global, per packaging guidelines - -* Wed Dec 16 2009 Tom Lane 8.4.2-1 -- Update to PostgreSQL 8.4.2, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-2.html - including two security issues -Related: #546321 -Related: #547662 -- Use -N not the obsolete -n in useradd call -Resolves: #495727 -- Clean up specfile to eliminate rpmlint gripes, mainly by removing - no-longer-needed provisions for superseding rh-postgresql - -* Mon Dec 7 2009 Stepan Kasal - 8.4.1-5 -- rebuild against perl 5.10.1 - -* Thu Oct 15 2009 Tom Lane 8.4.1-4 -- add sparc/sparc64 to multilib header support - -* Mon Sep 21 2009 Tom Lane 8.4.1-3 -- Ensure pgstartup.log gets the right ownership/permissions during initdb -Resolves: #498959 - -* Wed Sep 16 2009 Tomas Mraz - 8.4.1-2 -- Use password-auth common PAM configuration instead of system-auth - -* Wed Sep 9 2009 Tom Lane 8.4.1-1 -- Update to PostgreSQL 8.4.1, for various fixes described at - http://www.postgresql.org/docs/8.4/static/release-8-4-1.html - including two security issues -Related: #522085 -Related: #522092 - -* Tue Sep 01 2009 Karsten Hopp 8.4.0-3.2 -- bump release and build again with the correct libssl - -* Tue Sep 01 2009 Karsten Hopp 8.4.0-3.1 -- disable dtrace on s390x as a workaround until #520469 has been fixed - -* Fri Aug 21 2009 Tomas Mraz - 8.4.0-3 -- rebuilt with new openssl - -* Thu Aug 20 2009 Tom "spot" Callaway 8.4.0-2 -- update License tag to MIT (PostgreSQL calls it "BSD", but it is MIT) -- Note: This changes nothing from a license compatibility perspective. - -* Mon Aug 17 2009 Tom Lane 8.4.0-1 -- Update to PostgreSQL 8.4.0. See release notes at - http://www.postgresql.org/docs/8.4/static/release-8-4.html - -* Sun Jul 26 2009 Fedora Release Engineering - 8.3.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sat Mar 21 2009 Tom Lane 8.3.7-1 -- Update to PostgreSQL 8.3.7, for various fixes described at - http://www.postgresql.org/docs/8.3/static/release-8-3-7.html - notably the fix for CVE-2009-0922 - -* Tue Mar 10 2009 Tom Lane 8.3.6-4 -- Prevent dependent packages from needing to include sys/sdt.h - (unintended side effect of previous patch) -- Use -O1 on alpha, per report from Oliver Falk; -O2 tickles gcc bugs - -* Sun Mar 8 2009 Tom Lane 8.3.6-3 -- Enable tracing via systemtap -Resolves: #488941 - -* Thu Feb 26 2009 Fedora Release Engineering - 8.3.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sat Feb 7 2009 Tom Lane 8.3.6-1 -- Update to PostgreSQL 8.3.6, for various fixes described at - http://www.postgresql.org/docs/8.3/static/release-8-3-6.html - -* Wed Jan 21 2009 Dennis Gilmore 8.3.5-4 -- use -O1 on sparc64 - -* Sat Jan 17 2009 Tomas Mraz - 8.3.5-3 -- rebuild with new openssl - -* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 8.3.5-2 -- Rebuild for Python 2.6 - -* Sun Nov 2 2008 Tom Lane 8.3.5-1 -- Update to PostgreSQL 8.3.5. -- Improve display from init script's initdb action, per Michael Schwendt - -* Thu Sep 25 2008 Tom Lane 8.3.4-1 -- Update to PostgreSQL 8.3.4. - -* Mon Jul 28 2008 Tom Lane 8.3.3-3 -- Fix build failure caused by new default patch fuzz = 0 policy in rawhide. - -* Fri Jun 20 2008 Tom Lane 8.3.3-2 -- Install Pgtcl in /usr/lib/tcl$TCL_VERSION, not directly in /usr/lib. - Needed because tcl 8.5 no longer puts /usr/lib into its package search path. - NOTE: do not back-port this change into branches using pre-8.5 tcl, because - /usr/lib/tcl8.4 had been a symlink to /usr/share/tcl8.4, and /usr/share - is exactly where we must not put Pgtcl. -Resolves: #228263 - -* Wed Jun 11 2008 Tom Lane 8.3.3-1 -- Update to PostgreSQL 8.3.3. -- Remove postgresql-prefer-ncurses.patch, no longer needed in recent - Fedora releases because libtermcap is gone. - -* Sat May 17 2008 Tom Lane 8.3.1-5 -- rebuild because of buildsystem hiccup - -* Sat May 17 2008 Tom Lane 8.3.1-4 -- Enable LDAP support -Resolves: #445315 -- Use -Wl,--as-needed to suppress bogus dependencies for libraries that - are really only needed by some of the subpackages - -* Mon Apr 28 2008 Tom Lane 8.3.1-3 -- Fix build breakage on PPC due to incorrect configure test -Related: #444317 - -* Sat Apr 26 2008 Tom Lane 8.3.1-2 -- Clean up cross-subpackage Requires: to ensure that updating any one - subpackage brings in the matching versions of others. -Resolves: #444271 - -* Tue Mar 25 2008 Tom Lane 8.3.1-1 -- Update to PostgreSQL 8.3.1. - -* Tue Mar 18 2008 Tom "spot" Callaway 8.3.0-3 -- add Requires for versioned perl (libperl.so) - -* Wed Feb 6 2008 Tom Lane 8.3.0-2 -- Enable the new GSSAPI support in 8.3.0. - -* Mon Feb 4 2008 Tom Lane 8.3.0-1 -- Update to PostgreSQL 8.3.0. - -* Fri Jan 18 2008 Tom Lane 8.3RC2-1 -- Update to PostgreSQL 8.3RC2 (not waiting for 8.3.0 because Fedora 9 alpha - should be 8.3-based not 8.2-based). -- Update to pgtcl 1.6.2 - -* Mon Jan 7 2008 Tom Lane 8.2.6-1 -- Update to PostgreSQL 8.2.6 to fix CVE-2007-4769, CVE-2007-4772, - CVE-2007-6067, CVE-2007-6600, CVE-2007-6601 -- Make initscript and pam config files be installed unconditionally; - seems new buildroots don't necessarily have those directories in place - -* Wed Dec 5 2007 Tom Lane 8.2.5-2 -- Rebuild for new openssl - -* Thu Sep 20 2007 Tom Lane 8.2.5-1 -- Update to PostgreSQL 8.2.5 and pgtcl 1.6.0 - -* Tue Sep 4 2007 Tom Lane 8.2.4-6 -- Fix multilib problem for /usr/include/ecpg_config.h (which is new in 8.2.x) - -* Sat Aug 25 2007 Tom Lane 8.2.4-5 -- Use nicer solution for tzdata file substitution: upstream discussion - concluded that hardwiring the path was better than a symlink after all. - -* Wed Aug 22 2007 Tom Lane 8.2.4-4 -- Use tzdata package's data files instead of private copy, so that - postgresql-server need not be turned for routine timezone updates -- Don't remove postgres user/group during RPM uninstall, per Fedora - packaging guidelines -- Seems we need an explicit BuildRequires on gawk now -- Rebuild to fix Fedora toolchain issues - -* Sun Aug 12 2007 Tom Lane 8.2.4-3 -- Recent perl changes in rawhide mean we need a more specific BuildRequires - -* Wed Jun 20 2007 Tom Lane 8.2.4-2 -- Fix oversight in postgresql-test makefile: pg_regress isn't a shell script - anymore. Per upstream bug 3398. - -* Tue Apr 24 2007 Tom Lane 8.2.4-1 -- Update to PostgreSQL 8.2.4 for CVE-2007-2138, data loss bugs -Resolves: #237682 - -* Wed Feb 14 2007 Karsten Hopp 8.2.3-2 -- rebuild with tcl-8.4 - -* Wed Feb 7 2007 Tom Lane 8.2.3-1 -- Update to PostgreSQL 8.2.3 due to regression induced by security fix -Resolves: #227522 - -* Sun Feb 4 2007 Tom Lane 8.2.2-1 -- Update to PostgreSQL 8.2.2 to fix CVE-2007-0555, CVE-2007-0556 -Related: #225496 - -* Fri Jan 12 2007 Tom Lane 8.2.1-2 -- Split -pl subpackage into three new packages to reduce dependencies - and track upstream project's packaging. - -* Wed Jan 10 2007 Tom Lane 8.2.1-1 -- Update to PostgreSQL 8.2.1 -- Update to pgtcl 1.5.3 -- Be sure we link to libncurses, not libtermcap which is disappearing in Fedora - -* Thu Dec 7 2006 Jeremy Katz - 8.2.0-2 -- rebuild for python 2.5 - -* Mon Dec 4 2006 Tom Lane 8.2.0-1 -- Update to PostgreSQL 8.2.0 -- Update to PyGreSQL 3.8.1 -- Fix chcon arguments in test/regress/Makefile -Related: #201035 -- Adjust init script to not fool /etc/rc.d/rc -Resolves: #161470 -- Change init script to not do initdb automatically, but require - manual "service postgresql initdb" for safety. Per upstream discussions. - -* Wed Jul 12 2006 Jesse Keating - 8.1.4-1.1 -- rebuild - -* Mon May 22 2006 Tom Lane 8.1.4-1 -- Update to PostgreSQL 8.1.4 (includes fixes for CVE-2006-2313, CVE-2006-2314; - see bug #192173) -- Update to PyGreSQL 3.8 -- Suppress noise from chcon, per bug #187744 - -* Mon Mar 27 2006 Tom Lane 8.1.3-2 -- Remove JDBC from this build; we will package it as separate SRPM - -* Mon Feb 13 2006 Jesse Keating - 8.1.3-1.1 -- rebump for build order issues during double-long bump - -* Mon Feb 13 2006 Tom Lane 8.1.3-1 -- Update to PostgreSQL 8.1.3 (fixes bug #180617, CVE-2006-0553) -- Update to jdbc driver build 405 -- Modify multilib header hack to not break non-RH arches, per bug #177564 - -* Tue Feb 07 2006 Jesse Keating - 8.1.2-1.1 -- rebuilt for new gcc4.1 snapshot and glibc changes - -* Mon Jan 9 2006 Tom Lane 8.1.2-1 -- Update to PostgreSQL 8.1.2 -- Repair extraneous quote in pgtcl configure script ... odd that bash - didn't use to spit up on this. - -* Thu Dec 15 2005 Tom Lane 8.1.1-3 -- fix pg_config.h for 64-bit and ppc platforms -- update Makefile.regress (needs to --load-language=plpgsql) - -* Wed Dec 14 2005 Tom Lane 8.1.1-2 -- oops, looks like we want uname -i not uname -m - -* Wed Dec 14 2005 Tom Lane 8.1.1-1 -- Update to PostgreSQL 8.1.1 -- Make pg_config.h architecture-independent for multilib installs; - put the original pg_config.h into pg_config_$ARCH.h - -* Fri Dec 09 2005 Jesse Keating -- rebuilt - -* Sat Nov 12 2005 Tom Lane 8.1.0-4 -- Update included PDF-format manual to 8.1. - -* Wed Nov 9 2005 Tom Lane 8.1.0-3 -- Rebuild due to openssl library update. - -* Wed Nov 9 2005 Tom Lane 8.1.0-2 -- Rebuild due to openssl library update. - -* Mon Nov 7 2005 Tom Lane 8.1.0-1 -- Update to PostgreSQL 8.1.0, PyGreSQL 3.7, and jdbc driver build 404 -- Fix PAM config file (must have account not only auth) (bug #167040) -- Add BuildPrereq: libxslt-devel (bug #170141) -- Sync with PGDG SRPM as much as feasible - -* Fri Oct 14 2005 Tomas Mraz -- use include instead of pam_stack in pam config - -* Tue Oct 4 2005 Tom Lane 8.0.4-2 -- Add rpath to plperl.so (bug #162198) - -* Tue Oct 4 2005 Tom Lane 8.0.4-1 -- Update to PostgreSQL 8.0.4, PyGreSQL 3.6.2, and jdbc driver build 312 -- Adjust pgtcl link command to ensure it binds to correct libpq (bug #166665) -- Remove obsolete Conflicts: against other python versions (bug #166754) -- Add /etc/pam.d/postgresql (bug #167040) -- Include contrib/xml2 in build (bug #167492) - -* Tue May 10 2005 Tom Lane 8.0.3-1 -- Update to PostgreSQL 8.0.3 (includes security and data-loss fixes; see - bz#156727, CAN-2005-1409, CAN-2005-1410) -- Update to jdbc driver build 311 -- Recreate postgres user after superseding an rh-postgresql install (bug #151911) -- Ensure postgresql server is restarted if running during an upgrade - -* Thu Apr 14 2005 Florian La Roche 8.0.2-2 -- rebuild for postgresql-tcl - -* Tue Apr 12 2005 Tom Lane 8.0.2-1 -- Update to PostgreSQL 8.0.2. - -* Fri Mar 11 2005 Tom Lane 8.0.1-5 -- Remove unwanted rpath specification from pgtcl (bz#150649) - -* Wed Mar 2 2005 Tom Lane 8.0.1-4 -- Attach Obsoletes: declarations for rh-postgresql to subpackages (bz#144435) -- Make Requires: and Prereq: package linkages specify release not only - version, as per recent mailing list discussion. - -* Tue Mar 1 2005 Tomas Mraz 8.0.1-3 -- rebuild with openssl-0.9.7e - -* Mon Feb 21 2005 Tom Lane 8.0.1-2 -- Repair improper error message in init script when PGVERSION doesn't match. -- Arrange for auto update of version embedded in init script. - -* Sun Jan 30 2005 Tom Lane 8.0.1-1 -- Update to PostgreSQL 8.0.1. -- Add versionless symlinks to jar files (bz#145744) - -* Wed Jan 19 2005 Tom Lane 8.0.0-1 -- Update to PostgreSQL 8.0.0, PyGreSQL 3.6.1, pgtcl 1.5.2, - and jdbc driver build 309. -- Extensive cleanout of obsolete cruft in patch set. -- Regression tests are run during RPM build (NOTE: cannot build as root when - this is enabled). -- Postmaster stderr goes someplace useful, not /dev/null (bz#76503, #103767) -- Make init script return a useful exit status (bz#80782) -- Move docs' tutorial directory to %%{_libdir}/pgsql/tutorial, since it - includes .so files that surely do not belong under /usr/share. -- Remove useless .sgml files from docs RPM (bz#134450) -- Put regression tests under /usr/lib64 on 64-bit archs, since .so files - are not architecture-independent. - -* Wed Jan 12 2005 Tim Waugh 7.4.6-5 -- Rebuilt for new readline. - -* Tue Jan 11 2005 Dan Walsh 7.4.6-4 -- Add restorecon to postgresql.init in order to restore database to correct -- SELinux context. - -* Thu Dec 16 2004 Tom Lane 7.4.6-3 -- Update to PyGreSQL 3.6 (to fix bug #142711) -- Adjust a few file permissions (bug #142431) -- Assign %%{_libdir}/pgsql to base package instead of -server (bug #74003) - -* Mon Nov 15 2004 Tom Lane 7.4.6-2 -- Rebuild so python components play with python 2.4 (bug 139160) - -* Sat Oct 23 2004 Tom Lane 7.4.6-1 -- Update to PostgreSQL 7.4.6 (bugs 136947, 136949) -- Make init script more paranoid about mkdir step of initializing a new - database (bugs 136947, 136949) - -* Wed Oct 20 2004 Tom Lane 7.4.5-4 -- Remove contrib/oidjoins stuff from installed fileset; it's of no use - to ordinary users and has a security issue (bugs 136300, 136301) -- adjust chkconfig priority (bug 128852) - -* Tue Oct 05 2004 Tom Lane 7.4.5-3 -- Solve the stale lockfile problem (bugs 71295, 96981, 134090) -- Use runuser instead of su for SELinux (bug 134588) - -* Mon Aug 30 2004 Tom Lane 7.4.5-2 -- Update to PyGreSQL 3.5. - -* Tue Aug 24 2004 Tom Lane 7.4.5-1 -- Update to PostgreSQL 7.4.5. -- Update JDBC jars to driver build 215. -- Add Obsoletes: entries for rh-postgresql packages, per bug 129278. - -* Sat Jul 10 2004 Tom Lane 7.4.3-3 -- Undo ill-considered chkconfig change that causes server to start - immediately upon install. Mea culpa (bug 127552). - -* Sat Jul 03 2004 Tom Lane 7.4.3-2 -- Update JDBC jars to driver build 214. - -* Wed Jun 23 2004 Tom Lane 7.4.3-1 -- Update to PostgreSQL 7.4.3. -- Uninstalling server RPM stops postmaster first, per bug 114846. -- Fix su commands to not assume PG user's shell is sh-like, per bug 124024. -- Fix permissions on postgresql-python doc files, per bug 124822. -- Minor postgresql.init improvements. - -* Tue Jun 15 2004 Elliot Lee -- rebuilt - -* Wed Mar 10 2004 Tom Lane 7.4.2-1 -- Update to PostgreSQL 7.4.2; sync with community SRPM as much as possible. -- Support PGOPTS from /etc/sysconfig/pgsql, per bug 111504. -- Fix permissions on /etc/sysconfig/pgsql, per bug 115278. -- SELinux patch in init file: always su -- rebuilt - -* Wed Feb 25 2004 Tom Lane -- Update to PostgreSQL 7.4.1. -- Rebuilt - -* Tue Feb 24 2004 Tom Lane -- Fix chown syntax in postgresql.init also. -- Rebuilt - -* Mon Feb 23 2004 Tim Waugh -- Use ':' instead of '.' as separator for chown. - -* Fri Feb 13 2004 Elliot Lee -- rebuilt - -* Fri Jan 9 2004 Lamar Owen -- 7.4.1-1PGDG -- Merge Sander Steffann's changes up to 7.4-0.5PGDG -- Proper 7.4.1 JDBC jars this time. -- Patch for no pl/python from Alvaro - -* Fri Dec 05 2003 David Jee 7.4-5 -- Rebuild for Perl 5.8.2. - -* Mon Dec 01 2003 David Jee 7.4-4 -- Add PyGreSQL patch for deprecated column pg_type.typprtlen [Bug #111263] -- Add headers patch which moves ecpg headers to /usr/include/ecpg - [Bug #111195] - -* Fri Nov 28 2003 David Jee 7.4-3 -- uncomment buildrequires tcl-devel - -* Fri Nov 28 2003 David Jee 7.4-2 -- rebuild - -* Mon Nov 24 2003 David Jee 7.4-1 -- initial Red Hat build -- move jars to /usr/share/java -- fix rpm-multilib patch to use sysconfig - -* Fri Nov 21 2003 Lamar Owen -- 7.4-0.1PGDG -- Development JDBC jars in addition to the 7.3 jars; will replace the -- 7.3 jars once 7.4 official jars are released. -- Changed to use the bzip2 source to save a little size. -- Removed some commented out portions of the specfile. -- Removed the 7.3.4 PDF docs. Will replace with 7.4 PDF's once they -- are ready. - -* Tue Nov 18 2003 Kaj J. Niemi 7.4-0.1 -- 7.4 -- Fixed Patch #1 (now rpm-pgsql-7.4.patch) -- Fixed Patch #2 (now rpm-multilib-7.4.patch): -- Patch #4 is unnecessary (upstream) -- Fixed Patch #6 (now postgresql-7.4-src-tutorial.patch) -- Added Patch #8 (postgresql-7.4-com_err.patch) as com_err() - is provided by e2fsprogs and CPPFLAGS gets lost somewhere - inside configure (bad macro?) -- No 7.4 PDF docs available yet (Source #17) -- PyGreSQL is separated from the upstream distribution but - we include it as usual (Source #18) -- Default to compiling libpq and ECPG as fully thread-safe - -- 7.4 Origin. See previous spec files for previous history. Adapted -- from Red Hat and PGDG's 7.3.4 RPM, directly descended from -- postgresql-7.3.4-2 as shipped in Fedora Core 1. +* Mon Jan 08 2024 Filip Janus - 16.1-1 +- Update to 16.1 +- Update upgrade server to 15.5 +- Resolves: RHEL-3636 + +* Mon Oct 09 2023 Filip Janus - 16.0-1 +- New postgresql stream - 16 +- Remove pdf documentation +- Update postgresql-setup to 8.9 +- postmaster binary no more shipped +- Resolves: RHEL-3636 + +* Wed Aug 02 2023 Jorge San Emeterio - 15.3-1 +- Update to upstream version 15.3 +- Fixes: CVE-2023-2454 CVE-2023-2455 +- Resolves: #2207934 + +* Wed Feb 08 2023 Filip Januš - 15.2-1 +- Update to upstream version 15.2 +- Update postgresql-setup to 8.8 +- PostgreSQL systemd unit waits for the network to be up +- Resolves: #2128241 + +* Fri Oct 14 2022 Filip Januš - 15.0-1 +- Initial import for postgresql 15 +- Specfile is based on version locate in centos stream + It reflects changes with libpq. This version of databse server + will use private libpq library. +- Resolves: #2128241