diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..cac2c1c --- /dev/null +++ b/.gitignore @@ -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 diff --git a/Makefile.regress b/Makefile.regress new file mode 100644 index 0000000..95bc589 --- /dev/null +++ b/Makefile.regress @@ -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 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..46aa480 --- /dev/null +++ b/ci.fmf @@ -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 diff --git a/generate-pdf.sh b/generate-pdf.sh new file mode 100644 index 0000000..e0ed008 --- /dev/null +++ b/generate-pdf.sh @@ -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 diff --git a/generate-sources.sh b/generate-sources.sh new file mode 100644 index 0000000..1d53682 --- /dev/null +++ b/generate-sources.sh @@ -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 diff --git a/hstore-plperl-data-dumper.patch b/hstore-plperl-data-dumper.patch new file mode 100644 index 0000000..dfc2f23 --- /dev/null +++ b/hstore-plperl-data-dumper.patch @@ -0,0 +1,192 @@ +From 69db3b0cfccc0687dfbdf56afcfb2f8e536053c6 Mon Sep 17 00:00:00 2001 +From: Andrew Dunstan +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 diff --git a/plperl_warning.patch b/plperl_warning.patch new file mode 100644 index 0000000..1e260a3 --- /dev/null +++ b/plperl_warning.patch @@ -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 diff --git a/postgresql-12.5-contrib-dblink-expected-out.patch b/postgresql-12.5-contrib-dblink-expected-out.patch new file mode 100644 index 0000000..bd4b0e5 --- /dev/null +++ b/postgresql-12.5-contrib-dblink-expected-out.patch @@ -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; diff --git a/postgresql-bashprofile b/postgresql-bashprofile new file mode 100644 index 0000000..1cd70d3 --- /dev/null +++ b/postgresql-bashprofile @@ -0,0 +1,4 @@ +[ -f /etc/profile ] && source /etc/profile + +PGDATA=/var/lib/pgsql/data +export PGDATA diff --git a/postgresql-datalayout-mismatch-on-s390.patch b/postgresql-datalayout-mismatch-on-s390.patch new file mode 100644 index 0000000..eef0378 --- /dev/null +++ b/postgresql-datalayout-mismatch-on-s390.patch @@ -0,0 +1,99 @@ +From 0edaa982336823d4d7af8f10b91579fe0099ef3d Mon Sep 17 00:00:00 2001 +From: Tom Stellard +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 + diff --git a/postgresql-external-libpq.patch b/postgresql-external-libpq.patch new file mode 100644 index 0000000..ba7ef73 --- /dev/null +++ b/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/postgresql-logging.patch b/postgresql-logging.patch new file mode 100644 index 0000000..c4fac84 --- /dev/null +++ b/postgresql-logging.patch @@ -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 diff --git a/postgresql-man.patch b/postgresql-man.patch new file mode 100644 index 0000000..6b0ed00 --- /dev/null +++ b/postgresql-man.patch @@ -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 diff --git a/postgresql-no-libecpg.patch b/postgresql-no-libecpg.patch new file mode 100644 index 0000000..0d2e9c1 --- /dev/null +++ b/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/postgresql-server-pg_config.patch b/postgresql-server-pg_config.patch new file mode 100644 index 0000000..943ff1d --- /dev/null +++ b/postgresql-server-pg_config.patch @@ -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 diff --git a/postgresql-var-run-socket.patch b/postgresql-var-run-socket.patch new file mode 100644 index 0000000..1e554e5 --- /dev/null +++ b/postgresql-var-run-socket.patch @@ -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 diff --git a/postgresql.pam b/postgresql.pam new file mode 100644 index 0000000..1d78594 --- /dev/null +++ b/postgresql.pam @@ -0,0 +1,3 @@ +#%PAM-1.0 +auth include password-auth +account include password-auth diff --git a/postgresql.tmpfiles.d b/postgresql.tmpfiles.d new file mode 100644 index 0000000..6c48e34 --- /dev/null +++ b/postgresql.tmpfiles.d @@ -0,0 +1 @@ +d /run/postgresql 0755 postgres postgres - diff --git a/postgresql16.spec b/postgresql16.spec new file mode 100644 index 0000000..c933c7d --- /dev/null +++ b/postgresql16.spec @@ -0,0 +1,2760 @@ +# This is the PostgreSQL Global Development Group Official RPMset spec file, +# or a derivative thereof. + +# This spec file and ancillary files are licensed in accordance with +# The PostgreSQL license. + +# In this file you can find the default build package list macros. +# These can be overridden by defining on the rpm command line: +# rpm --define 'packagename 1' .... to force the package to build. +# rpm --define 'packagename 0' .... to force the package NOT to build. +# The base package, the libs package, the devel package, and the server package +# always get built. + +%{!?test:%global test 1} +%{!?llvmjit:%global llvmjit 0} +%{!?external_libpq:%global external_libpq 0} +%{!?upgrade:%global upgrade 1} +%{!?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} +%{!?uuid:%global uuid 1} +%{!?xml:%global xml 1} +%{!?pam:%global pam 1} +%{!?sdt:%global sdt 1} +%{!?selinux:%global selinux 1} +%{!?runselftest:%global runselftest 1} +%{!?postgresql_default:%global postgresql_default 1} + +%global majorname postgresql +%global majorversion 16 + +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs. +%global _default_patch_flags --no-backup-if-mismatch + +# https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_of_Additional_RPM_Macros +%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + +# Don't create note file, added package_note_flags to linker by redhat-rpm-config +# will cause issue during extension build because it'll be inherited. +%undefine _package_note_file + +Summary: PostgreSQL client programs +Name: %{majorname}%{majorversion} +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 +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 prevmajorversion 15 +%global prevversion %{prevmajorversion}.5 +%global prev_prefix %{_libdir}/pgsql/postgresql-%{prevmajorversion} +%global precise_version %{?epoch:%epoch:}%version-%release + +%global setup_version 8.9 + +%global service_name postgresql.service + +Source0: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2 +Source3: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2 +Source4: Makefile.regress +Source9: postgresql.tmpfiles.d +Source10: postgresql.pam +Source11: postgresql-bashprofile + + +# git: https://github.com/devexp-db/postgresql-setup +Source12: https://github.com/devexp-db/postgresql-setup/releases/download/v%{setup_version}/postgresql-setup-%{setup_version}.tar.gz + +# Those here are just to enforce packagers check that the tarball was downloaded +# correctly. Also, this allows us check that packagers-only tarballs do not +# differ with publicly released ones. +Source16: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2.sha256 +Source17: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2.sha256 + +# Comments for these patches are in the patch files. +Patch1: rpm-pgsql.patch +Patch2: postgresql-logging.patch +Patch5: postgresql-var-run-socket.patch +Patch8: postgresql-external-libpq.patch +Patch9: postgresql-server-pg_config.patch +# Upstream bug #16971: https://www.postgresql.org/message-id/16971-5d004d34742a3d35%40postgresql.org +# rhbz#1940964 +Patch10: postgresql-datalayout-mismatch-on-s390.patch +Patch12: postgresql-no-libecpg.patch + +# This macro is used for package names in the files section +%if %?postgresql_default +%global pkgname %{majorname} +%package -n %{pkgname} +Summary: PostgreSQL client programs +%else +%global pkgname %{majorname}%{majorversion} +%endif + +BuildRequires: make +BuildRequires: lz4-devel +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 +%if %external_libpq +BuildRequires: libpq-devel >= %version +%endif +BuildRequires: docbook-style-xsl + +# postgresql-setup build requires +BuildRequires: m4 elinks docbook-utils help2man + +%if %plpython3 +BuildRequires: python3-devel +%endif + +%if %pltcl +BuildRequires: tcl-devel +%endif + +%if %ssl +BuildRequires: openssl-devel +%endif + +%if %kerberos +BuildRequires: krb5-devel +%endif + +%if %ldap +BuildRequires: openldap-devel +%endif + +%if %nls +BuildRequires: gettext >= 0.10.35 +%endif + +%if %uuid +BuildRequires: uuid-devel +%endif + +%if %xml +BuildRequires: libxml2-devel libxslt-devel +%endif + +%if %pam +BuildRequires: pam-devel +%endif + +%if %sdt +BuildRequires: systemtap-sdt-devel +%endif + +%if %selinux +BuildRequires: libselinux-devel +%endif + +%if %icu +BuildRequires: libicu-devel +%endif + +# Let's remove versioned provides in default version +# It should ensure that unversioned(default version) postgresql stream +# will be preferable to an versioned one. +# postgresql-16.0-1 will replace postgresql16-16.0-1 +%if %?postgresql_default +%define obsoletes_postgresqlXX_if_default() %{expand:\ +Obsoletes: postgresql%{majorversion}%{?1:-%{1}}\ +} +%else +%define obsoletes_postgresqlXX_if_default() %{expand:\ +Provides: %{majorname}%{?1:-%{1}} = %precise_version\ +Provides: %{majorname}%{?1:-%{1}}%{?_isa} = %precise_version\ +} +%endif + + +Provides: %{pkgname} = %precise_version +Provides: %{pkgname}%{?_isa} = %precise_version +Conflicts: %{majorname} + +%obsoletes_postgresqlXX_if_default + +# https://bugzilla.redhat.com/1464368 +# and do not provide pkgconfig RPM provides (RHBZ#1980992) and #2121696 +%global __provides_exclude_from %{_libdir}/(pgsql|pkgconfig) + +%description +PostgreSQL is an advanced Object-Relational database management system (DBMS). +The base postgresql package contains the client programs that you'll need to +access a PostgreSQL DBMS server, as well as HTML documentation for the whole +system. These client programs can be located on the same machine as the +PostgreSQL server, or on a remote machine that accesses a PostgreSQL server +over a network connection. The PostgreSQL server can be found in the +postgresql-server sub-package. + +%description -n %{pkgname} +PostgreSQL is an advanced Object-Relational database management system (DBMS). +The base postgresql package contains the client programs that you'll need to +access a PostgreSQL DBMS server, as well as HTML documentation for the whole +system. These client programs can be located on the same machine as the +PostgreSQL server, or on a remote machine that accesses a PostgreSQL server +over a network connection. The PostgreSQL server can be found in the +postgresql-server sub-package. + + +%if ! %external_libpq +%package -n %{pkgname}-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 +Provides: %{pkgname}-private-libs = %precise_version +Provides: %{pkgname}-private-libs%{?_isa} = %precise_version +Conflicts: %{majorname}-private-libs + +%obsoletes_postgresqlXX_if_default private-libs + +%description -n %{pkgname}-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 -n %{pkgname}-private-devel +Summary: PostgreSQL development header files for this build of PostgreSQL server +Group: Development/Libraries +Requires: %{pkgname}-private-libs%{?_isa} = %precise_version +# Conflict is desired here, a user must pick one or another +Conflicts: libpq-devel +Provides: %{pkgname}-devel = %precise_version +Provides: %{pkgname}-devel%{?_isa} = %precise_version +Conflicts: %{majorname}-devel + +%obsoletes_postgresqlXX_if_default private-devel + +%description -n %{pkgname}-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 -n %{pkgname}-server +Summary: The programs needed to create and run a PostgreSQL server +Requires: %{pkgname}%{?_isa} = %precise_version +Requires(pre): /usr/sbin/useradd +# We require this to be present for %%{_prefix}/lib/tmpfiles.d +Requires: systemd +# Make sure it's there when scriptlets run, too +%{?systemd_requires} +# We require this to be present for /usr/sbin/runuser when using --initdb (rhbz#2071437) +Requires: util-linux +# postgresql setup requires runuser from util-linux package +BuildRequires: util-linux +# Packages which provide postgresql plugins should build-require +# postgresql-server-devel and require +# postgresql-server(:MODULE_COMPAT_%%{postgresql_major}). +# This will automatically guard against incompatible server & plugin +# installation (#1008939, #1007840) +Provides: %{pkgname}-server(:MODULE_COMPAT_%{majorversion}) +Provides: bundled(postgresql-setup) = %setup_version +Provides: %{pkgname}-server = %precise_version +Provides: %{pkgname}-server%{?_isa} = %precise_version +# Provide symbol regardless version. This symbol is present in every single +# postgresql stream +Provides: %{majorname}-server-any +Conflicts: %{majorname}-server + +%obsoletes_postgresqlXX_if_default server + +%description -n %{pkgname}-server +PostgreSQL is an advanced Object-Relational database management system (DBMS). +The postgresql-server package contains the programs needed to create +and run a PostgreSQL server, which will in turn allow you to create +and maintain PostgreSQL databases. + + +%package -n %{pkgname}-docs +Summary: Extra documentation for PostgreSQL +Requires: %{pkgname}%{?_isa} = %precise_version +Provides: %{pkgname}-doc = %precise_version +Provides: %{pkgname}-docs = %precise_version +Conflicts: %{majorname}-docs + +%obsoletes_postgresqlXX_if_default docs + +%description -n %{pkgname}-docs +The postgresql-docs package contains some additional documentation for +PostgreSQL. Currently, this includes the main documentation in PDF format +and source files for the PostgreSQL tutorial. + + +%package -n %{pkgname}-contrib +Summary: Extension modules distributed with PostgreSQL +Requires: %{pkgname}%{?_isa} = %precise_version +Provides: %{pkgname}-contrib = %precise_version +Provides: %{pkgname}-contrib%{?_isa} = %precise_version +Conflicts: %{majorname}-contrib + +%obsoletes_postgresqlXX_if_default contrib + +%description -n %{pkgname}-contrib +The postgresql-contrib package contains various extension modules that are +included in the PostgreSQL distribution. + + +%package -n %{pkgname}-server-devel +Summary: PostgreSQL development header files and 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: %{pkgname}-private-devel +%endif +Provides: %{pkgname}-server-devel = %precise_version +Provides: %{pkgname}-server-devel%{?_isa} = %precise_version +Conflicts: %{majorname}-server-devel + +%obsoletes_postgresqlXX_if_default server-devel + +%description -n %{pkgname}-server-devel +The postgresql-server-devel package contains the header files and configuration +needed to compile PostgreSQL server extension. + +%package -n %{pkgname}-test-rpm-macros +Summary: Convenience RPM macros for build-time testing against PostgreSQL server +Requires: %{pkgname}-server = %precise_version +BuildArch: noarch +Provides: %{pkgname}-test-rpm-macros = %precise_version +Conflicts: %{majorname}-test-rpm-macros + +%if %?postgresql_default +Obsoletes: postgresql%{majorversion}-test-rpm-macros +%else +Provides: %{majorname}%-test-rpm-macros = %precise_version +%endif + +%description -n %{pkgname}-test-rpm-macros +This package is meant to be added as BuildRequires: dependency of other packages +that want to run build-time testsuite against running PostgreSQL server. + + +%package -n %{pkgname}-static +Summary: Statically linked PostgreSQL libraries +Requires: %{pkgname}-server-devel%{?_isa} = %precise_version +Provides: %{pkgname}-static = %precise_version +Provides: %{pkgname}-static%{?_isa} = %precise_version +Conflicts: %{majorname}-static + +%obsoletes_postgresqlXX_if_default static + +%description -n %{pkgname}-static +Statically linked PostgreSQL libraries that do not have dynamically linked +counterparts. + + +%if %upgrade +%package -n %{pkgname}-upgrade +Summary: Support for upgrading from the previous major release of PostgreSQL +Requires: %{pkgname}-server%{?_isa} = %precise_version +Provides: bundled(postgresql-server) = %prevversion +Provides: %{pkgname}-upgrade = %precise_version +Provides: %{pkgname}-upgrade%{?_isa} = %precise_version +Conflicts: %{majorname}-upgrade + +%obsoletes_postgresqlXX_if_default upgrade + +%description -n %{pkgname}-upgrade +The postgresql-upgrade package contains the pg_upgrade utility and supporting +files needed for upgrading a PostgreSQL database from the previous major +version of PostgreSQL. + + +%package -n %{pkgname}-upgrade-devel +Summary: Support for build of extensions required for upgrade process +Requires: %{pkgname}-upgrade%{?_isa} = %precise_version +Provides: %{pkgname}-upgrade-devel = %precise_version +Provides: %{pkgname}-upgrade-devel%{?_isa} = %precise_version +Conflicts: %{majorname}-upgrade-devel + +%obsoletes_postgresqlXX_if_default upgrade-devel + +%description -n %{pkgname}-upgrade-devel +The postgresql-devel package contains the header files and libraries +needed to compile C or C++ applications which are necessary in upgrade +process. +%endif + + +%if %plperl +%package -n %{pkgname}-plperl +Summary: The Perl procedural language for PostgreSQL +Requires: %{pkgname}-server%{?_isa} = %precise_version +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +%if %runselftest +BuildRequires: perl(Opcode) +BuildRequires: perl(Data::Dumper) +%endif +Provides: %{pkgname}-plperl = %precise_version +Provides: %{pkgname}-plperl%{?_isa} = %precise_version +Conflicts: %{majorname}-plperl + +%obsoletes_postgresqlXX_if_default plperl + +%description -n %{pkgname}-plperl +The postgresql-plperl package contains the PL/Perl procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Perl. +%endif + + +%if %plpython3 +%package -n %{pkgname}-plpython3 +Summary: The Python3 procedural language for PostgreSQL +Requires: %{pkgname}-server%{?_isa} = %precise_version +Provides: %{pkgname}-plpython3 = %precise_version +Provides: %{pkgname}-plpython3%{?_isa} = %precise_version +Conflicts: %{majorname}-plpython3 + +%obsoletes_postgresqlXX_if_default python3 + +%description -n %{pkgname}-plpython3 +The postgresql-plpython3 package contains the PL/Python3 procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Python 3. +%endif + + +%if %pltcl +%package -n %{pkgname}-pltcl +Summary: The Tcl procedural language for PostgreSQL +Requires: %{pkgname}-server%{?_isa} = %precise_version +Provides: %{pkgname}-pltcl = %precise_version +Provides: %{pkgname}-pltcl%{?_isa} = %precise_version +Conflicts: %{majorname}-pltcl + +%obsoletes_postgresqlXX_if_default pltcl + +%description -n %{pkgname}-pltcl +The postgresql-pltcl package contains the PL/Tcl procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Tcl. +%endif + + +%if %test +%package -n %{pkgname}-test +Summary: The test suite distributed with PostgreSQL +Requires: %{pkgname}-server%{?_isa} = %precise_version +Requires: %{pkgname}-server-devel%{?_isa} = %precise_version +Requires: %{pkgname}-contrib%{?_isa} = %precise_version +Provides: %{pkgname}-test = %precise_version +Provides: %{pkgname}-test%{?_isa} = %precise_version +Conflicts: %{majorname}-test + +%obsoletes_postgresqlXX_if_default test + +%description -n %{pkgname}-test +The postgresql-test package contains files needed for various tests for the +PostgreSQL database management system, including regression tests and +benchmarks. +%endif + +%if %llvmjit +%package -n %{pkgname}-llvmjit +Summary: Just-in-time compilation support for PostgreSQL +Requires: %{pkgname}-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} +Provides: %{pkgname}-llvmjit = %precise_version +Provides: %{pkgname}-llvmjit%{?_isa} = %precise_version +Conflicts: %{majorname}-llvmjit + +BuildRequires: llvm-devel >= 5.0 clang-devel >= 5.0 + +%obsoletes_postgresqlXX_if_default llvmjit + +%description -n %{pkgname}-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 "$(dirname "%{SOURCE0}")" + sha256sum -c %{SOURCE16} +%if %upgrade + sha256sum -c %{SOURCE17} +%endif +) +%setup -q -a 12 -n postgresql-%{version} +%patch 1 -p1 +%patch 2 -p1 +%patch 5 -p1 +%if %external_libpq +%patch 8 -p1 +%else +%patch 12 -p1 +%endif +%patch 9 -p1 +%patch 10 -p1 + + +%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 + +# remove .gitignore files to ensure none get into the RPMs (bug #642210) +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 + echo "postgresql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 + fi +%endif + +# Building postgresql-setup + +cd postgresql-setup-%{setup_version} + +%configure \ + pgdocdir=%{_pkgdocdir} \ + PGVERSION=%{version} \ + PGMAJORVERSION=%{majorversion} \ + NAME_DEFAULT_PREV_SERVICE=postgresql + +make %{?_smp_mflags} +cd .. + +# Fiddling with CFLAGS. + +CFLAGS="${CFLAGS:-%optflags}" +# Strip out -ffast-math from CFLAGS.... +CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100` +export CFLAGS + +common_configure_options=' + --disable-rpath +%if %plperl + --with-perl +%endif +%if %pltcl + --with-tcl + --with-tclconfig=%_libdir +%endif +%if %ldap + --with-ldap +%endif +%if %ssl + --with-openssl +%endif +%if %pam + --with-pam +%endif +%if %kerberos + --with-gssapi +%endif +%if %uuid + --with-ossp-uuid +%endif +%if %xml + --with-libxml + --with-libxslt +%endif +%if %nls + --enable-nls +%endif +%if %sdt + --enable-dtrace +%endif +%if %selinux + --with-selinux +%endif + --with-system-tzdata=%_datadir/zoneinfo + --datadir=%_datadir/pgsql + --with-systemd + --with-lz4 +%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 + +%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 +make %{?_smp_mflags} -C src/tutorial NO_PGXS=1 all +rm -f src/tutorial/GNUmakefile + +# The object files shouldn't be copied to rpm bz#1187514 +rm -f src/tutorial/*.o + +# run_testsuite WHERE +# ------------------- +# Run 'make check' in WHERE path. When that command fails, return the logs +# given by PostgreSQL build system and set 'test_failure=1'. This function +# never exits directly nor stops rpmbuild where `set -e` is enabled. +run_testsuite() +{ + make -k -C "$1" MAX_CONNECTIONS=5 check && return 0 || test_failure=1 + ( + set +x + echo "=== trying to find all regression.diffs files in build directory ===" + find "$1" -name 'regression.diffs' | \ + while read line; do + echo "=== make failure: $line ===" + cat "$line" + done + ) +} + +test_failure=0 + +%if %runselftest + run_testsuite "src/test/regress" + make clean -C "src/test/regress" + run_testsuite "src/pl" + run_testsuite "contrib" +%endif + +# "assert(ALL_TESTS_OK)" +test "$test_failure" -eq 0 + +%if %test + # undo the "make clean" above + make all -C src/test/regress +%endif + +%if %upgrade + pushd postgresql-%{prevversion} + + # The upgrade build can be pretty stripped-down, but make sure that + # any options that affect on-disk file layout match the previous + # major release! + + # The set of built server modules here should ideally create superset + # of modules we used to ship in %%prevversion (in the installation + # the user will upgrade from), including *-contrib or *-pl* + # subpackages. This increases chances that the upgrade from + # %%prevversion will work smoothly. + +upgrade_configure () +{ + # Note we intentionally do not use %%configure here, because we *don't* want + # its ideas about installation paths. + + # The -fno-aggressive-loop-optimizations is hack for #993532 + CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \ + --build=%{_build} \ + --host=%{_host} \ + --prefix=%prev_prefix \ + --disable-rpath \ + --with-lz4 \ +%if %icu + --with-icu \ +%endif +%if %plperl + --with-perl \ +%endif +%if %pltcl + --with-tcl \ +%endif +%if %ldap + --with-ldap \ +%endif +%if %pam + --with-pam \ +%endif +%if %kerberos + --with-gssapi \ +%endif +%if %uuid + --with-ossp-uuid \ +%endif +%if %xml + --with-libxml \ + --with-libxslt \ +%endif +%if %nls + --enable-nls \ +%endif +%if %sdt + --enable-dtrace \ +%endif +%if %selinux + --with-selinux \ +%endif +%if %plpython3 + --with-python \ +%endif + --with-tclconfig=%_libdir \ + --with-system-tzdata=/usr/share/zoneinfo \ + "$@" +} + + upgrade_configure \ + + make %{?_smp_mflags} all + make -C contrib %{?_smp_mflags} all + popd +# endif upgrade +%endif + + +%install +cd postgresql-setup-%{setup_version} +make install DESTDIR=$RPM_BUILD_ROOT +cd .. + +# For some reason, having '%%doc %%{_pkgdocdir}/README.rpm-dist' in %%files +# causes FTBFS (at least on RHEL6), see rhbz#1250006. +mv $RPM_BUILD_ROOT/%{_pkgdocdir}/README.rpm-dist ./ + +cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql.conf < $RPM_BUILD_ROOT%macrosdir/macros.postgresql-upgrade +%%postgresql_upgrade_prefix %prev_prefix +EOF +%endif + +# Let plugins use the same llvmjit settings as server has +cat <> $RPM_BUILD_ROOT%macrosdir/macros.postgresql +%%postgresql_server_llvmjit %llvmjit +EOF + +%if %test + # tests. There are many files included here that are unnecessary, + # but include them anyway for completeness. We replace the original + # Makefiles, however. + mkdir -p $RPM_BUILD_ROOT%{_libdir}/pgsql/test + cp -a src/test/regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test + # pg_regress binary should be only in one subpackage, + # there will be a symlink from -test to -devel + rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress + rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/refint.so + rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/autoinc.so + ln -sf ../../pgxs/src/test/regress/pg_regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress + ln -sf ../../autoinc.so $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/autoinc.so + ln -sf ../../refint.so $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/refint.so + pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress + rm -f GNUmakefile Makefile *.o + chmod 0755 pg_regress regress.so + popd + sed 's|@bindir@|%{_bindir}|g' \ + < %{SOURCE4} \ + > $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile + chmod 0644 $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile +%endif + +rm -rf doc/html # HACK! allow 'rpmbuild -bi --short-circuit' +mv $RPM_BUILD_ROOT%{_docdir}/pgsql/html doc +rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql + +# remove files not to be packaged +rm $RPM_BUILD_ROOT%{_libdir}/libpgfeutils.a + +%if !%plperl +rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plperl.so +%endif + +# 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" + 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 pg_checksums pg_verifybackup +find_lang_bins contrib.lst \ + 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 %plpython3 +find_lang_bins plpython3.lst plpython +%endif +%if %pltcl +find_lang_bins pltcl.lst pltcl +%endif +%endif + +%pre -n %{pkgname}-server +/usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ + -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : + +%post -n %{pkgname}-server +%systemd_post %service_name + + +%preun -n %{pkgname}-server +%systemd_preun %service_name + + +%postun -n %{pkgname}-server +%systemd_postun_with_restart %service_name + + +%check +%if %runselftest +make -C postgresql-setup-%{setup_version} check +%endif + +# FILES sections. +%files -f main.lst -n %{pkgname} +%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO +%doc COPYRIGHT README HISTORY +%doc README.rpm-dist +%{_bindir}/clusterdb +%{_bindir}/createdb +%{_bindir}/createuser +%{_bindir}/dropdb +%{_bindir}/dropuser +%{_bindir}/pg_dump +%{_bindir}/pg_dumpall +%{_bindir}/pg_isready +%{_bindir}/pg_restore +%{_bindir}/pg_upgrade +%{_bindir}/psql +%{_bindir}/reindexdb +%{_bindir}/vacuumdb +%{_mandir}/man1/clusterdb.* +%{_mandir}/man1/createdb.* +%{_mandir}/man1/createuser.* +%{_mandir}/man1/dropdb.* +%{_mandir}/man1/dropuser.* +%{_mandir}/man1/pg_dump.* +%{_mandir}/man1/pg_dumpall.* +%{_mandir}/man1/pg_isready.* +%{_mandir}/man1/pg_restore.* +%{_mandir}/man1/pg_upgrade.* +%{_mandir}/man1/psql.* +%{_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 -n %{pkgname}-private-libs +%{_libdir}/libpq.so.* +%endif + + +%files -n %{pkgname}-docs +%doc doc/html +%{_libdir}/pgsql/tutorial/ + + +%files -n %{pkgname}-contrib -f contrib.lst +%doc contrib/spi/*.example +%{_bindir}/oid2name +%{_bindir}/pg_amcheck +%{_bindir}/pg_archivecleanup +%{_bindir}/pg_test_fsync +%{_bindir}/pg_test_timing +%{_bindir}/pg_waldump +%{_bindir}/pgbench +%{_bindir}/vacuumlo +%{_datadir}/pgsql/extension/adminpack* +%{_datadir}/pgsql/extension/amcheck* +%{_datadir}/pgsql/extension/autoinc* +%{_datadir}/pgsql/extension/bloom* +%{_datadir}/pgsql/extension/btree_gin* +%{_datadir}/pgsql/extension/btree_gist* +%{_datadir}/pgsql/extension/citext* +%{_datadir}/pgsql/extension/cube* +%{_datadir}/pgsql/extension/dblink* +%{_datadir}/pgsql/extension/dict_int* +%{_datadir}/pgsql/extension/dict_xsyn* +%{_datadir}/pgsql/extension/earthdistance* +%{_datadir}/pgsql/extension/file_fdw* +%{_datadir}/pgsql/extension/fuzzystrmatch* +%{_datadir}/pgsql/extension/hstore* +%{_datadir}/pgsql/extension/insert_username* +%{_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/pageinspect* +%{_datadir}/pgsql/extension/pg_buffercache* +%{_datadir}/pgsql/extension/pg_freespacemap* +%{_datadir}/pgsql/extension/pg_prewarm* +%{_datadir}/pgsql/extension/pg_stat_statements* +%{_datadir}/pgsql/extension/pg_surgery* +%{_datadir}/pgsql/extension/pg_trgm* +%{_datadir}/pgsql/extension/pg_visibility* +%{_datadir}/pgsql/extension/pg_walinspect* +%{_datadir}/pgsql/extension/pgcrypto* +%{_datadir}/pgsql/extension/pgrowlocks* +%{_datadir}/pgsql/extension/pgstattuple* +%{_datadir}/pgsql/extension/postgres_fdw* +%{_datadir}/pgsql/extension/refint* +%{_datadir}/pgsql/extension/seg* +%{_datadir}/pgsql/extension/tablefunc* +%{_datadir}/pgsql/extension/tcn* +%{_datadir}/pgsql/extension/tsm_system_rows* +%{_datadir}/pgsql/extension/tsm_system_time* +%{_datadir}/pgsql/extension/unaccent* +%{_libdir}/pgsql/_int.so +%{_libdir}/pgsql/adminpack.so +%{_libdir}/pgsql/amcheck.so +%{_libdir}/pgsql/auth_delay.so +%{_libdir}/pgsql/auto_explain.so +%{_libdir}/pgsql/autoinc.so +%{_libdir}/pgsql/bloom.so +%{_libdir}/pgsql/btree_gin.so +%{_libdir}/pgsql/btree_gist.so +%{_libdir}/pgsql/citext.so +%{_libdir}/pgsql/cube.so +%{_libdir}/pgsql/dblink.so +%{_libdir}/pgsql/dict_int.so +%{_libdir}/pgsql/dict_xsyn.so +%{_libdir}/pgsql/earthdistance.so +%{_libdir}/pgsql/file_fdw.so +%{_libdir}/pgsql/fuzzystrmatch.so +%{_libdir}/pgsql/hstore.so +%if %plperl +%{_libdir}/pgsql/hstore_plperl.so +%endif +%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 %plpython3 +%{_libdir}/pgsql/ltree_plpython3.so +%endif +%{_libdir}/pgsql/moddatetime.so +%{_libdir}/pgsql/old_snapshot.so +%{_libdir}/pgsql/pageinspect.so +%{_libdir}/pgsql/passwordcheck.so +%{_libdir}/pgsql/pg_buffercache.so +%{_libdir}/pgsql/pg_freespacemap.so +%{_libdir}/pgsql/pg_stat_statements.so +%{_libdir}/pgsql/pg_surgery.so +%{_libdir}/pgsql/pg_trgm.so +%{_libdir}/pgsql/pg_visibility.so +%{_libdir}/pgsql/pg_walinspect.so +%{_libdir}/pgsql/basic_archive.so +%{_libdir}/pgsql/basebackup_to_shell.so +%{_libdir}/pgsql/pgcrypto.so +%{_libdir}/pgsql/pgrowlocks.so +%{_libdir}/pgsql/pgstattuple.so +%{_libdir}/pgsql/postgres_fdw.so +%{_libdir}/pgsql/refint.so +%{_libdir}/pgsql/seg.so +%{_libdir}/pgsql/tablefunc.so +%{_libdir}/pgsql/tcn.so +%{_libdir}/pgsql/test_decoding.so +%{_libdir}/pgsql/tsm_system_rows.so +%{_libdir}/pgsql/tsm_system_time.so +%{_libdir}/pgsql/unaccent.so +%{_mandir}/man1/oid2name.* +%{_mandir}/man1/pg_amcheck.* +%{_mandir}/man1/pg_archivecleanup.* +%{_mandir}/man1/pg_recvlogical.* +%{_mandir}/man1/pg_test_fsync.* +%{_mandir}/man1/pg_test_timing.* +%{_mandir}/man1/pg_waldump.* +%{_mandir}/man1/pgbench.* +%{_mandir}/man1/vacuumlo.* +%{_mandir}/man3/dblink* +%if %selinux +%{_datadir}/pgsql/contrib/sepgsql.sql +%{_libdir}/pgsql/sepgsql.so +%endif +%if %ssl +%{_datadir}/pgsql/extension/sslinfo* +%{_libdir}/pgsql/sslinfo.so +%endif +%if %uuid +%{_datadir}/pgsql/extension/uuid-ossp* +%{_libdir}/pgsql/uuid-ossp.so +%endif +%if %xml +%{_datadir}/pgsql/extension/xml2* +%{_libdir}/pgsql/pgxml.so +%endif + +%files -n %{pkgname}-server -f server.lst +%{_bindir}/initdb +%{_bindir}/pg_basebackup +%{_bindir}/pg_controldata +%{_bindir}/pg_ctl +%{_bindir}/pg_receivewal +%{_bindir}/pg_recvlogical +%{_bindir}/pg_resetwal +%{_bindir}/pg_rewind +%{_bindir}/pg_checksums +%{_bindir}/pg_verifybackup +%{_bindir}/postgres +%{_bindir}/postgresql-setup +%{_bindir}/postgresql-upgrade +%dir %{_datadir}/pgsql +%{_datadir}/pgsql/*.sample +%dir %{_datadir}/pgsql/contrib +%dir %{_datadir}/pgsql/extension +%{_datadir}/pgsql/extension/plpgsql* +%{_datadir}/pgsql/information_schema.sql +%{_datadir}/pgsql/postgres.bki +%{_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 +%{_libdir}/pgsql/libpqwalreceiver.so +%{_libdir}/pgsql/pg_prewarm.so +%{_libdir}/pgsql/pgoutput.so +%{_libdir}/pgsql/plpgsql.so +%dir %{_libexecdir}/initscripts/legacy-actions/postgresql +%{_libexecdir}/initscripts/legacy-actions/postgresql/* +%{_libexecdir}/postgresql-check-db-dir +%dir %{_sysconfdir}/postgresql-setup +%dir %{_sysconfdir}/postgresql-setup/upgrade +%config %{_sysconfdir}/postgresql-setup/upgrade/*.conf +%{_mandir}/man1/initdb.* +%{_mandir}/man1/pg_basebackup.* +%{_mandir}/man1/pg_controldata.* +%{_mandir}/man1/pg_ctl.* +%{_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/postgresql-upgrade.* +%{_sbindir}/postgresql-new-systemd-unit +%{_tmpfilesdir}/postgresql.conf +%{_unitdir}/*postgresql*.service +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql +%attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data +%attr(755,postgres,postgres) %dir %{?_localstatedir}/run/postgresql +%if %pam +%config(noreplace) /etc/pam.d/postgresql +%endif + + +%files -n %{pkgname}-server-devel -f devel.lst +%{_bindir}/pg_server_config +%dir %{_datadir}/pgsql +%{_datadir}/pgsql/errcodes.txt +%dir %{_includedir}/pgsql +%{_includedir}/pgsql/server +%{_libdir}/pgsql/pgxs/ +%{_mandir}/man1/pg_server_config.* +%{_mandir}/man3/SPI_* +%{macrosdir}/macros.postgresql + + +%if ! %external_libpq +%files -n %{pkgname}-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 +%{_libdir}/pkgconfig/*.pc +%{_libdir}/libpq.so +%{_includedir}/pg_config*.h +%endif + + +%files -n %{pkgname}-test-rpm-macros +%{_datadir}/postgresql-setup/postgresql_pkg_tests.sh +%{macrosdir}/macros.postgresql-test + + +%files -n %{pkgname}-static +%{_libdir}/libpgcommon.a +%{_libdir}/libpgport.a +%{_libdir}/libpgcommon_shlib.a +%{_libdir}/libpgport_shlib.a + + +%if %upgrade +%files -n %{pkgname}-upgrade +%{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin +%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 -n %{pkgname}-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.postgresql-upgrade +%endif + +%if %llvmjit +%files -n %{pkgname}-llvmjit +%defattr(-,root,root) +%{_libdir}/pgsql/bitcode/* +%{_libdir}/pgsql/llvmjit.so +%{_libdir}/pgsql/llvmjit_types.bc +%endif + +%if %plperl +%files -n %{pkgname}-plperl -f plperl.lst +%{_datadir}/pgsql/extension/bool_plperl* +%{_datadir}/pgsql/extension/plperl* +%{_libdir}/pgsql/bool_plperl.so +%{_libdir}/pgsql/plperl.so +%endif + + +%if %pltcl +%files -n %{pkgname}-pltcl -f pltcl.lst +%{_datadir}/pgsql/extension/pltcl* +%{_libdir}/pgsql/pltcl.so +%endif + + +%if %plpython3 +%files -n %{pkgname}-plpython3 -f plpython3.lst +%{_datadir}/pgsql/extension/plpython3* +%{_libdir}/pgsql/plpython3.so +%endif + + +%if %test +%files -n %{pkgname}-test +%attr(-,postgres,postgres) %{_libdir}/pgsql/test +%endif + + +%changelog +* Mon Nov 27 2023 Filip Janus - 16.1-1 +- Update to 16.1 +- Initial import of demodularized version + +* Wed Oct 25 2023 Filip Janus - 16.0-2 +- Remove unused beta macro from spec +- add support for setting default PG stream using + postgresql_default macro + +* Wed Sep 20 2023 Filip Janus - 16.0-1 +- Add temporary fix for failing perl test +- plperl_warning.patch +- Related: https://bugzilla.redhat.com/show_bug.cgi?id=2238686 + +* Fri Sep 15 2023 Filip Janus - 16.0-1 +- Update to 16.0 + +* Mon Jun 05 2023 Filip Janus - 16.beta +- Initial build of postgresql 16 +- Remove pdf documentation +- Fix linter issues (patchx -> patch x) +- Remove postmaster symbol since it was deprecated see: + https://www.postgresql.org/docs/current/app-postmaster.html +- Provide new symbol postgresql-unit + +* Mon Jan 16 2023 Filip Janus - 15.1-1 +- Demodularization of package +- Remove build warnings - file listed twice + +* Thu Jul 07 2022 Filip Januš - 14.3-6 +- enable lz4 + +* Mon Jun 13 2022 Python Maint - 14.3-5 +- Rebuilt for Python 3.11 + +* Mon Jun 06 2022 Honza Horak - 14.3-4 +- Fix compatibility with Perl 5.36 + Resolves: #2092426 + +* Mon Jun 06 2022 Honza Horak - 14.3-3 +- Fix handling of errors during transaction with Python 3.11 + Resolves: #2023272 + +* Wed Jun 01 2022 Jitka Plesnikova - 14.3-2 +- Perl 5.36 rebuild + +* Tue May 31 2022 Honza Horak - 14.3-1 +- Update to 14.3 + Also fixes: CVE-2022-1552 + +* Mon Apr 04 2022 Filip Janus - 14.2-3 +- Add build requirement util-linux + +* Wed Feb 23 2022 Marek Kulik - 14.2-2 +- Disable package note generation due to extension build issue. + +* Wed Feb 09 2022 Filip Janus - 14.2-1 +- Update to 14.2 + +* Fri Jan 21 2022 Fedora Release Engineering - 14.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 05 2022 Filip Januš - 14.1-1 +- Update to 14.1 +- Update postgresql-setup to v8.7 +- Resolves: https://fedoraproject.org/wiki/Changes/PostgreSQL_14 + +* Mon Dec 13 2021 Marek Kulik - 13.5-1 +- Update to 13.5 + Remove patch postgresql-pgcrypto-openssl3-init.patch - already in upstream + +* Thu Nov 18 2021 Marek Kulik - 13.4-5 +- Update postgresql-setup to v8.6 + +* Tue Oct 19 2021 Filip Januš - 13.4-4 +- rebuild after llvm .so name chnage + +* Wed Oct 06 2021 Filip Januš - 13.4-3 +- Add patch 13 - corrects initialization of ciphers +- Add patch 14 - disable unsupported ciphers in test suite + +* Tue Sep 14 2021 Sahana Prasad - 13.4-2 +- Rebuilt with OpenSSL 3.0.0 + +* Thu Aug 12 2021 Filip Januš - 13.4-1 +- Update to 13.4 +- Disable postgresql-subtransaction-test.patch + now succeeds without patch + +* Fri Jul 23 2021 Fedora Release Engineering - 13.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 20 2021 Filip Januš - 13.3-4 +- Enable ssl and other features for upgrade server + +* Fri Jun 04 2021 Honza Horak - 13.3-3 +- Build with a private libpq + Resolves: #1905584 + +* Fri Jun 04 2021 Python Maint - 13.3-2 +- Rebuilt for Python 3.10 + +* Fri May 21 2021 Filip Januš - 13.3-1 +- Update to 13.3 + +* Fri May 21 2021 Jitka Plesnikova - 13.2-9 +- Perl 5.34 rebuild + +* Thu May 20 2021 Pete Walter - 13.2-8 +- Rebuild for ICU 69 + +* Tue May 11 2021 Honza Horak - 13.2-7 +- Fix subtransaction test for Python 3.10 + Resolves: #1959080 + +* Thu Apr 22 2021 Honza Horak - 13.2-6 +- Fix jit failure on s390x + Thanks to Tom Stellard + Related: #1940964 + +* Tue Apr 20 2021 Honza Horak - 13.2-5 +- Add macro for llvmjit settings + +* Wed Mar 17 2021 Honza Horak - 13.2-4 +- Remove plpython2 entirely, same as upstream did + Resolves: #1913681 +- Disable llvmjit in order to build at all + Related: #1940964 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 13.2-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Feb 17 2021 Honza Horak - 13.2-2 +- Do not build plpython on RHEL > 8 + Related: #1913681 + +* Tue Feb 16 2021 Honza Horak - 13.2-1 +- Update to 13.2 + +* Fri Feb 12 2021 Michal Schorm - 13.1-2 +- Remove ancient PPC64 hack + +* Wed Jan 13 2021 Honza Horak - 13.1-1 +- Rebase to usptream release 13.1 + +* Wed Jan 13 2021 Patrik Novotný - 12.5-1 +- Rebase to upstream release 12.5 + Patch for libpq 13.x build time compatibility + Fixes CVE-2020-25694 + Fixes CVE-2020-25695 + Fixes CVE-2020-25696 + +* Wed Jan 06 2021 Fedora Release Engineering - 12.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 16 2020 Honza Horak - 12.4-4 +- Update postgresql-setup to v8.5 + +* Fri Oct 09 2020 Honza Horak - 12.4-3 +- Removing problematic requirements on ppc64 arch + Resolves: #1882642 + +* Fri Aug 21 2020 Jeff Law - 12.4-2 +- Re-enable LTO + +* Tue Aug 18 2020 Patrik Novotný - 12.4-1 +- Rebase to upstream release 12.4 + +* Tue Jul 28 2020 Fedora Release Engineering - 12.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Jeff Law - 12.3-5 +- Disable LTO + +* Tue Jun 23 2020 Jitka Plesnikova - 12.3-4 +- Perl 5.32 rebuild + +* Sat Jun 06 2020 Pavel Raiskup - 12.3-3 +- add docbook-style-xsl to BuildRequires + +* Tue May 26 2020 Miro Hrončok - 12.3-2 +- Rebuilt for Python 3.9 + +* Tue May 19 2020 Patrik Novotný - 12.3-2 +- Drop postgresql-man.patch + +* Mon May 18 2020 Patrik Novotný - 12.3-1 +- Rebase to upstream release 12.3 + +* Fri May 15 2020 Pete Walter - 12.2-3 +- Rebuild for ICU 67 + +* Thu Mar 12 2020 Patrik Novotný - 12.2-2 +- Fix requirements for JIT in postgresql-server-devel +- Fix build issues regarding new perl update + +* Fri Feb 14 2020 Patrik Novotný - 12.2-1 +- Rebase to upstream release 12.2 + +* Tue Feb 11 2020 Patrik Novotný - 12.1-1 +- Rebase to upstream release 12.1 + +* Thu Jan 30 2020 Fedora Release Engineering - 11.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 25 2019 Patrik Novotný - 11.6-1 +- Rebase to upstream version 11.6 + +* Fri Nov 01 2019 Pete Walter - 11.5-6 +- Rebuild for ICU 65 + +* Thu Sep 05 2019 Patrik Novotný - 11.5-5 +- postgresql-server-devel requires krb5-devel + +* Tue Sep 03 2019 Patrik Novotný - 11.5-4 +- Add explicit obsoletes to plpython2 package + +* Mon Sep 02 2019 Patrik Novotný - 11.5-3 +- Rename plpython to plpython2 and provide plpython virtually. + +* Mon Aug 19 2019 Miro Hrončok - 11.5-2 +- Rebuilt for Python 3.8 + +* Wed Aug 07 2019 Petr Kubat - 11.5-1 +- New upstream version 11.5 + https://www.postgresql.org/docs/11/release-11-5.html + +* Fri Jul 26 2019 Fedora Release Engineering - 11.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jul 09 2019 Petr Kubat - 11.4-1 +- New upstream version 11.4 + https://www.postgresql.org/docs/11/release-11-4.html + +* Fri May 31 2019 Jitka Plesnikova - 11.3-2 +- Perl 5.30 rebuild + +* Thu May 09 2019 Patrik Novotný - 11.3-1 +- Rebase to upstream release 11.3 + https://www.postgresql.org/docs/11/release-11-3.html + +* Tue Mar 05 2019 Pavel Raiskup - 11.2-3 +- update postgresql-setup to 8.4 (related to rhbz#1668301) + +* Sun Feb 17 2019 Igor Gnatenko - 11.2-2 +- Rebuild for readline 8.0 + +* Thu Feb 14 2019 Patrik Novotný - 11.2-1 +- Rebase to upstream release 11.2 + +* Thu Feb 14 2019 Pavel Raiskup - 11.1-5 +- protect against building server against older libpq library + +* Sat Feb 02 2019 Fedora Release Engineering - 11.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 22 2019 Pavel Raiskup - 11.1-3 +- build with ICU support, to provide more opt-in collations + +* Mon Jan 14 2019 Björn Esser - 11.1-2 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Wed Nov 07 2018 Patrik Novotný - 11.1-1 +- Rebase to upstream release 11.1 + https://www.postgresql.org/docs/11/release-11-1.html + +* Fri Oct 26 2018 Pavel Raiskup - 11.0-2 +- build also contrib *plpython3 modules + +* Tue Oct 16 2018 Pavel Raiskup - 11.0-1 +- new upstream release, per release notes: + https://www.postgresql.org/docs/11/static/release-11.html + +* Wed Sep 05 2018 Pavel Raiskup - 10.5-4 +- build without postgresql-libs; libraries moved to libpq and libecpg + +* Mon Aug 27 2018 Pavel Raiskup - 10.5-3 +- devel subpackage provides postgresql-server-devel and libecpg-devel + (first step for rhbz#1618698) + +* Mon Aug 27 2018 Pavel Raiskup - 10.5-2 +- packaging cleanup +- devel subpackage to provide libpq-devel (first step for rhbz#1618698) + +* Wed Aug 08 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-8 +- new postgresql-setup, the %%postgresql_tests* macros now start + the build-time server on random port number + +* Fri Jul 13 2018 Fedora Release Engineering - 10.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jul 12 2018 Pavel Raiskup - 10.4-6 +- drop ppc64 patch, gcc is already fixed (rhbz#1544349) +- move pg_config*.mo files into devel subpackage + +* Mon Jul 09 2018 Pavel Raiskup - 10.4-5 +- re-enable -O3 for 64bit PPC boxes +- explicitly set PYTHON=python2, /bin/python doesn't exist fc29+ + +* Tue Jul 03 2018 Petr Pisar - 10.4-4 +- Perl 5.28 rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 10.4-3 +- Perl 5.28 rebuild + +* Tue Jun 19 2018 Miro Hrončok - 10.4-2 +- Rebuilt for Python 3.7 + +* Wed May 09 2018 Pavel Raiskup - 10.4-1 +- update to 10.4 per release notes: + https://www.postgresql.org/docs/10/static/release-10-4.html + +* 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 +- upgrade: package plpython*.so modules + +* Mon Apr 16 2018 Pavel Raiskup - 10.3-3 +- upgrade: package plperl.so and pltcl.so +- upgrade: package contrib modules +- upgrade: drop dynamic libraries + +* Fri Apr 13 2018 Pavel Raiskup - 10.3-2 +- define %%precise_version helper macro +- drop explicit libpq.so provide from *-libs +- update postgresql-setup tarball +- add postgresql-test-rpm-macros package + +* 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 + +* Thu Feb 08 2018 Petr Kubat - 10.2-1 +- update to 10.2 per release notes: + https://www.postgresql.org/docs/10/static/release-10-2.html + +* Sat Jan 20 2018 Björn Esser - 10.1-5 +- Rebuilt for switch to libxcrypt + +* Tue Dec 19 2017 Pavel Raiskup - 10.1-4 +- configure with --with-systemd (rhbz#1414314) +- disable startup timeout of PostgreSQL service (rhbz#1525477) + +* Wed Dec 13 2017 Pavel Raiskup - 10.1-3 +- unify %%configure options for python2/python3 configure +- drop --with-krb5 option, not supported since PostgreSQL 9.4 +- python packaging - requires/provides s/python/python2/ + +* Tue Nov 14 2017 Pavel Raiskup - 10.1-2 +- postgresql-setup v7.0 + +* Wed Nov 08 2017 Pavel Raiskup - 10.1-1 +- update to 10.1 per release notes: + https://www.postgresql.org/docs/10/static/release-10-1.html + +* Mon Nov 06 2017 Pavel Raiskup - 10.0-4 +- rebase to new postgresql-setup 6.0 version, to fix CVE-2017-15097 + +* Thu Oct 12 2017 Pavel Raiskup - 10.0-3 +- confess that we bundle setup scripts and previous version of ourseleves +- provide %%postgresql_upgrade_prefix macro + +* Mon Oct 09 2017 Pavel Raiskup - 10.0-2 +- stricter separation of files in upgrade/upgrade-devel + +* Mon Oct 09 2017 Jozef Mlich - 10.0-2 +- support for upgrade with extenstions + i.e the postgresql-upgrade-devel subpackage was added (rhbz#1475177) + +* Fri Oct 06 2017 Pavel Raiskup - 10.0-1 +- update to 10.0 per release notes: + https://www.postgresql.org/docs/10/static/release-10.html + +* Tue Sep 05 2017 Pavel Raiskup - 9.6.5-2 +- move %%_libdir/pgsql into *-libs subpackage + +* 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. diff --git a/rpm-pgsql.patch b/rpm-pgsql.patch new file mode 100644 index 0000000..aec64ac --- /dev/null +++ b/rpm-pgsql.patch @@ -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@ + diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..0647934 --- /dev/null +++ b/rpminspect.yaml @@ -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 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 diff --git a/sources b/sources new file mode 100755 index 0000000..42e0a5c --- /dev/null +++ b/sources @@ -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