%bcond_without tcl # don't build Tcl bindings
%bcond_with pmutex # use POSIX mutexes (only process-private with linuxthreads)
%bcond_with nptl # use process-shared POSIX mutexes (NPTL provides full interface)
+%bcond_with default_db # use this db as default system db
#
%define ver 4.2.52
%define patchlevel 5
BuildRequires: rpmbuild(macros) >= 1.426
BuildRequires: sed >= 4.0
%{?with_tcl:BuildRequires: tcl-devel >= 8.4.0}
+%if %{with default_db}
+Provides: db = %{version}-%{release}
+Obsoletes: db4
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%if %{without default_db}
%define _includedir %{_prefix}/include/db4.2
+%endif
%description
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
Summary: Header files for Berkeley database library
Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki Berkeley Database
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+%if %{with default_db}
+Provides: db-devel = %{version}-%{release}
+Obsoletes: db3-devel
+Obsoletes: db4-devel
+%endif
%description devel
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
Summary: Static libraries for Berkeley database library
Summary(pl.UTF-8): Statyczne biblioteki Berkeley Database
Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+%if %{with default_db}
+Provides: db-static = %{version}-%{release}
+Obsoletes: db3-static
+Obsoletes: db4-static
+%endif
%description static
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
Summary: Berkeley database library for C++
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla C++
Group: Libraries
+%if %{with default_db}
+Provides: db-cxx = %{version}-%{release}
+Obsoletes: db4-cxx
+%endif
%description cxx
Berkeley database library for C++.
Summary: Header files for db-cxx library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki db-cxx
Group: Development/Libraries
-Requires: %{name}-cxx = %{epoch}:%{version}-%{release}
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-cxx = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+%if %{with default_db}
+Provides: db-cxx-devel = %{version}-%{release}
+%endif
Conflicts: db-devel < 4.1.25-3
%description cxx-devel
Summary: Static version of db-cxx library
Summary(pl.UTF-8): Statyczna wersja biblioteki db-cxx
Group: Development/Libraries
-Requires: %{name}-cxx-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-cxx-devel = %{version}-%{release}
+%if %{with default_db}
+Provides: db-cxx-static = %{version}-%{release}
+%endif
Conflicts: db-static < 4.2.50-1
%description cxx-static
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla Javy
Group: Libraries
Requires: jpackage-utils
+%if %{with default_db}
+Provides: db-java = %{version}-%{release}
+%endif
%description java
Berkeley database library for Java.
Summary: Development files for db-java library
Summary(pl.UTF-8): Pliki programistyczne biblioteki db-java
Group: Development/Languages/Java
-Requires: %{name}-java = %{epoch}:%{version}-%{release}
+Requires: %{name}-java = %{version}-%{release}
+%if %{with default_db}
+Provides: db-java-devel = %{version}-%{release}
+%endif
Conflicts: db-devel < 4.1.25-3
%description java-devel
Summary: Berkeley database library for Tcl
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla Tcl
Group: Development/Languages/Tcl
+Requires: tcl
+%if %{with default_db}
+Provides: db-tcl = %{version}-%{release}
+Obsoletes: db4-tcl
+%endif
%description tcl
Berkeley database library for Tcl.
Summary: Development files for db-tcl library
Summary(pl.UTF-8): Pliki programistyczne biblioteki db-tcl
Group: Development/Languages/Tcl
-Requires: %{name}-tcl = %{epoch}:%{version}-%{release}
+Requires: %{name}-tcl = %{version}-%{release}
+%if %{with default_db}
+Provides: db-tcl-devel = %{version}-%{release}
+%endif
Conflicts: db-devel < 4.1.25-3
%description tcl-devel
Summary: Command line tools for managing Berkeley DB databases
Summary(pl.UTF-8): Narzędzia do obsługi baz Berkeley DB z linii poleceń
Group: Applications/Databases
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+%if %{with default_db}
+Provides: db-utils = %{version}-%{release}
+Obsoletes: db4-utils
+%endif
%description utils
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
mv $RPM_BUILD_ROOT%{_libdir}/db.jar $RPM_BUILD_ROOT%{_javadir}
%else
-rm -rf $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/java
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/java
%endif
%clean
%files
%defattr(644,root,root,755)
%doc LICENSE README
+%if %{with default_db}
+%attr(755,root,root) /%{_lib}/libdb-4.2.so
+%else
%attr(755,root,root) %{_libdir}/libdb-4.2.so
+%endif
%dir %{_docdir}/db-%{version}-docs
%{_docdir}/db-%{version}-docs/sleepycat
%{_docdir}/db-%{version}-docs/index.html
%files devel
%defattr(644,root,root,755)
%{_libdir}/libdb-4.2.la
+%if %{with default_db}
+%attr(755,root,root) %{_libdir}/libdb-4.2.so
+%attr(755,root,root) %{_libdir}/libdb4.so
+%attr(755,root,root) %{_libdir}/libdb.so
+%attr(755,root,root) %{_libdir}/libndbm.so
+%{_libdir}/libdb4.la
+%{_libdir}/libdb.la
+%{_libdir}/libndbm.la
+%else
%dir %{_includedir}
+%endif
%{_includedir}/db.h
%{_includedir}/db_185.h
%{_docdir}/db-%{version}-docs/api_c
%files cxx-devel
%defattr(644,root,root,755)
-%{_includedir}/db_cxx.h
%{_libdir}/libdb_cxx-4.2.la
+%if %{with default_db}
+%attr(755,root,root) %{_libdir}/libdb_cxx.so
+%{_libdir}/libdb_cxx.la
+%endif
+%{_includedir}/db_cxx.h
%{_docdir}/db-%{version}-docs/api_cxx
%{_examplesdir}/db-cxx-%{version}
%files cxx-static
%defattr(644,root,root,755)
%{_libdir}/libdb_cxx-4.2.a
+%if %{with default_db}
+%{_libdir}/libdb_cxx.a
+%endif
%if %{with java}
%files java
%files tcl-devel
%defattr(644,root,root,755)
%{_libdir}/libdb_tcl-4.2.la
+%if %{with default_db}
+%attr(755,root,root) %{_libdir}/libdb_tcl.so
+%{_libdir}/libdb_tcl.la
+%endif
%{_docdir}/db-%{version}-docs/api_tcl
%endif