diff --git a/postgresql12.changes b/postgresql12.changes index 1d3b4b6..27f9b8c 100644 --- a/postgresql12.changes +++ b/postgresql12.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +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 diff --git a/postgresql12.spec b/postgresql12.spec index a74561c..846b4ab 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 @@ -125,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 @@ -228,6 +231,7 @@ Conflicts: %pgname-devel %else Requires: %libecpg >= %version Requires: %libpq >= %version +Requires: postgresql-devel-noarch >= %pgmajor %endif # Installation of postgresql??-devel is exclusive Provides: postgresql-devel-exclusive = %pgmajor @@ -242,17 +246,13 @@ 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 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 +262,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 +338,31 @@ 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: %pgname-llvmjit = %version +Requires(post): postgresql-llvmjit-devel-noarch >= %pgmajor +Requires(postun):postgresql-llvmjit-devel-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,19 +894,21 @@ 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/* %endif +%files llvmjit-devel +%doc README + %files pltcl -f pltcl.lang %defattr(-,root,root) %pgextensiondir/pltcl*