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