%bcond_without static_libs # don't build static libraries
%bcond_with sqlite3 # build Sqlite3 API libraries
%bcond_with default_db # use this db as default system db
+%bcond_without rpm_db # install library to rootfs for /bin/rpm
%include /usr/lib/rpm/macros.java
%define major 5
%define libver %{major}.2
-%define ver %{libver}.36
+%define ver %{libver}.42
%define patchlevel 0
Summary: Berkeley DB database library for C
Summary(pl.UTF-8): Biblioteka C do obsługi baz Berkeley DB
Name: db5.2
Version: %{ver}.%{patchlevel}
-Release: 1
+Release: 2
License: BSD-like (see LICENSE)
Group: Libraries
#Source0Download: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.html
Source0: http://download.oracle.com/berkeley-db/db-%{ver}.tar.gz
-# Source0-md5: 88466dd6c13d5d8cddb406be8a1d4d92
+# Source0-md5: 28c39545efbeb926d1efef0bf33135b9
+Patch0: %{name}-link.patch
+Patch1: %{name}-sql-features.patch
URL: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
BuildRequires: automake
%if %{with java}
Summary: Berkeley database library for C++
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla C++
Group: Libraries
+Requires: %{name} = %{version}-%{release}
%if %{with default_db}
Provides: db-cxx = %{version}-%{release}
Obsoletes: db4-cxx
Summary: Berkeley database library for Java
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla Javy
Group: Libraries
+Requires: %{name} = %{version}-%{release}
Requires: jpackage-utils
%if %{with default_db}
Provides: db-java = %{version}-%{release}
Summary: Berkeley database library for Tcl
Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla Tcl
Group: Development/Languages/Tcl
+Requires: %{name} = %{version}-%{release}
Requires: tcl
%if %{with default_db}
Provides: db-tcl = %{version}-%{release}
Summary: SQL layer for Berkeley database library
Summary(pl.UTF-8): Wartstwa SQL dla biblioteki baz danych Berkeley
Group: Libraries
-%if %{with default_bd}
+Requires: %{name} = %{version}-%{release}
+%if %{with default_db}
Provides: db-sql = %{version}-%{release}
%endif
Summary(pl.UTF-8): Pliki programistyczne biblioteki db-sql
Group: Development/Libraries
Requires: %{name}-sql = %{version}-%{release}
-%if %{with default_bd}
+%if %{with default_db}
Provides: db-sql-devel = %{version}-%{release}
Obsoletes: db-sql-devel
%endif
Summary: STL API for Berkeley Database library
Summary(pl.UTF-8): API STL dla biblioteki Berkeley Database
Group: Libraries
+Requires: %{name} = %{version}-%{release}
%if %{with default_db}
Provides: db-stl = %{version}-%{release}
%endif
Summary: Sqlite3 API for Berkeley Database library
Summary(pl.UTF-8): API Sqlite3 dla biblioteki Berkeley Database
Group: Libraries
+Requires: %{name} = %{version}-%{release}
%if %{with default_db}
Provides: db-sqlite3 = %{version}-%{release}
%endif
%prep
%setup -q -n db-%{ver}
+%patch0 -p1
+%patch1 -p1
%build
cp -f /usr/share/automake/config.sub dist
docdir=%{_docdir}/db-%{version}-docs \
includedir=%{_includedir}
-%if %{with default_db}
+%if %{with rpm_db}
install -d $RPM_BUILD_ROOT/%{_lib}
mv $RPM_BUILD_ROOT%{_libdir}/libdb-%{libver}.so $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/libdb-%{libver}.so $RPM_BUILD_ROOT%{_libdir}/libdb-%{libver}.so
+mv $RPM_BUILD_ROOT%{_libdir}/libdb_sql-%{libver}.so $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/libdb_sql-%{libver}.so $RPM_BUILD_ROOT%{_libdir}/libdb_sql-%{libver}.so
%endif
cd $RPM_BUILD_ROOT%{_libdir}
mv -f $RPM_BUILD_ROOT%{_libdir}/db.jar $RPM_BUILD_ROOT%{_javadir}/db-%{libver}.jar
%endif
%if %{with default_db}
-ln -sf /%{_lib}/libdb-%{libver}.so libdb.so
-ln -sf /%{_lib}/libdb-%{libver}.so libdb-%{libver}.so
-ln -sf /%{_lib}/libdb-%{libver}.so libndbm.so
+ln -sf libdb-%{libver}.so libdb.so
+ln -sf libdb-%{libver}.so libndbm.so
ln -sf libdb-%{libver}.la libdb.la
ln -sf libdb-%{libver}.la libndbm.la
ln -sf libdb_cxx-%{libver}.so libdb_cxx.so
ln -sf libdb-%{libver}.a libndbm.a
ln -sf libdb_cxx-%{libver}.a libdb_cxx.a
%endif
+%else
+%{__rm} libdb.so
+%{__rm} libdb_cxx.so
+%{__rm} libdb_sql.so
+%{__rm} libdb_stl.so
+%{__rm} libdb-%{major}.so
+%{__rm} libdb_cxx-%{major}.so
+%{__rm} libdb_sql-%{major}.so
+%{__rm} libdb_stl-%{major}.so
+%if %{with java}
+%{__rm} libdb_java.so
+%{__rm} libdb_java-%{major}.so
+%endif
+%if %{with tcl}
+%{__rm} libdb_tcl.so
+%{__rm} libdb_tcl-%{major}.so
+%endif
%endif
sed -i "s/old_library=''/old_library='libdb-%{libver}.a'/" libdb-%{libver}.la
%files
%defattr(644,root,root,755)
%doc LICENSE README docs/index.html docs/license
-%if %{with default_db}
+%if %{with rpm_db}
%attr(755,root,root) /%{_lib}/libdb-%{libver}.so
%else
%attr(755,root,root) %{_libdir}/libdb-%{libver}.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/db%{libver}_sql_codegen
%{_libdir}/libdb-%{libver}.la
+%if %{with rpm_db}
+%attr(755,root,root) %{_libdir}/libdb-%{libver}.so
+%endif
%if %{with default_db}
%attr(755,root,root) %{_bindir}/db_sql_codegen
-%attr(755,root,root) %{_libdir}/libdb-%{libver}.so
%attr(755,root,root) %{_libdir}/libdb-%{major}.so
%attr(755,root,root) %{_libdir}/libdb.so
%attr(755,root,root) %{_libdir}/libndbm.so
%files sql
%defattr(644,root,root,755)
+%if %{with rpm_db}
+%attr(755,root,root) /%{_lib}/libdb_sql-%{libver}.so
+%else
%attr(755,root,root) %{_libdir}/libdb_sql-%{libver}.so
+%endif
%files sql-devel
%defattr(644,root,root,755)
%{_libdir}/libdb_sql-%{libver}.la
+%if %{with rpm_db}
+%attr(755,root,root) %{_libdir}/libdb_sql-%{libver}.so
+%endif
%if %{with default_db}
%attr(755,root,root) %{_libdir}/libdb_sql.so
%attr(755,root,root) %{_libdir}/libdb_sql-%{major}.so