From b438339ef4e0baa9c5e23e0a249e0a29b63b06cc4e7dd6355cda5b6d439bc6f9 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 16:50:45 +0000 Subject: [PATCH 1/4] - Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql12?expand=0&rev=59 --- postgresql12.changes | 6 ++++++ postgresql12.spec | 42 +++++++++++++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/postgresql12.changes b/postgresql12.changes index 1d3b4b6..7939a35 100644 --- a/postgresql12.changes +++ b/postgresql12.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 25 11:02:15 UTC 2021 - Reinhard Max + +- Add a llvmjit-devel subpackage to pull in the right versions + of clang and llvm for building extensions. + ------------------------------------------------------------------- Wed Nov 10 18:07:22 UTC 2021 - Reinhard Max diff --git a/postgresql12.spec b/postgresql12.spec index a74561c..f663ae8 100644 --- a/postgresql12.spec +++ b/postgresql12.spec @@ -40,6 +40,8 @@ %define pgcontribdir %pgdatadir/contrib %define pgmandir %_mandir +%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") + Name: %pgname %if "@BUILD_FLAVOR@" == "mini" %define devel devel-mini @@ -228,6 +230,7 @@ Conflicts: %pgname-devel %else Requires: %libecpg >= %version Requires: %libpq >= %version +Requires: postgresql-devel-noarch >= %version %endif # Installation of postgresql??-devel is exclusive Provides: postgresql-devel-exclusive = %pgmajor @@ -249,10 +252,6 @@ Requires: %pgname-server = %version-%release # Installation of postgresql??-devel is exclusive Provides: postgresql-server-devel-exclusive = %pgmajor Conflicts: postgresql-server-devel-exclusive < %pgmajor -%if %{with llvm} -Recommends: clang -Recommends: llvm -%endif Requires: libxslt-devel Requires: openssl-devel Requires: pam-devel @@ -262,6 +261,9 @@ Requires: pkgconfig(krb5) %if %{with selinux} Requires: libselinux-devel %endif +%if %{with llvm} +Recommends: %pgname-llvmjit-devel = %version-%release +%endif %if %{with server_devel} %description server-devel @@ -335,6 +337,30 @@ PostgreSQL queries. Using LLVM it compiles e.g. expressions and tuple deforming into native code, with the goal of accelerating analytics queries. +%package llvmjit-devel +Summary: PostgreSQL development files for extensions with LLVM support +Group: Development/Libraries/C and C++ +Provides: postgresql-llvmjit-devel = %version-%release +Provides: postgresql-llvmjit-devel-implementation = %version-%release +Requires: %pgname-server-devel = %version +%if %{with llvm} +Requires(post): postgresql-llvmjit-noarch >= %pgmajor +Requires(postun):postgresql-llvmjit-noarch >= %pgmajor +%requires_file %_bindir/llc +%requires_file %_bindir/clang +%endif + +%description llvmjit-devel +PostgreSQL is an advanced object-relational database management system +that supports an extended subset of the SQL standard, including +transactions, foreign keys, sub-queries, triggers, and user-defined +types and functions. + +This package pulls in the right versions of llvm and clang to compile +PostgreSQL extensions that support just-in-time compilation with LLVM, +if llvm is supported. Otherwise it will just pull the +%{pgname}-server-devel package. + %package test Summary: The test suite for PostgreSQL Group: Productivity/Databases/Servers @@ -866,17 +892,19 @@ fi %pglibdir/*_and_*.so %pglibdir/euc2004_sjis2004.so %pglibdir/libpqwalreceiver.so -%if %{with llvm} -%dir %pglibdir/bitcode -%endif %pgextensiondir/plpgsql* %attr(750,postgres,postgres) %dir /var/lib/pgsql %if %{with llvm} +%dir %pglibdir/bitcode + %files llvmjit %defattr(-,root,root) %pglibdir/llvm* %pglibdir/bitcode/* + +%files llvmjit-devel +%doc README %endif %files pltcl -f pltcl.lang From f45f54fc58d67ebbb8cf84e94d882eb769d6a8b7679ac0c4e3341fb8e923d1cf Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 17:13:25 +0000 Subject: [PATCH 2/4] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql12?expand=0&rev=60 --- postgresql12.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/postgresql12.spec b/postgresql12.spec index f663ae8..3823cf3 100644 --- a/postgresql12.spec +++ b/postgresql12.spec @@ -344,8 +344,8 @@ Provides: postgresql-llvmjit-devel = %version-%release Provides: postgresql-llvmjit-devel-implementation = %version-%release Requires: %pgname-server-devel = %version %if %{with llvm} -Requires(post): postgresql-llvmjit-noarch >= %pgmajor -Requires(postun):postgresql-llvmjit-noarch >= %pgmajor +Requires(post): postgresql-llvmjit-devel-noarch >= %pgmajor +Requires(postun):postgresql-llvmjit-devel-noarch >= %pgmajor %requires_file %_bindir/llc %requires_file %_bindir/clang %endif From 5c98a5fbfa2a7fabb229ede0c313b7572f7adb1620b93969652dc700b412e50a Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 19:04:11 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql12?expand=0&rev=61 --- postgresql12.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/postgresql12.spec b/postgresql12.spec index 3823cf3..846b4ab 100644 --- a/postgresql12.spec +++ b/postgresql12.spec @@ -127,10 +127,11 @@ BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) %endif -#!BuildIgnore: %pgname -#!BuildIgnore: %pgname-server #!BuildIgnore: postgresql-implementation #!BuildIgnore: postgresql-server-implementation +#!BuildIgnore: postgresql-devel-noarch +#!BuildIgnore: postgresql-llvmjit-devel-noarch +#!BuildIgnore: postgresql-server-devel-noarch Summary: Basic Clients and Utilities for PostgreSQL License: PostgreSQL Group: Productivity/Databases/Tools @@ -230,7 +231,7 @@ Conflicts: %pgname-devel %else Requires: %libecpg >= %version Requires: %libpq >= %version -Requires: postgresql-devel-noarch >= %version +Requires: postgresql-devel-noarch >= %pgmajor %endif # Installation of postgresql??-devel is exclusive Provides: postgresql-devel-exclusive = %pgmajor @@ -245,8 +246,8 @@ Provides: %pgname-server-devel = %version-%release %endif Provides: postgresql-server-devel = %version-%release Provides: postgresql-server-devel-implementation = %version-%release -Requires(post): postgresql-server-noarch >= %pgmajor -Requires(postun):postgresql-server-noarch >= %pgmajor +Requires(post): postgresql-server-devel-noarch >= %pgmajor +Requires(postun):postgresql-server-devel-noarch >= %pgmajor Requires: %pgname-devel = %version Requires: %pgname-server = %version-%release # Installation of postgresql??-devel is exclusive @@ -344,6 +345,7 @@ Provides: postgresql-llvmjit-devel = %version-%release Provides: postgresql-llvmjit-devel-implementation = %version-%release Requires: %pgname-server-devel = %version %if %{with llvm} +Requires: %pgname-llvmjit = %version Requires(post): postgresql-llvmjit-devel-noarch >= %pgmajor Requires(postun):postgresql-llvmjit-devel-noarch >= %pgmajor %requires_file %_bindir/llc @@ -902,10 +904,10 @@ fi %defattr(-,root,root) %pglibdir/llvm* %pglibdir/bitcode/* +%endif %files llvmjit-devel %doc README -%endif %files pltcl -f pltcl.lang %defattr(-,root,root) From 98305df086e71210fe7d405f03261b89b39e1f1e16c7afc3cfc6c5d9872dcef9 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Thu, 2 Dec 2021 13:44:40 +0000 Subject: [PATCH 4/4] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql12?expand=0&rev=62 --- postgresql12.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/postgresql12.changes b/postgresql12.changes index 7939a35..27f9b8c 100644 --- a/postgresql12.changes +++ b/postgresql12.changes @@ -3,6 +3,9 @@ Thu Nov 25 11:02:15 UTC 2021 - Reinhard Max - Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. +- Fix some mistakes in the interdependencies between the + implementation packages and their noarch counterpart. +- Update the BuildIgnore section. ------------------------------------------------------------------- Wed Nov 10 18:07:22 UTC 2021 - Reinhard Max