Compare commits
12 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| f31f832f86 | |||
| 115fbcbf19 | |||
| 9aa05960bf | |||
| 1aa0a4abd3 | |||
| fa757f020d | |||
| 6f103c069e | |||
| d8f91244ee | |||
| e21a28b081 | |||
| de0a3f2394 | |||
| 054bce9cc1 | |||
| d4a4dba30c | |||
| d2064b24dd |
@@ -1,3 +0,0 @@
|
||||
<multibuild>
|
||||
<package>mini</package>
|
||||
</multibuild>
|
||||
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
|
||||
BIN
postgresql-17.5.tar.bz2
LFS
BIN
postgresql-17.5.tar.bz2
LFS
Binary file not shown.
@@ -1 +0,0 @@
|
||||
fcb7ab38e23b264d1902cb25e6adafb4525a6ebcbd015434aeef9eda80f528d8 postgresql-17.5.tar.bz2
|
||||
3
postgresql-17.7.tar.bz2
Normal file
3
postgresql-17.7.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5
|
||||
size 21646334
|
||||
1
postgresql-17.7.tar.bz2.sha256
Normal file
1
postgresql-17.7.tar.bz2.sha256
Normal file
@@ -0,0 +1 @@
|
||||
ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5 postgresql-17.7.tar.bz2
|
||||
@@ -1,3 +1,63 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 12 07:56:41 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Fix build on aarch64 with upstream commit 0dceba2:
|
||||
* llvm-21-aarch64.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 24 16:32:47 UTC 2025 - Reinhard Max <max@suse.com>
|
||||
|
||||
- Fix build with uring for post SLE15 code streams.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 14 17:07:50 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:22:22 UTC 2025 - Reinhard Max <max@suse.com>
|
||||
|
||||
- Update to 17.7:
|
||||
* https://www.postgresql.org/about/news/p-3171/
|
||||
* https://www.postgresql.org/docs/release/17.7/
|
||||
* 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 4 15:02:24 UTC 2025 - Reinhard Max <max@suse.com>
|
||||
|
||||
- Sync spec file with version 18.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 24 00:44:56 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- switch library to pg 18
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 14 19:50:42 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 17.6
|
||||
* https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/
|
||||
* https://www.postgresql.org/docs/release/17.6/
|
||||
|
||||
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 09:51:40 UTC 2025 - Reinhard Max <max@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package postgresql17
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,13 +16,8 @@
|
||||
#
|
||||
|
||||
|
||||
%define pgversion 17.5
|
||||
%define pgmajor 17
|
||||
%define buildlibs 1
|
||||
%define tarversion %{pgversion}
|
||||
%define oldest_supported_llvm_ver 10
|
||||
# To be able to use cmake(LLVM) < ...
|
||||
%define latest_supported_llvm_ver_plus_one 19
|
||||
%define pgminor 7
|
||||
|
||||
### CUT HERE ###
|
||||
%define pgname postgresql%pgmajor
|
||||
@@ -40,6 +35,16 @@
|
||||
%define pgextensiondir %pgdatadir/extension
|
||||
%define pgcontribdir %pgdatadir/contrib
|
||||
%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")
|
||||
|
||||
@@ -54,13 +59,8 @@ Name: %pgname-mini
|
||||
Name: %pgname
|
||||
%endif
|
||||
|
||||
# Use Python 2 for for PostgreSQL 10 on SLE12.
|
||||
# Use Python 3 for everything else.
|
||||
%if 0%{?is_opensuse} || 0%{?sle_version} >= 150000 || %pgmajor > 10
|
||||
# Use Python 3 for everything.
|
||||
%define python python3
|
||||
%else
|
||||
%define python python
|
||||
%endif
|
||||
|
||||
%if %pgmajor >= 17
|
||||
%bcond_with derived
|
||||
@@ -68,6 +68,20 @@ Name: %pgname
|
||||
%bcond_without derived
|
||||
%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
|
||||
%bcond_without liblz4
|
||||
%endif
|
||||
@@ -115,11 +129,12 @@ BuildRequires: %libecpg
|
||||
BuildRequires: %libpq
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1500 && %pgmajor >= 11
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%ifarch riscv64 loongarch64
|
||||
%bcond_with llvm
|
||||
%else
|
||||
%bcond_without llvm
|
||||
%{!?product_libs_llvm_ver: %global product_libs_llvm_ver 15}
|
||||
%endif
|
||||
%else
|
||||
%bcond_with llvm
|
||||
@@ -132,12 +147,6 @@ BuildRequires: %libpq
|
||||
%bcond_with check
|
||||
%endif
|
||||
|
||||
%if %pgmajor >= 11 || %mini
|
||||
%bcond_without server_devel
|
||||
%else
|
||||
%bcond_with server_devel
|
||||
%endif
|
||||
|
||||
BuildRequires: fdupes
|
||||
%if %{with icu}
|
||||
BuildRequires: libicu-devel
|
||||
@@ -146,16 +155,34 @@ BuildRequires: libicu-devel
|
||||
BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%if %{with llvm}
|
||||
BuildRequires: clang%{product_libs_llvm_ver}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: (cmake(Clang) >= %{oldest_supported_llvm_ver} with cmake(Clang) < %{latest_supported_llvm_ver_plus_one})
|
||||
BuildRequires: (cmake(LLVM) >= %{oldest_supported_llvm_ver} with cmake(LLVM) < %{latest_supported_llvm_ver_plus_one})
|
||||
BuildRequires: llvm%{product_libs_llvm_ver}-devel
|
||||
%endif
|
||||
BuildRequires: libxslt-devel
|
||||
BuildRequires: openldap2-devel
|
||||
BuildRequires: openssl-devel
|
||||
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(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)
|
||||
#!BuildIgnore: %pgname
|
||||
#!BuildIgnore: %pgname-server
|
||||
@@ -191,6 +218,8 @@ Patch9: postgresql-var-run-socket.patch
|
||||
%if %{with llvm}
|
||||
Patch10: postgresql-llvm-optional.patch
|
||||
Patch11: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch
|
||||
# PATCH-FIX-UPSTREAM - commit 0dceba2
|
||||
Patch12: llvm-21-aarch64.patch
|
||||
%endif
|
||||
URL: https://www.postgresql.org/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@@ -278,13 +307,9 @@ Requires: postgresql-devel-noarch >= %pgmajor
|
||||
Provides: postgresql-devel-exclusive = %pgmajor
|
||||
Conflicts: postgresql-devel-exclusive < %pgmajor
|
||||
|
||||
%if %{with server_devel}
|
||||
%package server-devel
|
||||
Summary: PostgreSQL server development header files and utilities
|
||||
Group: Development/Libraries/C and C++
|
||||
%else
|
||||
Provides: %pgname-server-devel = %version-%release
|
||||
%endif
|
||||
Provides: postgresql-server-devel = %version-%release
|
||||
Provides: postgresql-server-devel-implementation = %version-%release
|
||||
Requires(post): postgresql-server-devel-noarch >= %pgmajor
|
||||
@@ -303,11 +328,13 @@ Requires: pkgconfig(krb5)
|
||||
%if %{with selinux}
|
||||
Requires: libselinux-devel
|
||||
%endif
|
||||
%if %{with numa}
|
||||
Requires: pkgconfig(numa)
|
||||
%endif
|
||||
%if %{with llvm}
|
||||
Recommends: %pgname-llvmjit-devel = %version-%release
|
||||
%endif
|
||||
|
||||
%if %{with server_devel}
|
||||
%description server-devel
|
||||
PostgreSQL is an advanced object-relational database management system
|
||||
that supports an extended subset of the SQL standard, including
|
||||
@@ -317,7 +344,6 @@ types and functions.
|
||||
This package contains the header files and libraries needed to compile
|
||||
C extensions that link into the PostgreSQL server. For building client
|
||||
applications, see the postgresql%pgmajor-devel package.
|
||||
%endif
|
||||
|
||||
%description -n %pgname-%devel
|
||||
PostgreSQL is an advanced object-relational database management system
|
||||
@@ -526,6 +552,7 @@ touch -r configure tmp
|
||||
%if %{with llvm}
|
||||
%patch -P 10
|
||||
%patch -P 11
|
||||
%patch -P 12 -p1
|
||||
%endif
|
||||
touch -r tmp configure
|
||||
rm tmp
|
||||
@@ -558,6 +585,15 @@ PACKAGE_TARNAME=%pgname %configure \
|
||||
--with-uuid=e2fs \
|
||||
--with-libxml \
|
||||
--with-libxslt \
|
||||
%if %{with curl}
|
||||
--with-libcurl \
|
||||
%endif
|
||||
%if %{with uring}
|
||||
--with-liburing \
|
||||
%endif
|
||||
%if %{with numa}
|
||||
--with-libnuma \
|
||||
%endif
|
||||
%if %{with liblz4}
|
||||
--with-lz4 \
|
||||
%endif
|
||||
@@ -639,9 +675,8 @@ ls %buildroot%pglibdir/lib* |
|
||||
mv %buildroot%pglibdir/pkgconfig %buildroot%_libdir
|
||||
find %buildroot%_libdir/pkgconfig -type f -exec sed -i 's, -L%pglibdir,,' '{}' +
|
||||
|
||||
# Don't ship static libraries,
|
||||
# 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)
|
||||
# Don't ship static libraries, some of then are needed, though.
|
||||
rm -f $(ls %buildroot/%_libdir/*.a %buildroot%pglibdir/*.a | grep -F -v -e libpgport.a -e libpgcommon.a -e libpgfeutils.a)
|
||||
|
||||
%if !%mini
|
||||
#
|
||||
@@ -760,7 +795,7 @@ sed -i '/^LIBS = /s/= .*/=/' %buildroot/%pglibdir/pgxs/src/Makefile.global
|
||||
|
||||
# Make sure we can also link agaist newer versions
|
||||
pushd %buildroot%_libdir
|
||||
for f in *.so; do
|
||||
for f in $( find -type l -name \*.so ) ; do
|
||||
ln -sf $f.? $f
|
||||
done
|
||||
%if 0
|
||||
@@ -783,10 +818,6 @@ mv %buildroot%pgbindir/ecpg %buildroot%_bindir/ecpg
|
||||
ln -s %pgbindir/pg_config %buildroot%_bindir/pg_config
|
||||
%endif
|
||||
|
||||
%if %{without server_devel}
|
||||
cat server-devel.files >> devel.files
|
||||
%endif
|
||||
|
||||
# Build up the file lists for the libpq and libecpg packages
|
||||
cat > libpq.files <<EOF
|
||||
%defattr(-,root,root)
|
||||
@@ -795,7 +826,7 @@ cat > libpq.files <<EOF
|
||||
%pgdatadir/pg_service.conf.sample
|
||||
%endif
|
||||
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
|
||||
|
||||
cat > libecpg.files <<EOF
|
||||
@@ -817,13 +848,11 @@ awk -v P=%buildroot '/^(%lang|[^%])/{print P $NF}' libpq.files libecpg.files | x
|
||||
%postun -n %pgname-%devel
|
||||
/sbin/ldconfig
|
||||
|
||||
%if %{with server_devel}
|
||||
%post server-devel
|
||||
/usr/share/postgresql/install-alternatives %pgmajor
|
||||
|
||||
%postun server-devel
|
||||
/usr/share/postgresql/install-alternatives %pgmajor
|
||||
%endif
|
||||
|
||||
%if !%mini
|
||||
|
||||
@@ -977,18 +1006,16 @@ fi
|
||||
%dir %pgbindir
|
||||
%_bindir/ecpg
|
||||
%_libdir/pkgconfig/*
|
||||
%_libdir/lib*.so
|
||||
%_libdir/libecpg.so
|
||||
%_libdir/libecpg_compat.so
|
||||
%_libdir/libpgtypes.so
|
||||
%_libdir/libpq.so
|
||||
%pgincludedir
|
||||
|
||||
%if %{with server_devel}
|
||||
%exclude %pgincludedir/server
|
||||
%endif
|
||||
|
||||
%if !%mini
|
||||
%doc %pgmandir/man1/ecpg.1*
|
||||
%if %{with server_devel}
|
||||
%files server-devel -f server-devel.files
|
||||
%endif
|
||||
%defattr(-,root,root)
|
||||
%ghost %_bindir/pg_config
|
||||
%pgbindir/pg_config
|
||||
|
||||
Reference in New Issue
Block a user