diff --git a/Makefile.regress b/Makefile.regress deleted file mode 100644 index 95bc589edca01c7cac666be07466befef3a229cc..0000000000000000000000000000000000000000 --- a/Makefile.regress +++ /dev/null @@ -1,69 +0,0 @@ -# -# 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/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..223c9d64f1676b3a952b21516f224b9e1b4a4836 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +Obsoleted by branched postgresql since April 2025: + +- https://gitee.com/openeuler/community/pulls/6314 +- https://gitee.com/src-openeuler/postgresql-17 +- https://gitee.com/src-openeuler/postgresql-15 diff --git a/add-sw_64-support.patch b/add-sw_64-support.patch deleted file mode 100644 index caa0c666fd12ebac2898c8a7d3aa1e4b840a01ff..0000000000000000000000000000000000000000 --- a/add-sw_64-support.patch +++ /dev/null @@ -1,80 +0,0 @@ -From ed05d50b808df2bb0d11456515896a40e620389b Mon Sep 17 00:00:00 2001 -From: mahailiang -Date: Sat, 15 Mar 2025 11:46:26 +0800 -Subject: [PATCH] add sw_64 support - ---- - contrib/pgcrypto/crypt-blowfish.c | 2 +- - src/include/storage/s_lock.h | 43 +++++++++++++++++++++++++++++++ - 2 files changed, 44 insertions(+), 1 deletion(-) - -diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c -index a663852..e6d72b2 100644 ---- a/contrib/pgcrypto/crypt-blowfish.c -+++ b/contrib/pgcrypto/crypt-blowfish.c -@@ -41,7 +41,7 @@ - #ifdef __i386__ - #define BF_ASM 0 /* 1 */ - #define BF_SCALE 1 --#elif defined(__x86_64__) || defined(__alpha__) || defined(__hppa__) -+#elif defined(__x86_64__) || defined(__alpha__) || defined(__hppa__) || defined(__sw_64__) - #define BF_ASM 0 - #define BF_SCALE 1 - #else -diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h -index 1ada0a8..3afd20e 100644 ---- a/src/include/storage/s_lock.h -+++ b/src/include/storage/s_lock.h -@@ -771,6 +771,49 @@ tas(volatile slock_t *lock) - - #endif /* __sh__ */ - -+#if defined(__sw_64) || defined(__sw_64__) /* sw_64 */ -+#define HAS_TEST_AND_SET -+ -+typedef unsigned long slock_t; -+ -+#define TAS(lock) tas(lock) -+ -+static __inline__ int -+tas(volatile slock_t *lock) -+{ -+ register slock_t _res; -+ unsigned long tmp; -+ __asm__ __volatile__( -+ " ldl $0, %1 \n" -+ " bne $0, 2f \n" -+ " ldi %2, %1\n" -+ " lldl %0, 0(%2) \n" -+ " mov 1, $0 \n" -+ " wr_f $0 \n" -+ " memb \n" -+ " lstl $0, 0(%2) \n" -+ " rd_f $0 \n" -+ " bne %0, 2f \n" -+ " beq $0, 2f \n" -+ " memb \n" -+ " br 3f \n" -+ "2: mov 1, %0 \n" -+ "3: \n" -+: "=&r"(_res), "+m"(*lock),"=r" (tmp) -+: -+: "memory", "0"); -+ return (int) _res; -+} -+ -+#define S_UNLOCK(lock) \ -+do \ -+{\ -+ __asm__ __volatile__ (" memb \n"); \ -+ *((volatile slock_t *) (lock)) = 0; \ -+} while (0) -+ -+#endif /* __sw_64 || __sw_64__ */ -+ - - /* These live in s_lock.c, but only for gcc */ - --- -2.43.5 - diff --git a/generate-pdf.sh b/generate-pdf.sh deleted file mode 100644 index e0ed00880e882ca6de9c3e85242e2ac115e67090..0000000000000000000000000000000000000000 --- a/generate-pdf.sh +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh - -# This script builds the PDF version of the PostgreSQL documentation. -# -# In principle we could do this as part of the RPM build, but there are -# good reasons not to: -# 1. The build would take longer and have a larger BuildRequires footprint. -# 2. The generated PDF has timestamps in it, which would inevitably result -# in multilib conflicts due to slightly different timestamps. -# So instead, we run this manually when rebasing to a new upstream release, -# and treat the resulting PDF as a separate Source file. -# -# You will need to have the docbook packages installed to run this. -# Expect it to take about 20 minutes and use about 160MB of disk. - -set -e - -# Pass package version (e.g., 9.1.2) as argument -VERSION=$1 - -test -z "$VERSION" && VERSION=`awk '/^Version:/ { print $2; }' postgresql.spec` - -TARGETFILE=postgresql-$VERSION-US.pdf -test -f "$TARGETFILE" && echo "$TARGETFILE exists" && exit 1 - -echo Building $TARGETFILE ... - -# Unpack postgresql - -rm -rf postgresql-$VERSION - -tar xfj postgresql-$VERSION.tar.bz2 - -cd postgresql-$VERSION - -# Apply any patches that affect the PDF documentation - -# patch -p1 < ../xxx.patch - -# Configure ... - -./configure >/dev/null - -# Build the PDF docs - -cd doc/src/sgml - -make postgres-US.pdf >make.log - -mv -f postgres-US.pdf ../../../../$TARGETFILE - -# Clean up - -cd ../../../.. - -rm -rf postgresql-$VERSION - -exit 0 diff --git a/generate-sources.sh b/generate-sources.sh deleted file mode 100644 index 1d53682e565a9eebceb3d6d40205a45d027ee37c..0000000000000000000000000000000000000000 --- a/generate-sources.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /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/postgresql-14.17.tar.bz2 b/postgresql-14.17.tar.bz2 deleted file mode 100644 index 2c986427b8babd8947d13ae98b3bab3759c55bfa..0000000000000000000000000000000000000000 --- a/postgresql-14.17.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ce0ccd6403bf7f0f2eddd333e2ee9ba02edfa977c66660ed9b4b1057e7630a1 -size 22488812 diff --git a/postgresql-14.17.tar.bz2.sha256 b/postgresql-14.17.tar.bz2.sha256 deleted file mode 100644 index 77a6d3764b5d1d141f6190a128698ffee14e3de0..0000000000000000000000000000000000000000 --- a/postgresql-14.17.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -6ce0ccd6403bf7f0f2eddd333e2ee9ba02edfa977c66660ed9b4b1057e7630a1 postgresql-14.17.tar.bz2 diff --git a/postgresql-15.12-US.pdf b/postgresql-15.12-US.pdf deleted file mode 100644 index 5f446c8f43e3905af8a8724f37684c80654e2a69..0000000000000000000000000000000000000000 --- a/postgresql-15.12-US.pdf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92238b2dac375c2b79cd7dc26b40861bd939d2e5e3c18d58e3d96c6ed764e682 -size 14277560 diff --git a/postgresql-15.12.tar.bz2 b/postgresql-15.12.tar.bz2 deleted file mode 100644 index 534f1d1f5f5b5f88a5d721ecf048af13f68716fa..0000000000000000000000000000000000000000 --- a/postgresql-15.12.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bc8462a38ca0857270cc88b949a3f6659f0d5c44c029c482355835b61a0f6f7 -size 23170228 diff --git a/postgresql-15.12.tar.bz2.sha256 b/postgresql-15.12.tar.bz2.sha256 deleted file mode 100644 index cd7b414e5307f0569fa81f8d1c17b14e516f1f5f..0000000000000000000000000000000000000000 --- a/postgresql-15.12.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -3bc8462a38ca0857270cc88b949a3f6659f0d5c44c029c482355835b61a0f6f7 postgresql-15.12.tar.bz2 diff --git a/postgresql-bashprofile b/postgresql-bashprofile deleted file mode 100644 index 1cd70d33a794b2e903b1196f810c5bcd85a331d9..0000000000000000000000000000000000000000 --- a/postgresql-bashprofile +++ /dev/null @@ -1,4 +0,0 @@ -[ -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 deleted file mode 100644 index eef03787382961c80b1ce57f89a1bef4394ee458..0000000000000000000000000000000000000000 --- a/postgresql-datalayout-mismatch-on-s390.patch +++ /dev/null @@ -1,99 +0,0 @@ -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 deleted file mode 100644 index ba7ef73986129588ebdff63b064ad7c1f458d3df..0000000000000000000000000000000000000000 --- a/postgresql-external-libpq.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 deleted file mode 100644 index c4fac84fa7c8d84c31495d9722854377c0b40cba..0000000000000000000000000000000000000000 --- a/postgresql-logging.patch +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 789fb79e7d4d9d7c45abd0f25cb9309cccb71c1b..0000000000000000000000000000000000000000 --- a/postgresql-man.patch +++ /dev/null @@ -1,49 +0,0 @@ -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 -@@ -86,6 +86,11 @@ - 1\&. - .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 -@@ -149,6 +154,11 @@ - .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 deleted file mode 100644 index 0d2e9c17901e78cfe2a4eaf34981cb480555de2f..0000000000000000000000000000000000000000 --- a/postgresql-no-libecpg.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-pgcrypto-openssl3-tests.patch b/postgresql-pgcrypto-openssl3-tests.patch deleted file mode 100644 index 6ca2a9bcb5ae51dd1db4a5816ec8ff357dfde1dc..0000000000000000000000000000000000000000 --- a/postgresql-pgcrypto-openssl3-tests.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -ur postgresql-13.4/contrib/pgcrypto/expected/pgp-decrypt.out postgresql-13.4.patched/contrib/pgcrypto/expected/pgp-decrypt.out ---- postgresql-13.4/contrib/pgcrypto/expected/pgp-decrypt.out 2021-08-09 16:49:05.000000000 -0400 -+++ postgresql-13.4.patched/contrib/pgcrypto/expected/pgp-decrypt.out 2021-09-01 08:16:48.138600886 -0400 -@@ -4,20 +4,6 @@ - -- Checking ciphers - select pgp_sym_decrypt(dearmor(' - -----BEGIN PGP MESSAGE----- --Comment: dat1.blowfish.sha1.mdc.s2k3.z0 -- --jA0EBAMCfFNwxnvodX9g0jwB4n4s26/g5VmKzVab1bX1SmwY7gvgvlWdF3jKisvS --yA6Ce1QTMK3KdL2MPfamsTUSAML8huCJMwYQFfE= --=JcP+ -------END PGP MESSAGE----- --'), 'foobar'); -- pgp_sym_decrypt ------------------- -- Secret message. --(1 row) -- --select pgp_sym_decrypt(dearmor(' -------BEGIN PGP MESSAGE----- - Comment: dat1.aes.sha1.mdc.s2k3.z0 - - jA0EBwMCci97v0Q6Z0Zg0kQBsVf5Oe3iC+FBzUmuMV9KxmAyOMyjCc/5i8f1Eest -diff -ur postgresql-13.4/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out postgresql-13.4.patched/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out ---- postgresql-13.4/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out 2021-08-09 16:49:05.000000000 -0400 -+++ postgresql-13.4.patched/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out 2021-09-01 08:05:27.750172653 -0400 -@@ -594,13 +594,6 @@ - (1 row) - - select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) --from keytbl, encdata where keytbl.id=2 and encdata.id=2; -- pgp_pub_decrypt ------------------- -- Secret msg --(1 row) -- --select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) - from keytbl, encdata where keytbl.id=3 and encdata.id=3; - pgp_pub_decrypt - ----------------- -diff -ur postgresql-15.0_original/contrib/pgcrypto/Makefile postgresql-15.0/contrib/pgcrypto/Makefile ---- postgresql-15.0_original/contrib/pgcrypto/Makefile 2022-09-05 23:12:45.000000000 +0200 -+++ postgresql-15.0/contrib/pgcrypto/Makefile 2022-09-27 17:12:54.463159362 +0200 -@@ -39,9 +39,9 @@ - pgcrypto--1.0--1.1.sql - PGFILEDESC = "pgcrypto - cryptographic functions" - --REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \ -- sha2 des 3des cast5 \ -- crypt-des crypt-md5 crypt-blowfish crypt-xdes \ -+REGRESS = init md5 sha1 hmac-md5 hmac-sha1 rijndael \ -+ sha2 \ -+ crypt-md5 \ - pgp-armor pgp-decrypt pgp-encrypt $(CF_PGP_TESTS) \ - pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-info - -diff -ur postgresql-13.4/contrib/pgcrypto/sql/pgp-decrypt.sql postgresql-13.4.patched/contrib/pgcrypto/sql/pgp-decrypt.sql ---- postgresql-13.4/contrib/pgcrypto/sql/pgp-decrypt.sql 2021-08-09 16:49:05.000000000 -0400 -+++ postgresql-13.4.patched/contrib/pgcrypto/sql/pgp-decrypt.sql 2021-09-01 08:16:12.525212175 -0400 -@@ -5,16 +5,6 @@ - -- Checking ciphers - select pgp_sym_decrypt(dearmor(' - -----BEGIN PGP MESSAGE----- --Comment: dat1.blowfish.sha1.mdc.s2k3.z0 -- --jA0EBAMCfFNwxnvodX9g0jwB4n4s26/g5VmKzVab1bX1SmwY7gvgvlWdF3jKisvS --yA6Ce1QTMK3KdL2MPfamsTUSAML8huCJMwYQFfE= --=JcP+ -------END PGP MESSAGE----- --'), 'foobar'); -- --select pgp_sym_decrypt(dearmor(' -------BEGIN PGP MESSAGE----- - Comment: dat1.aes.sha1.mdc.s2k3.z0 - - jA0EBwMCci97v0Q6Z0Zg0kQBsVf5Oe3iC+FBzUmuMV9KxmAyOMyjCc/5i8f1Eest -diff -ur postgresql-13.4/contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql postgresql-13.4.patched/contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql ---- postgresql-13.4/contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql 2021-08-09 16:49:05.000000000 -0400 -+++ postgresql-13.4.patched/contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql 2021-09-01 08:06:18.963732342 -0400 -@@ -606,9 +606,6 @@ - from keytbl, encdata where keytbl.id=1 and encdata.id=1; - - select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) --from keytbl, encdata where keytbl.id=2 and encdata.id=2; -- --select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) - from keytbl, encdata where keytbl.id=3 and encdata.id=3; - - select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) diff --git a/postgresql-server-pg_config.patch b/postgresql-server-pg_config.patch deleted file mode 100644 index 83793e127df091a7d2155f5a6069a3ce9693125e..0000000000000000000000000000000000000000 --- a/postgresql-server-pg_config.patch +++ /dev/null @@ -1,58 +0,0 @@ -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-14rc1/src/bin/pg_config/Makefile pgsql14/src/bin/pg_config/Makefile ---- postgresql-14rc1/src/bin/pg_config/Makefile 2021-09-20 23:33:01.000000000 +0200 -+++ pgsql14/src/bin/pg_config/Makefile 2021-09-22 10:48:06.484093152 +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-15.0_original/src/bin/pg_config/nls.mk postgresql-15.0/src/bin/pg_config/nls.mk ---- postgresql-15.0_original/src/bin/pg_config/nls.mk 2022-09-05 23:12:45.000000000 +0200 -+++ postgresql-15.0/src/bin/pg_config/nls.mk 2022-09-27 17:04:14.618932977 +0200 -@@ -1,4 +1,4 @@ - # src/bin/pg_config/nls.mk --CATALOG_NAME = pg_config -+CATALOG_NAME = pg_server_config - AVAIL_LANGUAGES = cs de el es fr he it ja ka ko pl pt_BR ru sv tr uk vi zh_CN - GETTEXT_FILES = pg_config.c ../../common/config_info.c ../../common/exec.c diff --git a/postgresql-setup-8.9.tar.gz b/postgresql-setup-8.9.tar.gz deleted file mode 100644 index 288a3fd1f790495a932dd97b2c2c2c89ca8414fb..0000000000000000000000000000000000000000 Binary files a/postgresql-setup-8.9.tar.gz and /dev/null differ diff --git a/postgresql-var-run-socket.patch b/postgresql-var-run-socket.patch deleted file mode 100644 index 91dceabd997ad0b425179fdd1f86a3641b2e64bc..0000000000000000000000000000000000000000 --- a/postgresql-var-run-socket.patch +++ /dev/null @@ -1,53 +0,0 @@ -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 --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c -index 9481f2d..75532c7 100644 ---- a/src/backend/utils/misc/guc.c -+++ b/src/backend/utils/misc/guc.c -@@ -3196,7 +3196,7 @@ static struct config_string ConfigureNamesString[] = - }, - &Unix_socket_directories, - #ifdef HAVE_UNIX_SOCKETS -- DEFAULT_PGSOCKET_DIR, -+ DEFAULT_PGSOCKET_DIR ", /tmp", - #else - "", - #endif -diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c -index feeff9e..3e3d784 100644 ---- a/src/bin/initdb/initdb.c -+++ b/src/bin/initdb/initdb.c -@@ -1234,7 +1234,7 @@ setup_config(void) - - #ifdef HAVE_UNIX_SOCKETS - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'", -- DEFAULT_PGSOCKET_DIR); -+ DEFAULT_PGSOCKET_DIR ", /tmp"); - #else - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''"); - #endif -diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h -index e278fa0..9ee15d4 100644 ---- a/src/include/pg_config_manual.h -+++ b/src/include/pg_config_manual.h -@@ -201,7 +201,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 deleted file mode 100644 index 1d785946d3fe6a7a77dbd83de624701afe94f06a..0000000000000000000000000000000000000000 --- a/postgresql.pam +++ /dev/null @@ -1,3 +0,0 @@ -#%PAM-1.0 -auth include password-auth -account include password-auth diff --git a/postgresql.spec b/postgresql.spec deleted file mode 100644 index 10ef67f599611d02aad0da96987fa301bbd95e11..0000000000000000000000000000000000000000 --- a/postgresql.spec +++ /dev/null @@ -1,1434 +0,0 @@ -%{!?beta:%global beta 0} -%{!?test:%global test 1} -%ifarch riscv64 loongarch64 -# Fail to pass tests on riscv64 -%{!?llvmjit:%global llvmjit 0} -%else -%{!?llvmjit:%global llvmjit 1} -%endif -%{!?external_libpq:%global external_libpq 0} -%{!?upgrade:%global upgrade 0} -%{!?plpython:%global plpython 0} -%{!?plpython3:%global plpython3 1} -%{!?pltcl:%global pltcl 1} -%{!?plperl:%global plperl 1} -%{!?ssl:%global ssl 1} -%{!?icu:%global icu 1} -%{!?kerberos:%global kerberos 1} -%{!?ldap:%global ldap 1} -%{!?nls:%global nls 1} -%{!?uuid:%global uuid 1} -%{!?xml:%global xml 1} -%{!?pam:%global pam 1} -%{!?sdt:%global sdt 1} -%{!?selinux:%global selinux 1} -%{!?runselftest:%global runselftest 1} - -%global _default_patch_flags --no-backup-if-mismatch - -%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) - -Summary: PostgreSQL client programs -Name: postgresql -%global majorversion 15 -Version: %{majorversion}.12 -Release: 2 - -# 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/ - -%global prevmajorversion 14 -%global prevversion %{prevmajorversion}.17 -%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 -Source1: postgresql-%{version}-US.pdf -Source2: generate-pdf.sh -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 -Patch6: postgresql-man.patch -Patch8: postgresql-external-libpq.patch -Patch9: postgresql-server-pg_config.patch -Patch10: postgresql-no-libecpg.patch -Patch11: postgresql-datalayout-mismatch-on-s390.patch -Patch16: postgresql-pgcrypto-openssl3-tests.patch -Patch17: add-sw_64-support.patch - -BuildRequires: gcc clang -BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk -BuildRequires: perl(ExtUtils::Embed), perl-devel -BuildRequires: perl-generators -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 %plpython -BuildRequires: python2-devel -%endif - -%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 - -%global __provides_exclude_from %{_libdir}/pgsql - -%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. - -%if ! %external_libpq -%package private-libs -Summary: The shared libraries required only for this build of PostgreSQL server -Group: Applications/Databases - -%description private-libs -The postgresql-private-libs package provides the shared libraries for this -build of PostgreSQL server and plugins build with this version of server. -For shared libraries used by client packages that need to connect to a -PostgreSQL server, install libpq package instead. - - -%package private-devel -Summary: PostgreSQL development header files for this build of PostgreSQL server -Group: Development/Libraries -Requires: %{name}-private-libs%{?_isa} = %precise_version -# Conflict is desired here, a user must pick one or another -Conflicts: libpq-devel - -%description private-devel -The postgresql-private-devel package contains the header files and libraries -needed to compile C or C++ applications which will directly interact -with a PostgreSQL database management server. -You need to install this package if you want to develop applications which -will interact with a PostgreSQL server. -%endif - -%package server -Summary: The programs needed to create and run a PostgreSQL server -Requires: %{name}%{?_isa} = %precise_version -Requires(pre): /usr/sbin/useradd -Requires: systemd -%{?systemd_requires} -Provides: %{name}-server(:MODULE_COMPAT_%{majorversion}) -Provides: bundled(postgresql-setup) = %setup_version - -%description 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 docs -Summary: Extra documentation for PostgreSQL -Requires: %{name}%{?_isa} = %precise_version -Provides: %{name}-doc = %precise_version - -%description 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 contrib -Summary: Extension modules distributed with PostgreSQL -Requires: %{name}%{?_isa} = %precise_version - -%description contrib -The postgresql-contrib package contains various extension modules that are -included in the PostgreSQL distribution. - - -%package server-devel -Summary: PostgreSQL development header files and libraries -%if %icu -Requires: libicu-devel -%endif -%if %kerberos -Requires: krb5-devel -%endif - -%description server-devel -The postgresql-server-devel package contains the header files and configuration -needed to compile PostgreSQL server extension. - -%package test-rpm-macros -Summary: Convenience RPM macros for build-time testing against PostgreSQL server -Requires: %{name}-server = %precise_version -BuildArch: noarch - -%description test-rpm-macros -This package is meant to be added as BuildRequires: dependency of other packages -that want to run build-time testsuite against running PostgreSQL server. - - -%package static -Summary: Statically linked PostgreSQL libraries -Requires: %{name}-server-devel%{?_isa} = %precise_version - -%description static -Statically linked PostgreSQL libraries that do not have dynamically linked -counterparts. - - -%if %upgrade -%package upgrade -Summary: Support for upgrading from the previous major release of PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version -Provides: bundled(postgresql-server) = %prevversion - -%description 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 upgrade-devel -Summary: Support for build of extensions required for upgrade process -Requires: %{name}-upgrade%{?_isa} = %precise_version - -%description 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 plperl -Summary: The Perl procedural language for PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version -%if %runselftest -BuildRequires: perl(Opcode) -BuildRequires: perl(Data::Dumper) -%endif - -%description 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 %plpython -%package plpython -Summary: The Python2 procedural language for PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version -Provides: %{name}-plpython2 = %precise_version - -%description plpython -The postgresql-plpython package contains the PL/Python procedural language, -which is an extension to the PostgreSQL database server. -Install this if you want to write database functions in Python 2. -%endif - - -%if %plpython3 -%package plpython3 -Summary: The Python3 procedural language for PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version - -%description 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 pltcl -Summary: The Tcl procedural language for PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version - -%description 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 test -Summary: The test suite distributed with PostgreSQL -Requires: %{name}-server%{?_isa} = %precise_version -Requires: %{name}-server-devel%{?_isa} = %precise_version - -%description 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 llvmjit -Summary: Just-in-time compilation support for PostgreSQL -Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: llvm => 5.0 -Provides: postgresql-llvmjit >= %{version}-%{release} -BuildRequires: llvm-devel >= 5.0 clang-devel >= 5.0 - -%description llvmjit -The postgresql-llvmjit package contains support for -just-in-time compiling parts of PostgreSQL queries. Using LLVM it -compiles e.g. expressions and tuple deforming into native code, with the -goal of accelerating analytics queries. -%endif - -%prep -( - cd "$(dirname "%{SOURCE0}")" - sha256sum -c %{SOURCE16} -%if %upgrade - sha256sum -c %{SOURCE17} -%endif -) -%setup -q -a 12 -n postgresql-%{version} -%patch -P 1 -p1 -%patch -P 2 -p1 -%patch -P 5 -p1 -%patch -P 6 -p1 -%if %external_libpq -%patch -P 8 -p1 -%else -%patch -P 10 -p1 -%endif -%patch -P 9 -p1 -%patch -P 11 -p1 -%patch -P 16 -p1 - -# We used to run autoconf here, but there's no longer any real need to, -# since Postgres ships with a reasonably modern configure script. - -cp -p %{SOURCE1} . - -%if ! %external_libpq -%global private_soname private%{majorversion} -find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \; -%endif - -%if %upgrade -tar xfj %{SOURCE3} - -# libpq from this upgrade-only build is dropped and the libpq from the main -# version is used. Use the same major hack therefore. -%if ! %external_libpq -find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \; -%endif - -# apply once SOURCE3 is extracted -%endif - -# remove .gitignore files to ensure none get into the RPMs (bug #642210) -find . -type f -name .gitignore | xargs rm - - -%build -# 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} -export pgsetup_cv_os_family=redhat -%configure \ - pgdocdir=%{_pkgdocdir} \ - PGVERSION=%{version} \ - PGMAJORVERSION=%{majorversion} \ - NAME_DEFAULT_PREV_SERVICE=postgresql - -make %{?_smp_mflags} -unset pgsetup_cv_os_family -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 - -# plpython requires separate configure/build runs to build against python 2 -# versus python 3. Our strategy is to do the python 3 run first, then make -# distclean and do it again for the "normal" build. Note that the installed -# Makefile.global will reflect the python 2 build, which seems appropriate -# since that's still considered the default plpython version. -common_configure_options=' - --disable-rpath -%ifarch riscv64 loongarch64 - --disable-spinlocks -%endif -%if %beta - --enable-debug - --enable-cassert -%endif -%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 -%if %icu - --with-icu -%endif -%if %llvmjit - --with-llvm -%endif -' - -%if %plpython3 - -export PYTHON=/usr/bin/python3 - -# These configure options must match main build -%configure $common_configure_options \ - --with-python - -# Fortunately we don't need to build much except plpython itself. -%global python_subdirs \\\ - src/pl/plpython \\\ - contrib/hstore_plpython \\\ - contrib/jsonb_plpython \\\ - contrib/ltree_plpython - -for dir in %python_subdirs; do - %make_build -C "$dir" all -done - -# save built form in a directory that "make distclean" won't touch -for dir in %python_subdirs; do - rm -rf "${dir}3" # shouldn't exist, unless --short-circuit - cp -a "$dir" "${dir}3" -done - -# must also save this version of Makefile.global for later -cp src/Makefile.global src/Makefile.global.python3 - -make distclean - -%endif # %%plpython3 - -PYTHON=/usr/bin/python2 - -# Normal (python2) build begins here -%configure $common_configure_options \ -%if %plpython - --with-python -%endif - -unset PYTHON - -%make_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" -%if %plpython3 - # must install Makefile.global that selects python3 - mv src/Makefile.global src/Makefile.global.save - cp src/Makefile.global.python3 src/Makefile.global - touch -r src/Makefile.global.save src/Makefile.global - - for dir in %python_subdirs; do - # because "make check" does "make install" on the whole tree, - # we must temporarily install *plpython3 dir as *plpython, - # since that is the subdirectory src/pl/Makefile knows about - mv "$dir" "${dir}2" - mv "${dir}3" "$dir" - done - - for dir in %python_subdirs; do - run_testsuite "$dir" - done - - for dir in %python_subdirs; do - # and clean up our mess - mv "$dir" "${dir}3" - mv "${dir}2" "${dir}" - done - - mv -f src/Makefile.global.save src/Makefile.global -%endif - 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 - PYTHON="${PYTHON-/usr/bin/python2}" \ - CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \ - --build=%{_build} \ - --host=%{_host} \ - --prefix=%prev_prefix \ - --disable-rpath \ -%ifarch riscv64 loongarch64 - --disable-spinlocks \ -%endif -%if %beta - --enable-debug \ - --enable-cassert \ -%endif -%if %icu - --with-icu \ -%endif -%if %plperl - --with-perl \ -%endif -%if %pltcl - --with-tcl \ -%endif - --with-tclconfig=%_libdir \ - --with-system-tzdata=/usr/share/zoneinfo \ - "$@" -} - -%if %plpython3 - export PYTHON=/usr/bin/python3 - upgrade_configure --with-python - for dir in %python_subdirs; do - # Previous version doesn't necessarily have this. - test -d "$dir" || continue - %make_build -C "$dir" all - - # save aside the only one file which we are interested here - cp "$dir"/*plpython3.so ./ - done - unset PYTHON - make distclean -%endif - - upgrade_configure \ -%if %plpython - --with-python -%endif - - make %{?_smp_mflags} all - make -C contrib %{?_smp_mflags} all - popd -%endif # %%upgrade - - -%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.%name-upgrade -%%postgresql_upgrade_prefix %prev_prefix -EOF -%endif - - -%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 - ln -sf ../../pgxs/src/test/regress/pg_regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress - 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 - -%if !%plpython -rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plpython2.so -rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpythonu* -rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpython2u* -%endif - -%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 %plpython -find_lang_bins plpython.lst plpython -%endif -%if %plpython3 -# plpython3 shares message files with plpython -find_lang_bins plpython3.lst plpython -%endif -%if %pltcl -find_lang_bins pltcl.lst pltcl -%endif -%endif - -%pre 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 server -%systemd_post %service_name - - -%preun server -%systemd_preun %service_name - - -%postun server -%systemd_postun_with_restart %service_name - - -%check -%if %runselftest -make -C postgresql-setup-%{setup_version} check -%endif - -# FILES sections. -%files -f main.lst -%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 -%{_libdir}/libpq.so.* -%endif - -%files docs -%doc *-US.pdf -%doc doc/html -%{_libdir}/pgsql/tutorial/ - - -%files 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 %{plpython} -%{_datadir}/pgsql/extension/jsonb_plpythonu* -%{_datadir}/pgsql/extension/jsonb_plpython2u* -%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 %plpython -%{_libdir}/pgsql/hstore_plpython2.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 %plpython -%{_libdir}/pgsql/jsonb_plpython2.so -%endif -%if %plpython3 -%{_libdir}/pgsql/jsonb_plpython3.so -%endif -%{_libdir}/pgsql/lo.so -%{_libdir}/pgsql/ltree.so -%if %plpython -%{_libdir}/pgsql/ltree_plpython2.so -%endif -%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/basebackup_to_shell.so -%{_libdir}/pgsql/basic_archive.so -%{_libdir}/pgsql/pg_walinspect.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 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 -%{_bindir}/postmaster -%dir %{_datadir}/pgsql -%{_datadir}/pgsql/*.sample -%dir %{_datadir}/pgsql/contrib -%dir %{_datadir}/pgsql/extension -%{_datadir}/pgsql/extension/plpgsql* -%{_datadir}/pgsql/fix-CVE-2024-4317.sql -%{_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.* -%{_mandir}/man1/postmaster.* -%{_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 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.%name - -%if ! %external_libpq -%files private-libs -%{_libdir}/libpq.so.* -%endif - -%if ! %external_libpq -%files private-devel -%{_bindir}/pg_config -%{_includedir}/libpq-events.h -%{_includedir}/libpq-fe.h -%{_includedir}/postgres_ext.h -%{_includedir}/pgsql/internal/*.h -%{_includedir}/pgsql/internal/libpq/pqcomm.h -%{_includedir}/libpq/*.h -%{_libdir}/pkgconfig/*.pc -%{_libdir}/libpq.so -%{_includedir}/pg_config*.h -%endif - -%files test-rpm-macros -%{_datadir}/postgresql-setup/postgresql_pkg_tests.sh -%{macrosdir}/macros.%name-test - - -%files static -%{_libdir}/libpgcommon.a -%{_libdir}/libpgport.a -%{_libdir}/libpgcommon_shlib.a -%{_libdir}/libpgport_shlib.a - - -%if %upgrade -%files 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 upgrade-devel -%{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin/pg_config -%{_libdir}/pgsql/postgresql-%{prevmajorversion}/include -%{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pkgconfig -%{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pgxs -%{macrosdir}/macros.%name-upgrade -%endif - -%if %llvmjit -%files llvmjit -%defattr(-,root,root) -%{_libdir}/pgsql/bitcode/* -%{_libdir}/pgsql/llvmjit.so -%{_libdir}/pgsql/llvmjit_types.bc -%endif - -%if %plperl -%files plperl -f plperl.lst -%{_datadir}/pgsql/extension/bool_plperl* -%{_datadir}/pgsql/extension/plperl* -%{_libdir}/pgsql/bool_plperl.so -%{_libdir}/pgsql/plperl.so -%endif - - -%if %pltcl -%files pltcl -f pltcl.lst -%{_datadir}/pgsql/extension/pltcl* -%{_libdir}/pgsql/pltcl.so -%endif - - -%if %plpython -%files plpython -f plpython.lst -%{_datadir}/pgsql/extension/plpython2* -%{_datadir}/pgsql/extension/plpythonu* -%{_libdir}/pgsql/plpython2.so -%endif - - -%if %plpython3 -%files plpython3 -f plpython3.lst -%{_datadir}/pgsql/extension/plpython3* -%{_libdir}/pgsql/plpython3.so -%endif - - -%if %test -%files test -%attr(-,postgres,postgres) %{_libdir}/pgsql/test -%endif - - -%changelog -* Sat Mar 15 2025 mahailiang - 15.12-2 -- add sw_64 support - -* Thu Feb 20 2025 Funda Wang - 15.12-1 -- update to 15.12 - -* Fri Feb 14 2025 Funda Wang - 15.11-1 -- update to 15.11 to fix CVE-2025-1094 - -* Thu Jan 16 2025 Funda Wang - 15.10-2 -- drop useless perl(:MODULE_COMPAT) requirement - -* Fri Nov 22 2024 Funda Wang - 15.10-1 -- update to 15.10 - -* Fri Nov 15 2024 Funda Wang - 15.9-1 -- update to 15.9 (CVE-2024-10976, CVE-2024-10977, CVE-2024-10978, CVE-2024-10979) - -* Fri Aug 09 2024 Funda Wang - 15.8-1 -- update to 15.8 (CVE-2024-7348) - -* Fri Mar 29 2024 xiejing - 15.6-1 -- update to 15.6 - -* Tue Nov 14 2023 dillon chen - 15.5-1 -- update to 15.5 - -* Fri Aug 11 2023 Funda Wang - 15.4-1 -- update to 15.4 - -* Tue Aug 8 2023 dillon chen - 15.3-1 -- update to 15.3 - -* Tue Aug 1 2023 dillon chen - 14.8-1 -- update to 14.8 - -* Thu Jul 27 2023 dillon chen - 13.11-1 -- update to 13.11 - -* Tue Apr 18 2023 Wenlong Zhang - 13.3-8 -- Fix build error for loongarch64 - -* Tue Mar 7 2023 dillon chen - 13.3-7 -- Fix issue: confilct between libpq-devel and postgresql-devel -- guess init spec from redhat -- change redhat spec:rm private package and add files to server-devel -- so add delete lines to Fix issue -- Next: write oe libpq and postgresql spec by myself - -* Tue Feb 14 2023 dillon chen - 13.3-7 -- patch 15,16 for openssl upgrade to 3.0 - -* Mon Aug 1 2022 bzhaoop - 13.3-6 -- Porting "Fix subtransaction test failed" from master branch -- Fri May 6 2022 caodongxia - 13.3-4 -- sync the same line with master - -* Fri Mar 11 2022 wangkai - 13.3-5 -- Fix CVE-2021-23214 CVE-2021-23222 - -* Tue Jan 18 2022 lvxiaoqian - 13.3-4 -- Disable spinlocks on RISC-V 64-bit (riscv64) -- Disable LLVM/Clang for riscv64 (fails tests) - -* Tue Aug 3 2021 bzhaoop - 13.3-3 -- Add the missed libpq.so file into postgresql-server-devel package. - -* Mon Jun 28 2021 bzhaoop - 13.3-2 -- Figure out the dependency by postgresql-odbc, refactor the package to fix - -* Thu Jun 17 2021 bzhaoop - 13.3-1 -- Package init for new version 13.3 - -* Fri Feb 26 2021 wangyue - 10.5-19 -- Fix CVE-2021-20229 - -* Tue Dec 8 2020 wangxiao - 10.5-18 -- Fix CVE-2020-25694 CVE-2020-25695 CVE-2020-25696 - -* Thu Sep 10 2020 yanglongkang - 10.5-17 -- Fix CVE-2020-14349 CVE-2020-14350 - -* Fri Jun 19 2020 cuibaobao - 10.5-16 -- Type: enhancement -- DESC: delete all about residual parse_upgrade_setup in postgresql-setup - -* Wed May 6 2020 cuibaobao - 10.5-15 -- Type:cve -- ID:CVE-2020-1720 -- SUG: NA -- DESC: fix CVE-2020-1720 - -* Tue Apr 08 2020 daiqianwen - 10.5-14 -- Type: enhancement -- DESC: add postgresql-test-rpm-macros - -* Tue Apr 07 2020 daiqianwen - 10.5-13 -- Type: enhancement -- DESC: delete unseless tarball - -* Tue Mar 10 2020 steven - 10.5-12 -- Type: enhancement -- DESC: remove python2 - -* Mon Mar 10 2020 yanzhihua - 10.5-11 -- Type: bug fix -- ID: #I1AHMH -- SUG: NA -- DESC: fix issue #I1AHMH - -* Mon Feb 3 2020 chenli 10.5-10 -- Type:cve -- ID:CVE-2019-10130 -- SUG: NA -- DESC: fix CVE-2019-10130 - -* Tue Jan 14 2020 openEuler Buildteam - 10.5-9 -- Type:enhancement -- ID:NA -- SUG:restart -- DESC: remove useless files - -* Mon Jan 13 2020 yanzhihua - 10.5-8 -- Type: enhancement -- ID: NA -- SUG: NA -- DESC: modify buildrequire - -* Tue Dec 24 2019 fengbing - 10.5-7 -- Type:cves -- ID:CVE-2019-10208 CVE-2018-16850 -- SUG:restart -- DESC: fix CVE-2019-10208 CVE-2018-16850 - -* Fri Nov 15 2019 yanzhihua - 10.5-6 -- Package init - diff --git a/postgresql.tmpfiles.d b/postgresql.tmpfiles.d deleted file mode 100644 index d8d960d75586991fa6d68b95d5c0a49c43e0d090..0000000000000000000000000000000000000000 --- a/postgresql.tmpfiles.d +++ /dev/null @@ -1 +0,0 @@ -d /var/run/postgresql 0755 postgres postgres - diff --git a/postgresql.yaml b/postgresql.yaml deleted file mode 100644 index 00bbaf050db91e87f0ad529e5c29027a1bf150ae..0000000000000000000000000000000000000000 --- a/postgresql.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version_control: NA -src_repo: NA -tag_prefix: NA -seperator: NA diff --git a/rpm-pgsql.patch b/rpm-pgsql.patch deleted file mode 100644 index aec64ac7aec751cdf589749c90d626ca5ce27c28..0000000000000000000000000000000000000000 --- a/rpm-pgsql.patch +++ /dev/null @@ -1,72 +0,0 @@ -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@ -