forked from pool/postgresql14
Compare commits
30 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 9f3b3eba35 | |||
| fa0b1388aa | |||
| 0ee7862009 | |||
| 5ab08be7f8 | |||
| 928e997b1a | |||
| d54d85f539 | |||
| f400de5d20 | |||
| e35085dbdd | |||
| fde4a13497 | |||
| 6f38c97ab6 | |||
| ef718a23cb | |||
| 1e46c8dea5 | |||
| d03b3d9b27 | |||
| 4f8e068564 | |||
| 9b97a7785f | |||
| 986d9d08ef | |||
| 200ccb2169 | |||
| 9c8647e685 | |||
| 7137b4082c | |||
| 1d1f6f7fba | |||
| 0324f4d39a | |||
| 351ea6989c | |||
| 9d98757c2b | |||
| b212f7c418 | |||
| 18342ee243 | |||
| b7706c3e7c | |||
| 27243811a9 | |||
| 7cc5843c21 | |||
| 50a363db7c | |||
| 3ab629210f |
41
llvm-21-aarch64.patch
Normal file
41
llvm-21-aarch64.patch
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
From 0dceba21d74f01e63aa690879b44808bbb74a9c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Munro <tmunro@postgresql.org>
|
||||||
|
Date: Sat, 22 Nov 2025 20:51:16 +1300
|
||||||
|
Subject: [PATCH] jit: Adjust AArch64-only code for LLVM 21.
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
LLVM 21 changed the arguments of RTDyldObjectLinkingLayer's
|
||||||
|
constructor, breaking compilation with the backported
|
||||||
|
SectionMemoryManager from commit 9044fc1d.
|
||||||
|
|
||||||
|
https://github.com/llvm/llvm-project/commit/cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
|
||||||
|
|
||||||
|
Backpatch-through: 14
|
||||||
|
Author: Holger Hoffstätte <holger@applied-asynchrony.com>
|
||||||
|
Reviewed-by: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
|
||||||
|
Discussion: https://postgr.es/m/d25e6e4a-d1b4-84d3-2f8a-6c45b975f53d%40applied-asynchrony.com
|
||||||
|
---
|
||||||
|
src/backend/jit/llvm/llvmjit_wrap.cpp | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp
|
||||||
|
index da850d67ab647..c31a57b8563e8 100644
|
||||||
|
--- a/src/backend/jit/llvm/llvmjit_wrap.cpp
|
||||||
|
+++ b/src/backend/jit/llvm/llvmjit_wrap.cpp
|
||||||
|
@@ -53,7 +53,14 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(llvm::orc::ObjectLayer, LLVMOrcObjectLayerRef
|
||||||
|
LLVMOrcObjectLayerRef
|
||||||
|
LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(LLVMOrcExecutionSessionRef ES)
|
||||||
|
{
|
||||||
|
+#if LLVM_VERSION_MAJOR >= 21
|
||||||
|
+ return wrap(new llvm::orc::RTDyldObjectLinkingLayer(
|
||||||
|
+ *unwrap(ES), [](const llvm::MemoryBuffer&) {
|
||||||
|
+ return std::make_unique<llvm::backport::SectionMemoryManager>(nullptr, true);
|
||||||
|
+ }));
|
||||||
|
+#else
|
||||||
|
return wrap(new llvm::orc::RTDyldObjectLinkingLayer(
|
||||||
|
*unwrap(ES), [] { return std::make_unique<llvm::backport::SectionMemoryManager>(nullptr, true); }));
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:6118d08f9ddcc1bd83cf2b7cc74d3b583bdcec2f37e6245a8ac003b8faa80923
|
|
||||||
size 22390865
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
6118d08f9ddcc1bd83cf2b7cc74d3b583bdcec2f37e6245a8ac003b8faa80923 postgresql-14.12.tar.bz2
|
|
||||||
3
postgresql-14.20.tar.bz2
Normal file
3
postgresql-14.20.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7527f10f1640761bc280ad97d105d286d0cf72e54d36d78cf68e5e5f752b646b
|
||||||
|
size 22525029
|
||||||
1
postgresql-14.20.tar.bz2.sha256
Normal file
1
postgresql-14.20.tar.bz2.sha256
Normal file
@@ -0,0 +1 @@
|
|||||||
|
7527f10f1640761bc280ad97d105d286d0cf72e54d36d78cf68e5e5f752b646b postgresql-14.20.tar.bz2
|
||||||
@@ -1,3 +1,158 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 12 08:12:36 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||||
|
|
||||||
|
- Fix build on aarch64 with upstream commit 0dceba2:
|
||||||
|
* llvm-21-aarch64.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 24 16:49:27 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Fix build with uring for post SLE15 code streams.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 14 15:43:43 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Use %product_libs_llvm_ver to determine the LLVM version.
|
||||||
|
- Remove conditionals for obsolete PostgreSQL releases.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 12 15:35:35 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.20:
|
||||||
|
* https://www.postgresql.org/about/news/p-3171/
|
||||||
|
* https://www.postgresql.org/docs/release/14.20/
|
||||||
|
* bsc#1253332, CVE-2025-12817: Missing check for CREATE
|
||||||
|
privileges on the schema in CREATE STATISTICS allowed table
|
||||||
|
owners to create statistics in any schema, potentially leading
|
||||||
|
to unexpected naming conflicts.
|
||||||
|
* bsc#1253333, CVE-2025-12818: Several places in libpq were not
|
||||||
|
sufficiently careful about computing the required size of a
|
||||||
|
memory allocation. Sufficiently large inputs could cause
|
||||||
|
integer overflow, resulting in an undersized buffer, which
|
||||||
|
would then lead to writing past the end of the buffer.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 25 14:13:20 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Sync spec file from version 18.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 14 19:53:41 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||||
|
|
||||||
|
- Upgrade to 14.19:
|
||||||
|
* https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/
|
||||||
|
* https://www.postgresql.org/docs/release/14.19/
|
||||||
|
|
||||||
|
Security Issues
|
||||||
|
* CVE-2025-8713: PostgreSQL optimizer statistics can expose
|
||||||
|
sampled data within a view, partition, or child table
|
||||||
|
(boo#1248120)
|
||||||
|
* CVE-2025-8714: PostgreSQL pg_dump lets superuser of origin
|
||||||
|
server execute arbitrary code in psql client (boo#1248122)
|
||||||
|
* CVE-2025-8715: PostgreSQL pg_dump newline in object name
|
||||||
|
executes arbitrary code in psql client and in restore target
|
||||||
|
server (boo#1248119)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 9 11:54:41 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.18:
|
||||||
|
* bsc#1242931, CVE-2025-4207: postgresql: PostgreSQL GB18030
|
||||||
|
encoding validation can read one byte past end of allocation
|
||||||
|
for text that fails validation.
|
||||||
|
* https://www.postgresql.org/docs/release/14.18/
|
||||||
|
* https://www.postgresql.org/about/news/p-3072/
|
||||||
|
- Add postresql-pg_config_paths.patch to fix a race condition
|
||||||
|
while generating pg_config_paths.h.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 18 11:36:44 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.17:
|
||||||
|
* Improve behavior of libpq's quoting functions:
|
||||||
|
The changes made for CVE-2025-1094 had one serious oversight:
|
||||||
|
PQescapeLiteral() and PQescapeIdentifier() failed to honor
|
||||||
|
their string length parameter, instead always reading to the
|
||||||
|
input string's trailing null. This resulted in including
|
||||||
|
unwanted text in the output, if the caller intended to
|
||||||
|
truncate the string via the length parameter. With very bad
|
||||||
|
luck it could cause a crash due to reading off the end of
|
||||||
|
memory.
|
||||||
|
In addition, modify all these quoting functions so that when
|
||||||
|
invalid encoding is detected, an invalid sequence is
|
||||||
|
substituted for just the first byte of the presumed
|
||||||
|
character, not all of it. This reduces the risk of problems
|
||||||
|
if a calling application performs additional processing on
|
||||||
|
the quoted string.
|
||||||
|
* Fix small memory leak in pg_createsubscriber.
|
||||||
|
* https://www.postgresql.org/docs/release/14.17/
|
||||||
|
* https://www.postgresql.org/about/news/p-3018/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 11 14:27:58 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.16:
|
||||||
|
* bsc#1237093, CVE-2025-1094: Harden PQescapeString and allied
|
||||||
|
functions against invalidly-encoded input strings.
|
||||||
|
* obsoletes postgresql-tzdata2025a.patch
|
||||||
|
* https://www.postgresql.org/docs/release/14.16/
|
||||||
|
* https://www.postgresql.org/about/news/-3015/
|
||||||
|
- Disable LLVM JIT on loongarch64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 28 12:23:29 UTC 2025 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Fix build, add postgresql-tzdata2025a.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 19 14:20:46 UTC 2024 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.15:
|
||||||
|
* Repair ABI break for extensions that work with struct
|
||||||
|
ResultRelInfo.
|
||||||
|
* Restore functionality of ALTER {ROLE|DATABASE} SET role
|
||||||
|
* Fix cases where a logical replication slot's restart_lsn could
|
||||||
|
go backwards.
|
||||||
|
* Avoid deleting still-needed WAL files during pg_rewind.
|
||||||
|
* Count index scans in contrib/bloom indexes in the statistics
|
||||||
|
views, such as the pg_stat_user_indexes.idx_scan counter.
|
||||||
|
* Fix crash when checking to see if an index's opclass options
|
||||||
|
have changed.
|
||||||
|
* Avoid assertion failure caused by disconnected NFA sub-graphs
|
||||||
|
in regular expression parsing.
|
||||||
|
* https://www.postgresql.org/about/news/p-2965/
|
||||||
|
* https://www.postgresql.org/docs/release/14.15/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 13 13:52:49 UTC 2024 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Upgrade to 14.14:
|
||||||
|
* CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as
|
||||||
|
dependent on the calling role when RLS applies to a
|
||||||
|
non-top-level table reference.
|
||||||
|
* CVE-2024-10977, bsc#1233325: Make libpq discard error messages
|
||||||
|
received during SSL or GSS protocol negotiation.
|
||||||
|
* CVE-2024-10978, bsc#1233326: Fix unintended interactions
|
||||||
|
between SET SESSION AUTHORIZATION and SET ROLE
|
||||||
|
* CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from
|
||||||
|
changing environment variables.
|
||||||
|
* https://www.postgresql.org/about/news/p-2955/
|
||||||
|
* https://www.postgresql.org/docs/release/14.14/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 5 13:56:30 UTC 2024 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
- Sync spec file from postgresql17.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 10 14:13:04 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
|
||||||
|
|
||||||
|
- Upgrade to 14.13 (bsc#1229013):
|
||||||
|
* bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement
|
||||||
|
during pg_dump executes arbitrary SQL
|
||||||
|
* https://www.postgresql.org/about/news/p-2910/
|
||||||
|
* https://www.postgresql.org/docs/release/14.13/
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 8 12:07:46 UTC 2024 - Reinhard Max <max@suse.com>
|
Wed May 8 12:07:46 UTC 2024 - Reinhard Max <max@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package postgresql14
|
# spec file for package postgresql14
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,11 +16,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define pgversion 14.12
|
|
||||||
%define pgmajor 14
|
%define pgmajor 14
|
||||||
%define buildlibs 0
|
%define pgminor 20
|
||||||
%define tarversion %{pgversion}
|
|
||||||
%define latest_supported_llvm_ver 18
|
|
||||||
|
|
||||||
### CUT HERE ###
|
### CUT HERE ###
|
||||||
%define pgname postgresql%pgmajor
|
%define pgname postgresql%pgmajor
|
||||||
@@ -38,12 +35,23 @@
|
|||||||
%define pgextensiondir %pgdatadir/extension
|
%define pgextensiondir %pgdatadir/extension
|
||||||
%define pgcontribdir %pgdatadir/contrib
|
%define pgcontribdir %pgdatadir/contrib
|
||||||
%define pgmandir %_mandir
|
%define pgmandir %_mandir
|
||||||
|
%define pgversion %{pgmajor}.%{pgminor}
|
||||||
|
%define tarversion %{pgversion}%{?prerelease}
|
||||||
|
|
||||||
|
%if %pgmajor == 18 || ( %pgmajor == 17 && 0%{?sle_version} == 120200 )
|
||||||
|
# We still build the libs for PG 17 on SLE-12-SP2, because
|
||||||
|
# newer PG versions will only be released for SP5.
|
||||||
|
%define buildlibs 1
|
||||||
|
%else
|
||||||
|
%define buildlibs 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%define requires_file() %( readlink -f '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' -f | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
|
%define requires_file() %( readlink -f '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' -f | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
|
||||||
|
|
||||||
%if "@BUILD_FLAVOR@" == "mini"
|
%if "@BUILD_FLAVOR@" == "mini"
|
||||||
%define devel devel-mini
|
%define devel devel-mini
|
||||||
%define mini 1
|
%define mini 1
|
||||||
|
%define buildlibs 1
|
||||||
Name: %pgname-mini
|
Name: %pgname-mini
|
||||||
%else
|
%else
|
||||||
%define devel devel
|
%define devel devel
|
||||||
@@ -51,20 +59,29 @@ Name: %pgname-mini
|
|||||||
Name: %pgname
|
Name: %pgname
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Use Python 2 for for PostgreSQL 10 on SLE12.
|
# Use Python 3 for everything.
|
||||||
# Use Python 3 for everything else.
|
|
||||||
%if 0%{?is_opensuse} || 0%{?sle_version} >= 150000 || %pgmajor > 10
|
|
||||||
%define python python3
|
%define python python3
|
||||||
%else
|
|
||||||
%define python python
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %pgmajor >= 17
|
%if %pgmajor >= 17
|
||||||
%bcond_with dreived
|
%bcond_with derived
|
||||||
%else
|
%else
|
||||||
%bcond_without derived
|
%bcond_without derived
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %pgmajor >= 18 && 0%{?suse_version} >= 1500
|
||||||
|
%bcond_without curl
|
||||||
|
%if 0%{?sle_version} >= 150400 || 0%{?suse_version} >= 1600
|
||||||
|
%bcond_without uring
|
||||||
|
%else
|
||||||
|
%bcond_with uring
|
||||||
|
%endif
|
||||||
|
%bcond_without numa
|
||||||
|
%else
|
||||||
|
%bcond_with curl
|
||||||
|
%bcond_with uring
|
||||||
|
%bcond_with numa
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1500
|
%if 0%{?suse_version} >= 1500
|
||||||
%bcond_without liblz4
|
%bcond_without liblz4
|
||||||
%endif
|
%endif
|
||||||
@@ -73,6 +90,12 @@ Name: %pgname
|
|||||||
%bcond_without libzstd
|
%bcond_without libzstd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{without derived}
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
|
BuildRequires: flex
|
||||||
|
BuildRequires: perl
|
||||||
|
%endif
|
||||||
%if %mini
|
%if %mini
|
||||||
%bcond_with selinux
|
%bcond_with selinux
|
||||||
%if %pgmajor >= 16
|
%if %pgmajor >= 16
|
||||||
@@ -94,12 +117,6 @@ BuildRequires: zlib-devel
|
|||||||
%if %{with liblz4}
|
%if %{with liblz4}
|
||||||
BuildRequires: pkgconfig(liblz4)
|
BuildRequires: pkgconfig(liblz4)
|
||||||
%endif
|
%endif
|
||||||
%if %{without derived}
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: perl
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with libzstd}
|
%if %{with libzstd}
|
||||||
BuildRequires: pkgconfig(libzstd)
|
BuildRequires: pkgconfig(libzstd)
|
||||||
@@ -112,11 +129,12 @@ BuildRequires: %libecpg
|
|||||||
BuildRequires: %libpq
|
BuildRequires: %libpq
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1500 && %pgmajor >= 11
|
%if 0%{?suse_version} >= 1500
|
||||||
%ifarch riscv64
|
%ifarch riscv64 loongarch64
|
||||||
%bcond_with llvm
|
%bcond_with llvm
|
||||||
%else
|
%else
|
||||||
%bcond_without llvm
|
%bcond_without llvm
|
||||||
|
%{!?product_libs_llvm_ver: %global product_libs_llvm_ver 15}
|
||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%bcond_with llvm
|
%bcond_with llvm
|
||||||
@@ -129,12 +147,6 @@ BuildRequires: %libpq
|
|||||||
%bcond_with check
|
%bcond_with check
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %pgmajor >= 11 || %mini
|
|
||||||
%bcond_without server_devel
|
|
||||||
%else
|
|
||||||
%bcond_with server_devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
%if %{with icu}
|
%if %{with icu}
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
@@ -143,21 +155,34 @@ BuildRequires: libicu-devel
|
|||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
%endif
|
%endif
|
||||||
%if %{with llvm}
|
%if %{with llvm}
|
||||||
|
BuildRequires: clang%{product_libs_llvm_ver}
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
%if 0%{?product_libs_llvm_ver} > %{latest_supported_llvm_ver}
|
BuildRequires: llvm%{product_libs_llvm_ver}-devel
|
||||||
BuildRequires: clang%{latest_supported_llvm_ver}
|
|
||||||
BuildRequires: llvm%{latest_supported_llvm_ver}-devel
|
|
||||||
%else
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: llvm-devel
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: libxslt-devel
|
BuildRequires: libxslt-devel
|
||||||
BuildRequires: openldap2-devel
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
|
%if 0%{?suse_version} >= 1500
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: (pkgconfig(ldap) or openldap2-devel)
|
||||||
|
%else
|
||||||
|
%if 0%{?sle_version} >= 120400
|
||||||
|
BuildRequires: libopenssl-1_1-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: openldap2-devel
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(krb5)
|
BuildRequires: pkgconfig(krb5)
|
||||||
BuildRequires: pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
|
%if %{with curl}
|
||||||
|
BuildRequires: pkgconfig(libcurl)
|
||||||
|
%endif
|
||||||
|
%if %{with uring}
|
||||||
|
BuildRequires: pkgconfig(liburing)
|
||||||
|
%endif
|
||||||
|
%if %{with numa}
|
||||||
|
BuildRequires: pkgconfig(numa)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(systemd)
|
BuildRequires: pkgconfig(systemd)
|
||||||
#!BuildIgnore: %pgname
|
#!BuildIgnore: %pgname
|
||||||
#!BuildIgnore: %pgname-server
|
#!BuildIgnore: %pgname-server
|
||||||
@@ -185,6 +210,7 @@ Source1: https://ftp.postgresql.org/pub/source/v%{tarversion}/postgresql-
|
|||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
Source17: postgresql-rpmlintrc
|
Source17: postgresql-rpmlintrc
|
||||||
Patch1: postgresql-conf.patch
|
Patch1: postgresql-conf.patch
|
||||||
|
Patch2: postresql-pg_config_paths.patch
|
||||||
# PL/Perl needs to be linked with rpath (bsc#578053)
|
# PL/Perl needs to be linked with rpath (bsc#578053)
|
||||||
Patch4: postgresql-plperl-keep-rpath.patch
|
Patch4: postgresql-plperl-keep-rpath.patch
|
||||||
Patch8: postgresql-testsuite-keep-results-file.patch
|
Patch8: postgresql-testsuite-keep-results-file.patch
|
||||||
@@ -192,6 +218,8 @@ Patch9: postgresql-var-run-socket.patch
|
|||||||
%if %{with llvm}
|
%if %{with llvm}
|
||||||
Patch10: postgresql-llvm-optional.patch
|
Patch10: postgresql-llvm-optional.patch
|
||||||
Patch11: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch
|
Patch11: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch
|
||||||
|
# PATCH-FIX-UPSTREAM - commit 0dceba2
|
||||||
|
Patch12: llvm-21-aarch64.patch
|
||||||
%endif
|
%endif
|
||||||
URL: https://www.postgresql.org/
|
URL: https://www.postgresql.org/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
@@ -279,13 +307,9 @@ Requires: postgresql-devel-noarch >= %pgmajor
|
|||||||
Provides: postgresql-devel-exclusive = %pgmajor
|
Provides: postgresql-devel-exclusive = %pgmajor
|
||||||
Conflicts: postgresql-devel-exclusive < %pgmajor
|
Conflicts: postgresql-devel-exclusive < %pgmajor
|
||||||
|
|
||||||
%if %{with server_devel}
|
|
||||||
%package server-devel
|
%package server-devel
|
||||||
Summary: PostgreSQL server development header files and utilities
|
Summary: PostgreSQL server development header files and utilities
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
%else
|
|
||||||
Provides: %pgname-server-devel = %version-%release
|
|
||||||
%endif
|
|
||||||
Provides: postgresql-server-devel = %version-%release
|
Provides: postgresql-server-devel = %version-%release
|
||||||
Provides: postgresql-server-devel-implementation = %version-%release
|
Provides: postgresql-server-devel-implementation = %version-%release
|
||||||
Requires(post): postgresql-server-devel-noarch >= %pgmajor
|
Requires(post): postgresql-server-devel-noarch >= %pgmajor
|
||||||
@@ -304,11 +328,13 @@ Requires: pkgconfig(krb5)
|
|||||||
%if %{with selinux}
|
%if %{with selinux}
|
||||||
Requires: libselinux-devel
|
Requires: libselinux-devel
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with numa}
|
||||||
|
Requires: pkgconfig(numa)
|
||||||
|
%endif
|
||||||
%if %{with llvm}
|
%if %{with llvm}
|
||||||
Recommends: %pgname-llvmjit-devel = %version-%release
|
Recommends: %pgname-llvmjit-devel = %version-%release
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with server_devel}
|
|
||||||
%description server-devel
|
%description server-devel
|
||||||
PostgreSQL is an advanced object-relational database management system
|
PostgreSQL is an advanced object-relational database management system
|
||||||
that supports an extended subset of the SQL standard, including
|
that supports an extended subset of the SQL standard, including
|
||||||
@@ -318,7 +344,6 @@ types and functions.
|
|||||||
This package contains the header files and libraries needed to compile
|
This package contains the header files and libraries needed to compile
|
||||||
C extensions that link into the PostgreSQL server. For building client
|
C extensions that link into the PostgreSQL server. For building client
|
||||||
applications, see the postgresql%pgmajor-devel package.
|
applications, see the postgresql%pgmajor-devel package.
|
||||||
%endif
|
|
||||||
|
|
||||||
%description -n %pgname-%devel
|
%description -n %pgname-%devel
|
||||||
PostgreSQL is an advanced object-relational database management system
|
PostgreSQL is an advanced object-relational database management system
|
||||||
@@ -520,12 +545,14 @@ included in the postgresql-server package.
|
|||||||
# confuse PostgreSQL's build system
|
# confuse PostgreSQL's build system
|
||||||
touch -r configure tmp
|
touch -r configure tmp
|
||||||
%patch -P 1
|
%patch -P 1
|
||||||
|
%patch -P 2
|
||||||
%patch -P 4
|
%patch -P 4
|
||||||
%patch -P 8
|
%patch -P 8
|
||||||
%patch -P 9
|
%patch -P 9
|
||||||
%if %{with llvm}
|
%if %{with llvm}
|
||||||
%patch -P 10
|
%patch -P 10
|
||||||
%patch -P 11
|
%patch -P 11
|
||||||
|
%patch -P 12 -p1
|
||||||
%endif
|
%endif
|
||||||
touch -r tmp configure
|
touch -r tmp configure
|
||||||
rm tmp
|
rm tmp
|
||||||
@@ -558,6 +585,15 @@ PACKAGE_TARNAME=%pgname %configure \
|
|||||||
--with-uuid=e2fs \
|
--with-uuid=e2fs \
|
||||||
--with-libxml \
|
--with-libxml \
|
||||||
--with-libxslt \
|
--with-libxslt \
|
||||||
|
%if %{with curl}
|
||||||
|
--with-libcurl \
|
||||||
|
%endif
|
||||||
|
%if %{with uring}
|
||||||
|
--with-liburing \
|
||||||
|
%endif
|
||||||
|
%if %{with numa}
|
||||||
|
--with-libnuma \
|
||||||
|
%endif
|
||||||
%if %{with liblz4}
|
%if %{with liblz4}
|
||||||
--with-lz4 \
|
--with-lz4 \
|
||||||
%endif
|
%endif
|
||||||
@@ -610,6 +646,7 @@ VLANG=%pgmajor
|
|||||||
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/include install
|
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/include install
|
||||||
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/interfaces install
|
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/interfaces install
|
||||||
rm -rf %buildroot%pgincludedir/server
|
rm -rf %buildroot%pgincludedir/server
|
||||||
|
rm -rf %buildroot%pgdatadir
|
||||||
%else
|
%else
|
||||||
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname install install-docs
|
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname install install-docs
|
||||||
%if 0
|
%if 0
|
||||||
@@ -638,9 +675,8 @@ ls %buildroot%pglibdir/lib* |
|
|||||||
mv %buildroot%pglibdir/pkgconfig %buildroot%_libdir
|
mv %buildroot%pglibdir/pkgconfig %buildroot%_libdir
|
||||||
find %buildroot%_libdir/pkgconfig -type f -exec sed -i 's, -L%pglibdir,,' '{}' +
|
find %buildroot%_libdir/pkgconfig -type f -exec sed -i 's, -L%pglibdir,,' '{}' +
|
||||||
|
|
||||||
# Don't ship static libraries,
|
# Don't ship static libraries, some of then are needed, though.
|
||||||
# libpgport.a and libpgcommon.a are needed, though.
|
rm -f $(ls %buildroot/%_libdir/*.a %buildroot%pglibdir/*.a | grep -F -v -e libpgport.a -e libpgcommon.a -e libpgfeutils.a)
|
||||||
rm -f $(ls %buildroot/%_libdir/*.a %buildroot%pglibdir/*.a | grep -F -v -e libpgport.a -e libpgcommon.a)
|
|
||||||
|
|
||||||
%if !%mini
|
%if !%mini
|
||||||
#
|
#
|
||||||
@@ -759,7 +795,7 @@ sed -i '/^LIBS = /s/= .*/=/' %buildroot/%pglibdir/pgxs/src/Makefile.global
|
|||||||
|
|
||||||
# Make sure we can also link agaist newer versions
|
# Make sure we can also link agaist newer versions
|
||||||
pushd %buildroot%_libdir
|
pushd %buildroot%_libdir
|
||||||
for f in *.so; do
|
for f in $( find -type l -name \*.so ) ; do
|
||||||
ln -sf $f.? $f
|
ln -sf $f.? $f
|
||||||
done
|
done
|
||||||
%if 0
|
%if 0
|
||||||
@@ -772,8 +808,6 @@ done
|
|||||||
%endif
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
mkdir -p %buildroot%pgmandir/man1
|
|
||||||
cp -a doc/src/sgml/man1/ecpg.1 %buildroot%pgmandir/man1/ecpg.1pg%pgmajor
|
|
||||||
%find_lang ecpg-$VLANG devel.files
|
%find_lang ecpg-$VLANG devel.files
|
||||||
# The devel subpackage is exclusive across versions
|
# The devel subpackage is exclusive across versions
|
||||||
# and not handled by update-alternatives.
|
# and not handled by update-alternatives.
|
||||||
@@ -784,17 +818,15 @@ mv %buildroot%pgbindir/ecpg %buildroot%_bindir/ecpg
|
|||||||
ln -s %pgbindir/pg_config %buildroot%_bindir/pg_config
|
ln -s %pgbindir/pg_config %buildroot%_bindir/pg_config
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{without server_devel}
|
|
||||||
cat server-devel.files >> devel.files
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build up the file lists for the libpq and libecpg packages
|
# Build up the file lists for the libpq and libecpg packages
|
||||||
cat > libpq.files <<EOF
|
cat > libpq.files <<EOF
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
%if !%mini
|
||||||
%dir %pgdatadir
|
%dir %pgdatadir
|
||||||
%pgdatadir/pg_service.conf.sample
|
%pgdatadir/pg_service.conf.sample
|
||||||
|
%endif
|
||||||
EOF
|
EOF
|
||||||
find %buildroot -name 'libpq*.so.*' -printf '/%%P\n' >> libpq.files
|
find %buildroot \( -name 'libpq*.so.*' -o -name 'libpq-oauth*.so' \) -printf '/%%P\n' >> libpq.files
|
||||||
%find_lang libpq5-$VLANG libpq.files
|
%find_lang libpq5-$VLANG libpq.files
|
||||||
|
|
||||||
cat > libecpg.files <<EOF
|
cat > libecpg.files <<EOF
|
||||||
@@ -816,13 +848,11 @@ awk -v P=%buildroot '/^(%lang|[^%])/{print P $NF}' libpq.files libecpg.files | x
|
|||||||
%postun -n %pgname-%devel
|
%postun -n %pgname-%devel
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%if %{with server_devel}
|
|
||||||
%post server-devel
|
%post server-devel
|
||||||
/usr/share/postgresql/install-alternatives %pgmajor
|
/usr/share/postgresql/install-alternatives %pgmajor
|
||||||
|
|
||||||
%postun server-devel
|
%postun server-devel
|
||||||
/usr/share/postgresql/install-alternatives %pgmajor
|
/usr/share/postgresql/install-alternatives %pgmajor
|
||||||
%endif
|
|
||||||
|
|
||||||
%if !%mini
|
%if !%mini
|
||||||
|
|
||||||
@@ -976,17 +1006,16 @@ fi
|
|||||||
%dir %pgbindir
|
%dir %pgbindir
|
||||||
%_bindir/ecpg
|
%_bindir/ecpg
|
||||||
%_libdir/pkgconfig/*
|
%_libdir/pkgconfig/*
|
||||||
%_libdir/lib*.so
|
%_libdir/libecpg.so
|
||||||
|
%_libdir/libecpg_compat.so
|
||||||
|
%_libdir/libpgtypes.so
|
||||||
|
%_libdir/libpq.so
|
||||||
%pgincludedir
|
%pgincludedir
|
||||||
%if %{with server_devel}
|
|
||||||
%exclude %pgincludedir/server
|
%exclude %pgincludedir/server
|
||||||
%endif
|
|
||||||
%doc %pgmandir/man1/ecpg.1*
|
|
||||||
|
|
||||||
%if !%mini
|
%if !%mini
|
||||||
%if %{with server_devel}
|
%doc %pgmandir/man1/ecpg.1*
|
||||||
%files server-devel -f server-devel.files
|
%files server-devel -f server-devel.files
|
||||||
%endif
|
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%ghost %_bindir/pg_config
|
%ghost %_bindir/pg_config
|
||||||
%pgbindir/pg_config
|
%pgbindir/pg_config
|
||||||
|
|||||||
35
postresql-pg_config_paths.patch
Normal file
35
postresql-pg_config_paths.patch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
--- src/port/Makefile.orig
|
||||||
|
+++ src/port/Makefile
|
||||||
|
@@ -145,18 +145,20 @@ path_srv.o: path.c pg_config_paths.h
|
||||||
|
# because many of these values come from makefiles and are not
|
||||||
|
# available to configure.
|
||||||
|
pg_config_paths.h: $(top_builddir)/src/Makefile.global
|
||||||
|
- echo "#define PGBINDIR \"$(bindir)\"" >$@
|
||||||
|
- echo "#define PGSHAREDIR \"$(datadir)\"" >>$@
|
||||||
|
- echo "#define SYSCONFDIR \"$(sysconfdir)\"" >>$@
|
||||||
|
- echo "#define INCLUDEDIR \"$(includedir)\"" >>$@
|
||||||
|
- echo "#define PKGINCLUDEDIR \"$(pkgincludedir)\"" >>$@
|
||||||
|
- echo "#define INCLUDEDIRSERVER \"$(includedir_server)\"" >>$@
|
||||||
|
- echo "#define LIBDIR \"$(libdir)\"" >>$@
|
||||||
|
- echo "#define PKGLIBDIR \"$(pkglibdir)\"" >>$@
|
||||||
|
- echo "#define LOCALEDIR \"$(localedir)\"" >>$@
|
||||||
|
- echo "#define DOCDIR \"$(docdir)\"" >>$@
|
||||||
|
- echo "#define HTMLDIR \"$(htmldir)\"" >>$@
|
||||||
|
- echo "#define MANDIR \"$(mandir)\"" >>$@
|
||||||
|
+ T=`mktemp -p .`; \
|
||||||
|
+ echo "#define PGBINDIR \"$(bindir)\"" >>$$T; \
|
||||||
|
+ echo "#define PGSHAREDIR \"$(datadir)\"" >>$$T; \
|
||||||
|
+ echo "#define SYSCONFDIR \"$(sysconfdir)\"" >>$$T; \
|
||||||
|
+ echo "#define INCLUDEDIR \"$(includedir)\"" >>$$T; \
|
||||||
|
+ echo "#define PKGINCLUDEDIR \"$(pkgincludedir)\"" >>$$T; \
|
||||||
|
+ echo "#define INCLUDEDIRSERVER \"$(includedir_server)\"" >>$$T; \
|
||||||
|
+ echo "#define LIBDIR \"$(libdir)\"" >>$$T; \
|
||||||
|
+ echo "#define PKGLIBDIR \"$(pkglibdir)\"" >>$$T; \
|
||||||
|
+ echo "#define LOCALEDIR \"$(localedir)\"" >>$$T; \
|
||||||
|
+ echo "#define DOCDIR \"$(docdir)\"" >>$$T; \
|
||||||
|
+ echo "#define HTMLDIR \"$(htmldir)\"" >>$$T; \
|
||||||
|
+ echo "#define MANDIR \"$(mandir)\"" >>$$T; \
|
||||||
|
+ mv $$T $@
|
||||||
|
|
||||||
|
clean distclean maintainer-clean:
|
||||||
|
rm -f libpgport.a libpgport_shlib.a libpgport_srv.a
|
||||||
Reference in New Issue
Block a user