12 Commits

Author SHA256 Message Date
f31f832f86 Accepting request 1323486 from server:database:postgresql
OBS-URL: https://build.opensuse.org/request/show/1323486
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql17?expand=0&rev=15
2025-12-18 17:36:10 +00:00
115fbcbf19 - Fix build on aarch64 with upstream commit 0dceba2:
* llvm-21-aarch64.patch

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=44
2025-12-18 09:15:45 +00:00
9aa05960bf Accepting request 1320373 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.

- 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.

OBS-URL: https://build.opensuse.org/request/show/1320373
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql17?expand=0&rev=14
2025-11-28 15:52:35 +00:00
1aa0a4abd3 - Fix build with uring for post SLE15 code streams.
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=42
2025-11-24 16:43:51 +00:00
fa757f020d - 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/postgresql17?expand=0&rev=41
2025-11-14 17:17:07 +00:00
6f103c069e OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=40 2025-11-13 15:52:27 +00:00
d8f91244ee - Update to 17.7:
* 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.

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=39
2025-11-13 14:35:43 +00:00
e21a28b081 Accepting request 1307161 from server:database:postgresql
- Sync spec file with version 18.

- switch library to pg 18

OBS-URL: https://build.opensuse.org/request/show/1307161
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql17?expand=0&rev=13
2025-09-26 20:24:16 +00:00
de0a3f2394 format spec file cleanup
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=37
2025-09-25 14:30:33 +00:00
054bce9cc1 - Sync spec file with version 18.
- switch library to pg 18

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql17?expand=0&rev=36
2025-09-25 14:08:19 +00:00
d4a4dba30c Accepting request 1299472 from server:database:postgresql
Forwarded request #1299467 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/1299472
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql17?expand=0&rev=12
2025-08-16 18:36:57 +00:00
d2064b24dd 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/postgresql17?expand=0&rev=34
2025-08-14 20:11:50 +00:00
8 changed files with 179 additions and 54 deletions

View File

@@ -1,3 +0,0 @@
<multibuild>
<package>mini</package>
</multibuild>

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 @@
fcb7ab38e23b264d1902cb25e6adafb4525a6ebcbd015434aeef9eda80f528d8 postgresql-17.5.tar.bz2

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

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

View File

@@ -0,0 +1 @@
ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5 postgresql-17.7.tar.bz2

View File

@@ -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>

View File

@@ -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