Accepting request 935206 from server:database:postgresql

- 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.

OBS-URL: https://build.opensuse.org/request/show/935206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql12?expand=0&rev=20
This commit is contained in:
Dominique Leuenberger 2021-12-06 22:59:25 +00:00 committed by Git OBS Bridge
commit 0df12f1a0c
2 changed files with 50 additions and 11 deletions

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Nov 25 11:02:15 UTC 2021 - Reinhard Max <max@suse.com>
- 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 <max@suse.com> Wed Nov 10 18:07:22 UTC 2021 - Reinhard Max <max@suse.com>

View File

@ -40,6 +40,8 @@
%define pgcontribdir %pgdatadir/contrib %define pgcontribdir %pgdatadir/contrib
%define pgmandir %_mandir %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 Name: %pgname
%if "@BUILD_FLAVOR@" == "mini" %if "@BUILD_FLAVOR@" == "mini"
%define devel devel-mini %define devel devel-mini
@ -125,10 +127,11 @@ BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
%endif %endif
#!BuildIgnore: %pgname
#!BuildIgnore: %pgname-server
#!BuildIgnore: postgresql-implementation #!BuildIgnore: postgresql-implementation
#!BuildIgnore: postgresql-server-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 Summary: Basic Clients and Utilities for PostgreSQL
License: PostgreSQL License: PostgreSQL
Group: Productivity/Databases/Tools Group: Productivity/Databases/Tools
@ -228,6 +231,7 @@ Conflicts: %pgname-devel
%else %else
Requires: %libecpg >= %version Requires: %libecpg >= %version
Requires: %libpq >= %version Requires: %libpq >= %version
Requires: postgresql-devel-noarch >= %pgmajor
%endif %endif
# Installation of postgresql??-devel is exclusive # Installation of postgresql??-devel is exclusive
Provides: postgresql-devel-exclusive = %pgmajor Provides: postgresql-devel-exclusive = %pgmajor
@ -242,17 +246,13 @@ Provides: %pgname-server-devel = %version-%release
%endif %endif
Provides: postgresql-server-devel = %version-%release Provides: postgresql-server-devel = %version-%release
Provides: postgresql-server-devel-implementation = %version-%release Provides: postgresql-server-devel-implementation = %version-%release
Requires(post): postgresql-server-noarch >= %pgmajor Requires(post): postgresql-server-devel-noarch >= %pgmajor
Requires(postun):postgresql-server-noarch >= %pgmajor Requires(postun):postgresql-server-devel-noarch >= %pgmajor
Requires: %pgname-devel = %version Requires: %pgname-devel = %version
Requires: %pgname-server = %version-%release Requires: %pgname-server = %version-%release
# Installation of postgresql??-devel is exclusive # Installation of postgresql??-devel is exclusive
Provides: postgresql-server-devel-exclusive = %pgmajor Provides: postgresql-server-devel-exclusive = %pgmajor
Conflicts: postgresql-server-devel-exclusive < %pgmajor Conflicts: postgresql-server-devel-exclusive < %pgmajor
%if %{with llvm}
Recommends: clang
Recommends: llvm
%endif
Requires: libxslt-devel Requires: libxslt-devel
Requires: openssl-devel Requires: openssl-devel
Requires: pam-devel Requires: pam-devel
@ -262,6 +262,9 @@ Requires: pkgconfig(krb5)
%if %{with selinux} %if %{with selinux}
Requires: libselinux-devel Requires: libselinux-devel
%endif %endif
%if %{with llvm}
Recommends: %pgname-llvmjit-devel = %version-%release
%endif
%if %{with server_devel} %if %{with server_devel}
%description 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 deforming into native code, with the goal of accelerating analytics
queries. 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 %package test
Summary: The test suite for PostgreSQL Summary: The test suite for PostgreSQL
Group: Productivity/Databases/Servers Group: Productivity/Databases/Servers
@ -866,19 +894,21 @@ fi
%pglibdir/*_and_*.so %pglibdir/*_and_*.so
%pglibdir/euc2004_sjis2004.so %pglibdir/euc2004_sjis2004.so
%pglibdir/libpqwalreceiver.so %pglibdir/libpqwalreceiver.so
%if %{with llvm}
%dir %pglibdir/bitcode
%endif
%pgextensiondir/plpgsql* %pgextensiondir/plpgsql*
%attr(750,postgres,postgres) %dir /var/lib/pgsql %attr(750,postgres,postgres) %dir /var/lib/pgsql
%if %{with llvm} %if %{with llvm}
%dir %pglibdir/bitcode
%files llvmjit %files llvmjit
%defattr(-,root,root) %defattr(-,root,root)
%pglibdir/llvm* %pglibdir/llvm*
%pglibdir/bitcode/* %pglibdir/bitcode/*
%endif %endif
%files llvmjit-devel
%doc README
%files pltcl -f pltcl.lang %files pltcl -f pltcl.lang
%defattr(-,root,root) %defattr(-,root,root)
%pgextensiondir/pltcl* %pgextensiondir/pltcl*