Compare commits
1 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 770bf85910 |
3
_multibuild
Normal file
3
_multibuild
Normal file
@@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>mini</package>
|
||||
</multibuild>
|
||||
@@ -1,41 +0,0 @@
|
||||
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.6.tar.bz2
LFS
Normal file
BIN
postgresql-17.6.tar.bz2
LFS
Normal file
Binary file not shown.
1
postgresql-17.6.tar.bz2.sha256
Normal file
1
postgresql-17.6.tar.bz2.sha256
Normal file
@@ -0,0 +1 @@
|
||||
e0630a3600aea27511715563259ec2111cd5f4353a4b040e0be827f94cd7a8b0 postgresql-17.6.tar.bz2
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5
|
||||
size 21646334
|
||||
@@ -1 +0,0 @@
|
||||
ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5 postgresql-17.7.tar.bz2
|
||||
@@ -1,46 +1,3 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
||||
@@ -16,8 +16,13 @@
|
||||
#
|
||||
|
||||
|
||||
%define pgversion 17.6
|
||||
%define pgmajor 17
|
||||
%define pgminor 7
|
||||
%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
|
||||
|
||||
### CUT HERE ###
|
||||
%define pgname postgresql%pgmajor
|
||||
@@ -35,16 +40,6 @@
|
||||
%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")
|
||||
|
||||
@@ -59,8 +54,13 @@ Name: %pgname-mini
|
||||
Name: %pgname
|
||||
%endif
|
||||
|
||||
# Use Python 3 for everything.
|
||||
# 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
|
||||
%define python python3
|
||||
%else
|
||||
%define python python
|
||||
%endif
|
||||
|
||||
%if %pgmajor >= 17
|
||||
%bcond_with derived
|
||||
@@ -68,20 +68,6 @@ 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
|
||||
@@ -129,12 +115,11 @@ BuildRequires: %libecpg
|
||||
BuildRequires: %libpq
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%if 0%{?suse_version} >= 1500 && %pgmajor >= 11
|
||||
%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
|
||||
@@ -147,6 +132,12 @@ 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
|
||||
@@ -155,34 +146,16 @@ BuildRequires: libicu-devel
|
||||
BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%if %{with llvm}
|
||||
BuildRequires: clang%{product_libs_llvm_ver}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: llvm%{product_libs_llvm_ver}-devel
|
||||
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})
|
||||
%endif
|
||||
BuildRequires: libxslt-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: openssl-devel
|
||||
BuildRequires: pkg-config
|
||||
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
|
||||
@@ -218,8 +191,6 @@ 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
|
||||
@@ -307,9 +278,13 @@ 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
|
||||
@@ -328,13 +303,11 @@ 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
|
||||
@@ -344,6 +317,7 @@ 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
|
||||
@@ -552,7 +526,6 @@ touch -r configure tmp
|
||||
%if %{with llvm}
|
||||
%patch -P 10
|
||||
%patch -P 11
|
||||
%patch -P 12 -p1
|
||||
%endif
|
||||
touch -r tmp configure
|
||||
rm tmp
|
||||
@@ -585,15 +558,6 @@ 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
|
||||
@@ -675,8 +639,9 @@ 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, 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)
|
||||
# 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)
|
||||
|
||||
%if !%mini
|
||||
#
|
||||
@@ -795,7 +760,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 $( find -type l -name \*.so ) ; do
|
||||
for f in *.so; do
|
||||
ln -sf $f.? $f
|
||||
done
|
||||
%if 0
|
||||
@@ -818,6 +783,10 @@ 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)
|
||||
@@ -826,7 +795,7 @@ cat > libpq.files <<EOF
|
||||
%pgdatadir/pg_service.conf.sample
|
||||
%endif
|
||||
EOF
|
||||
find %buildroot \( -name 'libpq*.so.*' -o -name 'libpq-oauth*.so' \) -printf '/%%P\n' >> libpq.files
|
||||
find %buildroot -name 'libpq*.so.*' -printf '/%%P\n' >> libpq.files
|
||||
%find_lang libpq5-$VLANG libpq.files
|
||||
|
||||
cat > libecpg.files <<EOF
|
||||
@@ -848,11 +817,13 @@ 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
|
||||
|
||||
@@ -1006,16 +977,18 @@ fi
|
||||
%dir %pgbindir
|
||||
%_bindir/ecpg
|
||||
%_libdir/pkgconfig/*
|
||||
%_libdir/libecpg.so
|
||||
%_libdir/libecpg_compat.so
|
||||
%_libdir/libpgtypes.so
|
||||
%_libdir/libpq.so
|
||||
%_libdir/lib*.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