12 Commits

Author SHA256 Message Date
5f9a45c184 Accepting request 1323487 from server:database:postgresql
OBS-URL: https://build.opensuse.org/request/show/1323487
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql16?expand=0&rev=20
2025-12-18 17:36:14 +00:00
667c7e6955 - Fix build on aarch64 with upstream commit 0dceba2:
* llvm-21-aarch64.patch

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=65
2025-12-18 09:15:52 +00:00
df857fdfea Accepting request 1320374 from server:database:postgresql
- Fix build with uring for post SLE15 code streams.

- Use %product_libs_llvm_ver to determine the LLVM version.
- Remove conditionals for obsolete PostgreSQL releases.

- Upgrade to 16.11:
  * https://www.postgresql.org/about/news/p-3171/
  * https://www.postgresql.org/docs/release/16.11/
  * 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.

OBS-URL: https://build.opensuse.org/request/show/1320374
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql16?expand=0&rev=19
2025-11-28 15:52:40 +00:00
aededa741b - Fix build with uring for post SLE15 code streams.
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=63
2025-11-27 17:24:11 +00:00
fb3e1549e4 - Use %product_libs_llvm_ver to determine the LLVM version.
- Remove conditionals for obsolete PostgreSQL releases.

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=62
2025-11-14 17:16:53 +00:00
024711a017 OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=61 2025-11-13 15:52:04 +00:00
7169edf48a - Upgrade to 16.11:
* https://www.postgresql.org/docs/release/16.11/
  * 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.

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=60
2025-11-13 14:35:28 +00:00
6e62935728 Accepting request 1307160 from server:database:postgresql
- Sync spec file from version 18.

OBS-URL: https://build.opensuse.org/request/show/1307160
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql16?expand=0&rev=18
2025-09-25 16:46:08 +00:00
186a2bcdca format spec file cleanup
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=58
2025-09-25 14:30:28 +00:00
80c3ab2ffc - Sync spec file from version 18.
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=57
2025-09-25 14:12:27 +00:00
a0b9ce086f Accepting request 1299471 from server:database:postgresql
Forwarded request #1299466 from darix

https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/

OBS-URL: https://build.opensuse.org/request/show/1299471
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql16?expand=0&rev=17
2025-08-15 19:52:21 +00:00
59423412b8 https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql16?expand=0&rev=55
2025-08-14 20:11:46 +00:00
7 changed files with 157 additions and 50 deletions

41
llvm-21-aarch64.patch Normal file
View 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

Binary file not shown.

View File

@@ -1 +0,0 @@
de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42 postgresql-16.10.tar.bz2

3
postgresql-16.11.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6deb08c23d03d77d8f8bd1c14049eeef64aef8968fd8891df2dfc0b42f178eac
size 25005349

View File

@@ -0,0 +1 @@
6deb08c23d03d77d8f8bd1c14049eeef64aef8968fd8891df2dfc0b42f178eac postgresql-16.11.tar.bz2

View File

@@ -1,3 +1,41 @@
-------------------------------------------------------------------
Fri Dec 12 08:00:38 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix build on aarch64 with upstream commit 0dceba2:
* llvm-21-aarch64.patch
-------------------------------------------------------------------
Mon Nov 24 16:44:38 UTC 2025 - Reinhard Max <max@suse.com>
- Fix build with uring for post SLE15 code streams.
-------------------------------------------------------------------
Fri Nov 14 15:45:41 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:23:58 UTC 2025 - Reinhard Max <max@suse.com>
- Upgrade to 16.11:
* https://www.postgresql.org/about/news/p-3171/
* https://www.postgresql.org/docs/release/16.11/
* 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.
-------------------------------------------------------------------
Tue Sep 23 15:04:19 UTC 2025 - Reinhard Max <max@suse.com>
- Sync spec file from version 18.
-------------------------------------------------------------------
Thu Aug 14 19:51:38 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>

View File

@@ -16,13 +16,8 @@
#
%define pgversion 16.10
%define pgmajor 16
%define buildlibs 0
%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 11
### CUT HERE ###
%define pgname postgresql%pgmajor
@@ -40,12 +35,23 @@
%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")
%if "@BUILD_FLAVOR@" == "mini"
%define devel devel-mini
%define mini 1
%define buildlibs 1
Name: %pgname-mini
%else
%define devel devel
@@ -53,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
@@ -67,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
@@ -114,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
@@ -131,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
@@ -145,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
@@ -190,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
@@ -277,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
@@ -302,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
@@ -316,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
@@ -525,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
@@ -557,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
@@ -638,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
#
@@ -759,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
@@ -782,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)
@@ -794,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
@@ -816,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
@@ -976,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