[packages/libsoci] - updated to 4.1.2 (new sonames); added -db2* packages on ibmdb2 bcond

qboosh qboosh at pld-linux.org
Mon May 19 20:01:33 CEST 2025


commit 3efc45bc752510327011fb2a6bcfbb48a2a926e6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon May 19 19:46:50 2025 +0200

    - updated to 4.1.2 (new sonames); added -db2* packages on ibmdb2 bcond

 libsoci.spec | 146 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 118 insertions(+), 28 deletions(-)
---
diff --git a/libsoci.spec b/libsoci.spec
index 80c4dc5..f95a693 100644
--- a/libsoci.spec
+++ b/libsoci.spec
@@ -1,7 +1,8 @@
-# TODO: db2
 #
 # Conditional build:
+%bcond_without	static_libs	# static libraries
 %bcond_without	firebird	# Firebird backend
+%bcond_with	ibmdb2		# IBM DB2 backend
 %bcond_without	mysql		# MySQL backend
 %bcond_without	odbc		# ODBC backend
 %bcond_with	oci		# Oracle backend
@@ -12,17 +13,18 @@
 Summary:	The C++ Database Access Library
 Summary(pl.UTF-8):	Biblioteka obsługi baz danych dla C++
 Name:		libsoci
-Version:	4.0.3
+Version:	4.1.2
 Release:	1
 License:	Boost Software License
 Group:		Libraries
-Source0:	http://downloads.sourceforge.net/soci/soci-%{version}.tar.gz
-# Source0-md5:	7c6d5147ce10871e6a015a437c27de5c
-URL:		http://soci.sourceforge.net/
+Source0:	https://downloads.sourceforge.net/soci/soci-%{version}.tar.gz
+# Source0-md5:	cb237328ff116834f0adcf87847121c1
+URL:		https://soci.sourceforge.net/
 %{?with_firebird:BuildRequires:	Firebird-devel}
 BuildRequires:	boost-devel
-BuildRequires:	cmake >= 2.8.0
-BuildRequires:	libstdc++-devel >= 1:4.7
+BuildRequires:	cmake >= 3.23
+%{?with_ibmdb2:BuildRequires:	ibm-db2-clidriver-devel}
+BuildRequires:	libstdc++-devel >= 1:5
 %{?with_mysql:BuildRequires:	mysql-devel}
 %{?with_oci:%{?with_instantclient:BuildRequires:	oracle-instantclient-devel >= 10}}
 %{?with_pgsql:BuildRequires:	postgresql-devel >= 7}
@@ -42,7 +44,7 @@ Summary:	Header files for soci library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki soci
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	libstdc++-devel
+Requires:	libstdc++-devel >= 6:5
 
 %description devel
 Header files for soci library.
@@ -62,6 +64,45 @@ Static soci library.
 %description static -l pl.UTF-8
 Statyczna biblioteka soci.
 
+%package db2
+Summary:	IBM DB2 backend for soci
+Summary(pl.UTF-8):	Backend IBM DB2 dla soci
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description db2
+This package contains library with the IBM DB2 binding for soci.
+
+%description db2 -l pl.UTF-8
+Ten pakiet zawiera bibliotekę do połączenia bazy IBM DB2 z soci.
+
+%package db2-devel
+Summary:	Header files for soci IBM DB2 backend
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki soci IBM DB2
+Group:		Development/Libraries
+Requires:	%{name}-db2 = %{version}-%{release}
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description db2-devel
+Header files for soci IBM DB2 backend.
+
+%description db2-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki soci IBM DB2.
+
+%package db2-static
+Summary:	IBM DB2 backend for soci (static version)
+Summary(pl.UTF-8):	Backend IBM DB2 dla soci (wersja statyczna)
+Group:		Development/Libraries
+Requires:	%{name}-db2-devel = %{version}-%{release}
+
+%description db2-static
+This package contains static library with the IBM DB2 binding for
+soci.
+
+%description db2-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę do połączenia bazy IBM DB2 z
+soci.
+
 %package firebird
 Summary:	Firebird backend for soci
 Summary(pl.UTF-8):	Backend Firebird-a dla soci
@@ -309,14 +350,13 @@ Dokumentacja biblioteki SOCI.
 %setup -q -n soci-%{version}
 
 %build
-install -d build
-cd build
 %{?with_oci:%{?with_instantclient:export ORACLE_HOME=%{_libdir}}}
-%cmake .. \
-	-DLIBDIR:PATH=%{_lib} \
+for build in shared %{?with_static_libs:static} ; do
+%cmake -B build-${build} \
+	%{?with_ibmdb2:-DDB2_INCLUDE_DIRS=%{_libdir}/clidriver/include} \
 	%{?with_instantclient:-DORACLE_INCLUDE_DIR=/usr/include/oracle/client} \
-	-DSOCI_CXX11=ON \
-	-DWITH_DB2=OFF \
+	$([ "$build" = "static" ] && echo -DSOCI_STATIC=ON) \
+	%{!?with_ibmdb2:-DWITH_DB2=OFF} \
 	%{!?with_firebird:-DWITH_FIREBIRD=OFF} \
 	%{!?with_mysql:-DWITH_MYSQL=OFF} \
 	%{!?with_odbc:-DWITH_ODBC=OFF} \
@@ -324,16 +364,16 @@ cd build
 	%{!?with_pgsql:-DWITH_POSTGRESQL=OFF} \
 	%{!?with_sqlite3:-DWITH_SQLITE3=OFF}
 
-%{__make}
+%{__make} -C build-${build}
+done
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} -C build install \
+for build in shared %{?with_static_libs:static} ; do
+%{__make} -C build-${build} install \
 	DESTDIR=$RPM_BUILD_ROOT
-
-# disable completeness check incompatible with split packaging
-%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_libdir}/cmake/SOCI/SOCITargets.cmake
+done
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -341,6 +381,9 @@ rm -rf $RPM_BUILD_ROOT
 %post	-p /sbin/ldconfig
 %postun	-p /sbin/ldconfig
 
+%post	db2 -p /sbin/ldconfig
+%postun	db2 -p /sbin/ldconfig
+
 %post	firebird -p /sbin/ldconfig
 %postun	firebird -p /sbin/ldconfig
 
@@ -363,9 +406,9 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc AUTHORS CHANGES LICENSE_1_0.txt README.md
 %attr(755,root,root) %{_libdir}/libsoci_core.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_core.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_core.so.4
 %attr(755,root,root) %{_libdir}/libsoci_empty.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_empty.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_empty.so.4
 
 %files devel
 %defattr(644,root,root,755)
@@ -374,108 +417,155 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_includedir}/soci
 %{_includedir}/soci/*.h
 %{_includedir}/soci/empty
-%{_libdir}/cmake/SOCI
+%dir %{_libdir}/cmake/soci-%{version}
+%dir %{_libdir}/cmake/soci-%{version}/find_package_files
+%{_libdir}/cmake/soci-%{version}/SOCICoreTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/SOCIEmptyTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/soci-config*.cmake
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_core.a
 %{_libdir}/libsoci_empty.a
+%endif
+
+%if %{with ibmdb2}
+%files db2
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsoci_db2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsoci_db2.so.4
+
+%files db2-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsoci_db2.so
+%{_includedir}/soci/db2
+%{_libdir}/cmake/soci-%{version}/SOCIDB2Targets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindDB2.cmake
+
+%if %{with static_libs}
+%files db2-static
+%defattr(644,root,root,755)
+%{_libdir}/libsoci_db2.a
+%endif
+%endif
 
 %if %{with firebird}
 %files firebird
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_firebird.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_firebird.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_firebird.so.4
 
 %files firebird-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_firebird.so
 %{_includedir}/soci/firebird
+%{_libdir}/cmake/soci-%{version}/SOCIFirebirdTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindFirebird.cmake
 
+%if %{with static_libs}
 %files firebird-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_firebird.a
 %endif
+%endif
 
 %if %{with mysql}
 %files mysql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_mysql.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_mysql.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_mysql.so.4
 
 %files mysql-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_mysql.so
 %{_includedir}/soci/mysql
+%{_libdir}/cmake/soci-%{version}/SOCIMySQLTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindMySQL.cmake
 
+%if %{with static_libs}
 %files mysql-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_mysql.a
 %endif
+%endif
 
 %if %{with odbc}
 %files odbc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_odbc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_odbc.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_odbc.so.4
 
 %files odbc-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_odbc.so
 %{_includedir}/soci/odbc
+%{_libdir}/cmake/soci-%{version}/SOCIODBCTargets*.cmake
 
+%if %{with static_libs}
 %files odbc-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_odbc.a
 %endif
+%endif
 
 %if %{with oci}
 %files oracle
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_oracle.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_oracle.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_oracle.so.4
 
 %files oracle-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_oracle.so
 %{_includedir}/soci/oracle
+%{_libdir}/cmake/soci-%{version}/SOCIOracleTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindOracle.cmake
 
+%if %{with static_libs}
 %files oracle-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_oracle.a
 %endif
+%endif
 
 %if %{with pgsql}
 %files postgresql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_postgresql.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_postgresql.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_postgresql.so.4
 
 %files postgresql-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_postgresql.so
 %{_includedir}/soci/postgresql
+%{_libdir}/cmake/soci-%{version}/SOCIPostgreSQLTargets*.cmake
 
+%if %{with static_libs}
 %files postgresql-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_postgresql.a
 %endif
+%endif
 
 %if %{with sqlite3}
 %files sqlite3
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_sqlite3.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_sqlite3.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_sqlite3.so.4
 
 %files sqlite3-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsoci_sqlite3.so
 %{_includedir}/soci/sqlite3
+%{_libdir}/cmake/soci-%{version}/SOCISQLite3Targets*.cmake
 
+%if %{with static_libs}
 %files sqlite3-static
 %defattr(644,root,root,755)
 %{_libdir}/libsoci_sqlite3.a
 %endif
+%endif
 
 %files apidocs
 %defattr(644,root,root,755)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libsoci.git/commitdiff/3efc45bc752510327011fb2a6bcfbb48a2a926e6



More information about the pld-cvs-commit mailing list