From 92f6f97f1f5e6b8e68cb87523d625798a81d36d1fc2eab22c8ad150c97b0b043 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 15:48:50 +0000 Subject: [PATCH 1/7] - 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/postgresql14?expand=0&rev=18 --- postgresql14.changes | 6 ++++++ postgresql14.spec | 38 +++++++++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/postgresql14.changes b/postgresql14.changes index c80d38f..f74b031 100644 --- a/postgresql14.changes +++ b/postgresql14.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 16:56:57 UTC 2021 - Reinhard Max diff --git a/postgresql14.spec b/postgresql14.spec index 7d733d4..86221d9 100644 --- a/postgresql14.spec +++ b/postgresql14.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,26 @@ 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(post): postgresql-llvmjit-noarch >= %pgmajor +Requires(postun):postgresql-llvmjit-noarch >= %pgmajor +Requires: %pgname-server-devel = %version +%requires_file %_bindir/llc +%requires_file %_bindir/clang + +%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. + %package test Summary: The test suite for PostgreSQL Group: Productivity/Databases/Servers @@ -866,17 +888,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 6751d7668c5311a6bb4fa8275398b37e75725e67a0667ba9c6cb6027954067a0 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 16:36:45 +0000 Subject: [PATCH 2/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=19 --- postgresql14.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/postgresql14.spec b/postgresql14.spec index 86221d9..afb9ea2 100644 --- a/postgresql14.spec +++ b/postgresql14.spec @@ -342,11 +342,13 @@ 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: %pgname-server-devel = %version %requires_file %_bindir/llc %requires_file %_bindir/clang +%endif %description llvmjit-devel PostgreSQL is an advanced object-relational database management system @@ -355,7 +357,9 @@ 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. +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 From d57adbce308fb90add5e76f39916b9443b43dd7aba072266c82c99a6850a4481 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 17:04:51 +0000 Subject: [PATCH 3/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=20 --- postgresql14.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/postgresql14.spec b/postgresql14.spec index afb9ea2..f42960d 100644 --- a/postgresql14.spec +++ b/postgresql14.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 89d8c762924f6989d66d9bd58cc0c2d1ea72033681fd6bb88abcfe54d4c02cab Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 18:15:01 +0000 Subject: [PATCH 4/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=21 --- postgresql14.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/postgresql14.spec b/postgresql14.spec index f42960d..0a1eebe 100644 --- a/postgresql14.spec +++ b/postgresql14.spec @@ -245,8 +245,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 +344,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 +903,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 bb2e482ca23dbe77e1550d039deffbbb0d56f480dda3aabdb39bce21c50c4e83 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 18:29:32 +0000 Subject: [PATCH 5/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=22 --- postgresql14.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgresql14.spec b/postgresql14.spec index 0a1eebe..8631e80 100644 --- a/postgresql14.spec +++ b/postgresql14.spec @@ -230,7 +230,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 From 65f594bd0755ced4d98fb8d62772098dd73ed90a4f98d70b27df144fa7785173 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Tue, 30 Nov 2021 19:03:38 +0000 Subject: [PATCH 6/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=23 --- postgresql14.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/postgresql14.spec b/postgresql14.spec index 8631e80..d982c77 100644 --- a/postgresql14.spec +++ b/postgresql14.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 From 3b6638a0f6bbda3252bf7145d3b1e914f41505b516e18c6befdd92fbad871f82 Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Thu, 2 Dec 2021 13:42:39 +0000 Subject: [PATCH 7/7] OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql14?expand=0&rev=24 --- postgresql14.changes | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/postgresql14.changes b/postgresql14.changes index f74b031..31eb5ab 100644 --- a/postgresql14.changes +++ b/postgresql14.changes @@ -2,7 +2,10 @@ 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. + 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 16:56:57 UTC 2021 - Reinhard Max