Initial import of demodularized postgresql 16
This commit is contained in:
parent
7b048f16cd
commit
346ba9791a
5
.gitignore
vendored
Executable file
5
.gitignore
vendored
Executable file
@ -0,0 +1,5 @@
|
||||
/postgresql-15.5.tar.bz2
|
||||
/postgresql-15.5.tar.bz2.sha256
|
||||
/postgresql-16.1.tar.bz2
|
||||
/postgresql-16.1.tar.bz2.sha256
|
||||
/postgresql-setup-8.9.tar.gz
|
69
Makefile.regress
Normal file
69
Makefile.regress
Normal file
@ -0,0 +1,69 @@
|
||||
#
|
||||
# Simplified makefile for running the PostgreSQL regression tests
|
||||
# in an RPM installation
|
||||
#
|
||||
|
||||
# maximum simultaneous connections for parallel tests
|
||||
MAXCONNOPT =
|
||||
ifdef MAX_CONNECTIONS
|
||||
MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS)
|
||||
endif
|
||||
|
||||
# locale
|
||||
NOLOCALE =
|
||||
ifdef NO_LOCALE
|
||||
NOLOCALE += --no-locale
|
||||
endif
|
||||
|
||||
srcdir := .
|
||||
|
||||
REGRESS_OPTS += --dlpath=.
|
||||
|
||||
pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE)
|
||||
|
||||
pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --bindir=@bindir@ $(pg_regress_locale_flags)
|
||||
|
||||
# Test input and expected files. These are created by pg_regress itself, so we
|
||||
# don't have a rule to create them. We do need rules to clean them however.
|
||||
ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
|
||||
input_files := $(foreach file, $(ifile_list), sql/$(file).sql)
|
||||
ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source)))
|
||||
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
|
||||
|
||||
abs_srcdir := $(shell pwd)
|
||||
abs_builddir := $(shell pwd)
|
||||
|
||||
check: installcheck-parallel
|
||||
|
||||
installcheck: cleandirs
|
||||
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
|
||||
|
||||
installcheck-parallel: cleandirs
|
||||
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
|
||||
|
||||
# The tests command the server to write into testtablespace and results.
|
||||
# On a SELinux-enabled system this will fail unless we mark those directories
|
||||
# as writable by the server.
|
||||
cleandirs:
|
||||
-rm -rf testtablespace results
|
||||
mkdir 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...
|
||||
|
||||
runcheck: check
|
||||
runtest: installcheck
|
||||
runtest-parallel: installcheck-parallel
|
||||
|
||||
|
||||
##
|
||||
## Clean up
|
||||
##
|
||||
|
||||
clean distclean maintainer-clean:
|
||||
rm -f $(output_files) $(input_files)
|
||||
rm -rf testtablespace
|
||||
rm -rf results tmp_check log
|
||||
rm -f regression.diffs regression.out regress.out run_check.out
|
10
ci.fmf
Normal file
10
ci.fmf
Normal file
@ -0,0 +1,10 @@
|
||||
/test:
|
||||
summary:
|
||||
Basic set of quick tests for postgresql.
|
||||
discover:
|
||||
- name: fedora
|
||||
how: fmf
|
||||
url: "https://src.fedoraproject.org/tests/postgresql.git"
|
||||
ref: main
|
||||
execute:
|
||||
how: tmt
|
58
generate-pdf.sh
Normal file
58
generate-pdf.sh
Normal file
@ -0,0 +1,58 @@
|
||||
#! /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
|
12
generate-sources.sh
Normal file
12
generate-sources.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#! /bin/sh
|
||||
|
||||
rm sources
|
||||
set -e
|
||||
spectool -S *.spec | cut -d' ' -f2 \
|
||||
| grep -E -e 'postgresql-.*\.tar\.*' -e 'postgresql.*\.pdf' | sort | \
|
||||
while read line
|
||||
do
|
||||
base=`basename "$line"`
|
||||
echo " * handling $base"
|
||||
sha512sum --tag "$base" >> sources
|
||||
done
|
192
hstore-plperl-data-dumper.patch
Normal file
192
hstore-plperl-data-dumper.patch
Normal file
@ -0,0 +1,192 @@
|
||||
From 69db3b0cfccc0687dfbdf56afcfb2f8e536053c6 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Dunstan <andrew@dunslane.net>
|
||||
Date: Sun, 14 May 2017 01:10:18 -0400
|
||||
Subject: [PATCH] Suppress indentation from Data::Dumper in regression tests
|
||||
|
||||
Ultra-modern versions of the perl Data::Dumper module have apparently
|
||||
changed how they indent output. Instead of trying to keep up we choose
|
||||
to tell it to supporess all indentation in the hstore_plperl regression
|
||||
tests.
|
||||
|
||||
Backpatch to 9.5 where this feature was introduced.
|
||||
---
|
||||
contrib/hstore_plperl/expected/hstore_plperlu.out | 44 ++++++-----------------
|
||||
contrib/hstore_plperl/sql/hstore_plperlu.sql | 6 ++++
|
||||
2 files changed, 17 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/contrib/hstore_plperl/expected/hstore_plperlu.out b/contrib/hstore_plperl/expected/hstore_plperlu.out
|
||||
index b09fb78..d719d29 100644
|
||||
--- a/contrib/hstore_plperl/expected/hstore_plperlu.out
|
||||
+++ b/contrib/hstore_plperl/expected/hstore_plperlu.out
|
||||
@@ -20,15 +20,12 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
SELECT test1('aa=>bb, cc=>NULL'::hstore);
|
||||
-INFO: $VAR1 = {
|
||||
- 'aa' => 'bb',
|
||||
- 'cc' => undef
|
||||
- };
|
||||
-
|
||||
+INFO: $VAR1 = {'aa' => 'bb','cc' => undef};
|
||||
test1
|
||||
-------
|
||||
2
|
||||
@@ -39,12 +36,12 @@ LANGUAGE plperlu
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
SELECT test1none('aa=>bb, cc=>NULL'::hstore);
|
||||
INFO: $VAR1 = '"aa"=>"bb", "cc"=>NULL';
|
||||
-
|
||||
test1none
|
||||
-----------
|
||||
0
|
||||
@@ -56,15 +53,12 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
SELECT test1list('aa=>bb, cc=>NULL'::hstore);
|
||||
-INFO: $VAR1 = {
|
||||
- 'aa' => 'bb',
|
||||
- 'cc' => undef
|
||||
- };
|
||||
-
|
||||
+INFO: $VAR1 = {'aa' => 'bb','cc' => undef};
|
||||
test1list
|
||||
-----------
|
||||
2
|
||||
@@ -77,18 +71,12 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]->[0], $_[0]->[1]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
SELECT test1arr(array['aa=>bb, cc=>NULL'::hstore, 'dd=>ee']);
|
||||
-INFO: $VAR1 = {
|
||||
- 'aa' => 'bb',
|
||||
- 'cc' => undef
|
||||
- };
|
||||
-$VAR2 = {
|
||||
- 'dd' => 'ee'
|
||||
- };
|
||||
-
|
||||
+INFO: $VAR1 = {'aa' => 'bb','cc' => undef};$VAR2 = {'dd' => 'ee'};
|
||||
test1arr
|
||||
----------
|
||||
2
|
||||
@@ -101,6 +89,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
|
||||
$rv = spi_exec_query(q{SELECT 'aa=>bb, cc=>NULL'::hstore AS col1});
|
||||
elog(INFO, Dumper($rv->{rows}[0]->{col1}));
|
||||
@@ -111,13 +100,8 @@ $rv = spi_exec_prepared($plan, {}, $val);
|
||||
elog(INFO, Dumper($rv->{rows}[0]->{col1}));
|
||||
$$;
|
||||
SELECT test3();
|
||||
-INFO: $VAR1 = {
|
||||
- 'aa' => 'bb',
|
||||
- 'cc' => undef
|
||||
- };
|
||||
-
|
||||
+INFO: $VAR1 = {'aa' => 'bb','cc' => undef};
|
||||
INFO: $VAR1 = '"a"=>"1", "b"=>"boo", "c"=>NULL';
|
||||
-
|
||||
test3
|
||||
-------
|
||||
|
||||
@@ -138,6 +122,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_TD->{new}));
|
||||
if ($_TD->{new}{a} == 1) {
|
||||
$_TD->{new}{b} = {a => 1, b => 'boo', c => undef};
|
||||
@@ -147,14 +132,7 @@ return "MODIFY";
|
||||
$$;
|
||||
CREATE TRIGGER test4 BEFORE UPDATE ON test1 FOR EACH ROW EXECUTE PROCEDURE test4();
|
||||
UPDATE test1 SET a = a;
|
||||
-INFO: $VAR1 = {
|
||||
- 'a' => '1',
|
||||
- 'b' => {
|
||||
- 'aa' => 'bb',
|
||||
- 'cc' => undef
|
||||
- }
|
||||
- };
|
||||
-
|
||||
+INFO: $VAR1 = {'a' => '1','b' => {'aa' => 'bb','cc' => undef}};
|
||||
SELECT * FROM test1;
|
||||
a | b
|
||||
---+---------------------------------
|
||||
diff --git a/contrib/hstore_plperl/sql/hstore_plperlu.sql b/contrib/hstore_plperl/sql/hstore_plperlu.sql
|
||||
index 8d8508c..c714b35 100644
|
||||
--- a/contrib/hstore_plperl/sql/hstore_plperlu.sql
|
||||
+++ b/contrib/hstore_plperl/sql/hstore_plperlu.sql
|
||||
@@ -15,6 +15,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
@@ -26,6 +27,7 @@ LANGUAGE plperlu
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
@@ -38,6 +40,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
@@ -52,6 +55,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_[0]->[0], $_[0]->[1]));
|
||||
return scalar(keys %{$_[0]});
|
||||
$$;
|
||||
@@ -66,6 +70,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
|
||||
$rv = spi_exec_query(q{SELECT 'aa=>bb, cc=>NULL'::hstore AS col1});
|
||||
elog(INFO, Dumper($rv->{rows}[0]->{col1}));
|
||||
@@ -90,6 +95,7 @@ TRANSFORM FOR TYPE hstore
|
||||
AS $$
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
+$Data::Dumper::Indent = 0;
|
||||
elog(INFO, Dumper($_TD->{new}));
|
||||
if ($_TD->{new}{a} == 1) {
|
||||
$_TD->{new}{b} = {a => 1, b => 'boo', c => undef};
|
||||
--
|
||||
2.1.4
|
23
plperl_warning.patch
Normal file
23
plperl_warning.patch
Normal file
@ -0,0 +1,23 @@
|
||||
diff -ur postgresql-15.4/src/pl/plperl/expected/plperl_call.out postgresql-patched/src/pl/plperl/expected/plperl_call.out
|
||||
--- postgresql-15.4/src/pl/plperl/expected/plperl_call.out 2023-08-07 22:08:18.000000000 +0200
|
||||
+++ postgresql-patched/src/pl/plperl/expected/plperl_call.out 2023-09-18 10:23:42.499078442 +0200
|
||||
@@ -64,6 +64,7 @@
|
||||
RAISE NOTICE '_a: %, _b: %', _a, _b;
|
||||
END
|
||||
$$;
|
||||
+WARNING: could not determine encoding for locale "C.UTF-8": codeset is "ANSI_X3.4-1968"
|
||||
NOTICE: a: 10, b:
|
||||
NOTICE: _a: 10, _b: 20
|
||||
DROP PROCEDURE test_proc1;
|
||||
diff -ur postgresql-15.4/src/pl/plperl/expected/plperl_elog_1.out postgresql-patched/src/pl/plperl/expected/plperl_elog_1.out
|
||||
--- postgresql-15.4/src/pl/plperl/expected/plperl_elog_1.out 2023-08-07 22:08:18.000000000 +0200
|
||||
+++ postgresql-patched/src/pl/plperl/expected/plperl_elog_1.out 2023-09-18 10:24:39.233451395 +0200
|
||||
@@ -76,6 +76,7 @@
|
||||
RETURN 1;
|
||||
END;
|
||||
$$;
|
||||
+WARNING: could not determine encoding for locale "C.UTF-8": codeset is "ANSI_X3.4-1968"
|
||||
select die_caller();
|
||||
NOTICE: caught die
|
||||
die_caller
|
||||
Only in postgresql-patched/src/pl/plperl/expected: plperl_warning.patch
|
13
postgresql-12.5-contrib-dblink-expected-out.patch
Normal file
13
postgresql-12.5-contrib-dblink-expected-out.patch
Normal file
@ -0,0 +1,13 @@
|
||||
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;
|
4
postgresql-bashprofile
Normal file
4
postgresql-bashprofile
Normal file
@ -0,0 +1,4 @@
|
||||
[ -f /etc/profile ] && source /etc/profile
|
||||
|
||||
PGDATA=/var/lib/pgsql/data
|
||||
export PGDATA
|
99
postgresql-datalayout-mismatch-on-s390.patch
Normal file
99
postgresql-datalayout-mismatch-on-s390.patch
Normal file
@ -0,0 +1,99 @@
|
||||
From 0edaa982336823d4d7af8f10b91579fe0099ef3d Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Tue, 20 Apr 2021 20:14:21 -0700
|
||||
Subject: [PATCH] jit: Workaround potential datalayout mismatch on s390x
|
||||
|
||||
LLVM's s390x target uses a different datalayout for z13 and newer processors.
|
||||
If llvmjit_types.bc is compiled to target a processor older than z13, and
|
||||
then the JIT runs on a z13 or newer processor, then there will be a mismatch
|
||||
in datalayouts between llvmjit_types.bc and the JIT engine. This mismatch
|
||||
causes the JIT to fail at runtime.
|
||||
---
|
||||
src/backend/jit/llvm/llvmjit.c | 46 ++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 44 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c
|
||||
index 98a27f08bf..05b6438ba8 100644
|
||||
--- a/src/backend/jit/llvm/llvmjit.c
|
||||
+++ b/src/backend/jit/llvm/llvmjit.c
|
||||
@@ -776,6 +776,35 @@ llvm_compile_module(LLVMJitContext *context)
|
||||
errhidecontext(true)));
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * For the systemz target, LLVM uses a different datalayout for z13 and newer
|
||||
+ * CPUs than it does for older CPUs. This can cause a mismatch in datalayouts
|
||||
+ * in the case where the llvm_types_module is compiled with a pre-z13 CPU
|
||||
+ * and the JIT is running on z13 or newer.
|
||||
+ * See computeDataLayout() function in
|
||||
+ * llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp for information on the
|
||||
+ * datalayout differences.
|
||||
+ */
|
||||
+static bool
|
||||
+needs_systemz_workaround(void)
|
||||
+{
|
||||
+ bool ret = false;
|
||||
+ LLVMContextRef llvm_context;
|
||||
+ LLVMTypeRef vec_type;
|
||||
+ LLVMTargetDataRef llvm_layoutref;
|
||||
+ if (strncmp(LLVMGetTargetName(llvm_targetref), "systemz", strlen("systemz")))
|
||||
+ {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ llvm_context = LLVMGetModuleContext(llvm_types_module);
|
||||
+ vec_type = LLVMVectorType(LLVMIntTypeInContext(llvm_context, 32), 4);
|
||||
+ llvm_layoutref = LLVMCreateTargetData(llvm_layout);
|
||||
+ ret = (LLVMABIAlignmentOfType(llvm_layoutref, vec_type) == 16);
|
||||
+ LLVMDisposeTargetData(llvm_layoutref);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Per session initialization.
|
||||
*/
|
||||
@@ -785,6 +814,7 @@ llvm_session_initialize(void)
|
||||
MemoryContext oldcontext;
|
||||
char *error = NULL;
|
||||
char *cpu = NULL;
|
||||
+ char *host_features = NULL;
|
||||
char *features = NULL;
|
||||
LLVMTargetMachineRef opt0_tm;
|
||||
LLVMTargetMachineRef opt3_tm;
|
||||
@@ -816,10 +846,17 @@ llvm_session_initialize(void)
|
||||
* features not all CPUs have (weird, huh).
|
||||
*/
|
||||
cpu = LLVMGetHostCPUName();
|
||||
- features = LLVMGetHostCPUFeatures();
|
||||
+ features = host_features = LLVMGetHostCPUFeatures();
|
||||
elog(DEBUG2, "LLVMJIT detected CPU \"%s\", with features \"%s\"",
|
||||
cpu, features);
|
||||
|
||||
+ if (needs_systemz_workaround())
|
||||
+ {
|
||||
+ const char *no_vector =",-vector";
|
||||
+ features = malloc(sizeof(char) * (strlen(host_features) + strlen(no_vector) + 1));
|
||||
+ sprintf(features, "%s%s", host_features, no_vector);
|
||||
+ }
|
||||
+
|
||||
opt0_tm =
|
||||
LLVMCreateTargetMachine(llvm_targetref, llvm_triple, cpu, features,
|
||||
LLVMCodeGenLevelNone,
|
||||
@@ -833,8 +870,13 @@ llvm_session_initialize(void)
|
||||
|
||||
LLVMDisposeMessage(cpu);
|
||||
cpu = NULL;
|
||||
- LLVMDisposeMessage(features);
|
||||
+ if (features != host_features)
|
||||
+ {
|
||||
+ free(features);
|
||||
+ }
|
||||
features = NULL;
|
||||
+ LLVMDisposeMessage(host_features);
|
||||
+ host_features = NULL;
|
||||
|
||||
/* force symbols in main binary to be loaded */
|
||||
LLVMLoadLibraryPermanently(NULL);
|
||||
--
|
||||
2.27.0
|
||||
|
43
postgresql-external-libpq.patch
Normal file
43
postgresql-external-libpq.patch
Normal file
@ -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
|
||||
|
32
postgresql-logging.patch
Normal file
32
postgresql-logging.patch
Normal file
@ -0,0 +1,32 @@
|
||||
diff -up postgresql-15.0_original/src/backend/utils/misc/postgresql.conf.sample postgresql-15.0/src/backend/utils/misc/postgresql.conf.sample
|
||||
--- postgresql-15.0_original/src/backend/utils/misc/postgresql.conf.sample 2022-09-27 16:57:00.652909198 +0200
|
||||
+++ postgresql-15.0/src/backend/utils/misc/postgresql.conf.sample 2022-09-27 17:01:56.073606108 +0200
|
||||
@@ -449,7 +449,7 @@
|
||||
# logging_collector to be on.
|
||||
|
||||
# This is used when logging to stderr:
|
||||
-#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)
|
||||
@@ -457,16 +457,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
|
||||
-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
|
||||
+log_filename = 'postgresql-%a.log' # log file name pattern,
|
||||
# can include strftime() escapes
|
||||
#log_file_mode = 0600 # creation mode for log files,
|
||||
# begin with 0 to use octal notation
|
||||
-#log_rotation_age = 1d # Automatic rotation of logfiles will
|
||||
+log_rotation_age = 1d # Automatic rotation of logfiles will
|
||||
# happen after that time. 0 disables.
|
||||
#log_rotation_size = 10MB # 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
|
49
postgresql-man.patch
Normal file
49
postgresql-man.patch
Normal file
@ -0,0 +1,49 @@
|
||||
PostgreSQL ecpg/initdb manual page fixes
|
||||
|
||||
This was generated based on automatic Red Hat manual page scan (private
|
||||
RHBZ#948933).
|
||||
|
||||
diff -up postgresql-13.1/doc/src/sgml/man1/ecpg.1.patch6 postgresql-13.1/doc/src/sgml/man1/ecpg.1
|
||||
--- postgresql-13.1/doc/src/sgml/man1/ecpg.1.patch6 2020-11-09 23:38:03.000000000 +0100
|
||||
+++ postgresql-13.1/doc/src/sgml/man1/ecpg.1 2020-11-18 09:26:40.547324791 +0100
|
||||
@@ -81,6 +81,11 @@ ORACLE\&.
|
||||
Define a C preprocessor symbol\&.
|
||||
.RE
|
||||
.PP
|
||||
+\fB\-h \fR
|
||||
+.RS 4
|
||||
+Parse a header file, this option includes option \fB\-c\fR\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-h\fR
|
||||
.RS 4
|
||||
Process header files\&. When this option is specified, the output file extension becomes
|
||||
@@ -144,6 +149,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 postgresql-13.1/doc/src/sgml/man1/initdb.1.patch6 postgresql-13.1/doc/src/sgml/man1/initdb.1
|
||||
--- postgresql-13.1/doc/src/sgml/man1/initdb.1.patch6 2020-11-09 23:38:05.000000000 +0100
|
||||
+++ postgresql-13.1/doc/src/sgml/man1/initdb.1 2020-11-18 09:25:05.082348424 +0100
|
||||
@@ -311,6 +311,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
|
12
postgresql-no-libecpg.patch
Normal file
12
postgresql-no-libecpg.patch
Normal file
@ -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)
|
||||
|
57
postgresql-server-pg_config.patch
Normal file
57
postgresql-server-pg_config.patch
Normal file
@ -0,0 +1,57 @@
|
||||
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
|
||||
@@ -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 -rf tmp_check
|
||||
|
||||
check:
|
||||
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
|
||||
GETTEXT_FILES = pg_config.c ../../common/config_info.c ../../common/exec.c
|
50
postgresql-var-run-socket.patch
Normal file
50
postgresql-var-run-socket.patch
Normal file
@ -0,0 +1,50 @@
|
||||
Change the built-in default socket directory to be /var/run/postgresql.
|
||||
For backwards compatibility with (probably non-libpq-based) clients that
|
||||
might still expect to find the socket in /tmp, also create a socket in
|
||||
/tmp. This is to resolve communication problems with clients operating
|
||||
under systemd's PrivateTmp environment, which won't be using the same
|
||||
global /tmp directory as the server; see bug #825448.
|
||||
|
||||
Note that we apply the socket directory change at the level of the
|
||||
hard-wired defaults in the C code, not by just twiddling the setting in
|
||||
postgresql.conf.sample; this is so that the change will take effect on
|
||||
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 -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,
|
||||
- DEFAULT_PGSOCKET_DIR,
|
||||
+ DEFAULT_PGSOCKET_DIR ", /tmp",
|
||||
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"
|
||||
#else
|
||||
#define DEFAULT_PGSOCKET_DIR ""
|
||||
#endif
|
3
postgresql.pam
Normal file
3
postgresql.pam
Normal file
@ -0,0 +1,3 @@
|
||||
#%PAM-1.0
|
||||
auth include password-auth
|
||||
account include password-auth
|
1
postgresql.tmpfiles.d
Normal file
1
postgresql.tmpfiles.d
Normal file
@ -0,0 +1 @@
|
||||
d /run/postgresql 0755 postgres postgres -
|
2760
postgresql16.spec
Normal file
2760
postgresql16.spec
Normal file
File diff suppressed because it is too large
Load Diff
72
rpm-pgsql.patch
Normal file
72
rpm-pgsql.patch
Normal file
@ -0,0 +1,72 @@
|
||||
For the RPMs, we want the custom installation directories to end in
|
||||
/pgsql not /postgresql. This is historical but not worth changing.
|
||||
|
||||
Notice that this patch also makes the appending of /pgsql unconditional.
|
||||
This is to avoid unexpected behavior if the RPM is built in a working
|
||||
directory whose path happens to include "postgres" or "pgsql" already.
|
||||
However, datadir and sysconfdir are already set up in the specfile's
|
||||
configure call, so we do not have to append anything to them.
|
||||
|
||||
|
||||
diff -Naur postgresql-9.0.1.orig/src/Makefile.global.in postgresql-9.0.1/src/Makefile.global.in
|
||||
--- postgresql-9.0.1.orig/src/Makefile.global.in 2010-10-01 10:25:44.000000000 -0400
|
||||
+++ postgresql-9.0.1/src/Makefile.global.in 2010-10-11 11:52:05.224975308 -0400
|
||||
@@ -55,8 +55,7 @@
|
||||
# Installation directories
|
||||
#
|
||||
# These are set by the equivalent --xxxdir configure options. We
|
||||
-# append "postgresql" to some of them, if the string does not already
|
||||
-# contain "pgsql" or "postgres", in order to avoid directory clutter.
|
||||
+# append "pgsql" to some of them, in order to avoid directory clutter.
|
||||
#
|
||||
# In a PGXS build, we cannot use the values inserted into Makefile.global
|
||||
# by configure, since the installation tree may have been relocated.
|
||||
@@ -74,45 +73,23 @@
|
||||
bindir := @bindir@
|
||||
|
||||
datadir := @datadir@
|
||||
-ifeq "$(findstring pgsql, $(datadir))" ""
|
||||
-ifeq "$(findstring postgres, $(datadir))" ""
|
||||
-override datadir := $(datadir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
|
||||
sysconfdir := @sysconfdir@
|
||||
-ifeq "$(findstring pgsql, $(sysconfdir))" ""
|
||||
-ifeq "$(findstring postgres, $(sysconfdir))" ""
|
||||
-override sysconfdir := $(sysconfdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
|
||||
libdir := @libdir@
|
||||
|
||||
pkglibdir = $(libdir)
|
||||
-ifeq "$(findstring pgsql, $(pkglibdir))" ""
|
||||
-ifeq "$(findstring postgres, $(pkglibdir))" ""
|
||||
-override pkglibdir := $(pkglibdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override pkglibdir := $(pkglibdir)/pgsql
|
||||
|
||||
includedir := @includedir@
|
||||
|
||||
pkgincludedir = $(includedir)
|
||||
-ifeq "$(findstring pgsql, $(pkgincludedir))" ""
|
||||
-ifeq "$(findstring postgres, $(pkgincludedir))" ""
|
||||
-override pkgincludedir := $(pkgincludedir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override pkgincludedir := $(pkgincludedir)/pgsql
|
||||
|
||||
mandir := @mandir@
|
||||
|
||||
docdir := @docdir@
|
||||
-ifeq "$(findstring pgsql, $(docdir))" ""
|
||||
-ifeq "$(findstring postgres, $(docdir))" ""
|
||||
-override docdir := $(docdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override docdir := $(docdir)/pgsql
|
||||
|
||||
htmldir := @htmldir@
|
||||
|
21
rpminspect.yaml
Normal file
21
rpminspect.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
# Forbidden function symbols found:
|
||||
# inet_net_ntop
|
||||
# inet_net_pton
|
||||
# This is not a problem because the older version is only used for upgrade
|
||||
# purposes and communicates through unix socket only
|
||||
badfuncs:
|
||||
ignore:
|
||||
- /usr/lib*/pgsql/postgresql-*/bin/postgres
|
||||
|
||||
# Invalid XML for HTML doc is ok
|
||||
xml:
|
||||
ignore:
|
||||
- /usr/share/doc/postgresql-docs/html/*.html
|
||||
|
||||
# Wacky guess on file type that we do not need to care
|
||||
# Message: MIME type on <file> was text/plain and became text/x-c
|
||||
types:
|
||||
ignore:
|
||||
- /usr/lib64/pgsql/postgresql-*/include/server/port/freebsd.h
|
||||
- /usr/include/pgsql/server/port/freebsd.h
|
5
sources
Executable file
5
sources
Executable file
@ -0,0 +1,5 @@
|
||||
SHA512 (postgresql-15.5.tar.bz2) = 9ed9d160b3cef99954ccd47a970c107b7e3b0196a7d848f740bf3c52a1c626f6f457814c97f37b9f0467bb07734e19806a15bd9cf3c39445e1d89e75b37064cc
|
||||
SHA512 (postgresql-15.5.tar.bz2.sha256) = 896ad3a1952f54bc5186d49eb4faec40843813d3e1c200f7b27f0e099b426ef9b59e0c15cb5453ac166e8a566b24178b95836776207de0bf19f5e021fdccfbca
|
||||
SHA512 (postgresql-16.1.tar.bz2) = 69f4635e5841452599f13b47df41ce2425ab34b4e4582fd2c635bc78d561fa36c5b03eccb4ae6569872dc74775be1b5a62dee20c9a4f12a43339250128352918
|
||||
SHA512 (postgresql-16.1.tar.bz2.sha256) = 3f573d81a7af02dea2a3eee180d4e465546fc4d283dde5b6627d25af0be4a546ffd3ae914dd3490e45264d1a43cf143e829e14e5cd9c6bd8f179b6eae4fd6ff1
|
||||
SHA512 (postgresql-setup-8.9.tar.gz) = 118e9ebf858722a38b0e90324bc1b49fc7058cda601ca0a7e78c94e7b95e89d6dbbc46f377626364b068614ced3cde3cb4733973ad2d71bf17892ad773657ef7
|
Loading…
Reference in New Issue
Block a user