%bcond_without java # don't build Java bindings
%bcond_without tcl # don't build Tcl bindings
%bcond_without static_libs # don't build static libraries
-%bcond_without default_db # don't use this db as default system db [Th uses DB 4.7]
-
-%{?with_java:%include /usr/lib/rpm/macros.java}
+%bcond_with default_db # use this db as default system db [Th uses DB 5.3]
%define libver 4.7
%define ver %{libver}.25
%define patchlevel 4
+%{?with_java:%include /usr/lib/rpm/macros.java}
Summary: Berkeley DB database library for C
Summary(pl.UTF-8): Biblioteka C do obsługi baz Berkeley DB
Name: db4.7
Version: %{ver}.%{patchlevel}
-Release: 7
-Epoch: 0
+Release: 8
License: GPL-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: ec2b87e833779681a0c3a814aa71359e
%patchset_source -f http://download.oracle.com/berkeley-db/patches/db/%{ver}/patch.%{ver}.%g 1 %{patchlevel}
+Patch0: %{name}-format-security.patch
URL: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
BuildRequires: automake
BuildRequires: ed
%{?with_tcl:BuildRequires: tcl-devel >= 8.4.0}
Requires: uname(release) >= 2.6.0
%if %{with default_db}
-Provides: db = %{version}-%{release}
Provides: db = %{libver}
+Provides: db = %{version}-%{release}
Obsoletes: db4
%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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: db-devel
Obsoletes: db3-devel
Obsoletes: db4-devel
%endif
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: db-static
Obsoletes: db3-static
Obsoletes: db4-static
%endif
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}
+Obsoletes: db-cxx-devel
%endif
Conflicts: db-devel < 4.1.25-3
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}
+Obsoletes: db-cxx-static
%endif
Conflicts: db-static < 4.2.50-1
Requires: jpackage-utils
%if %{with default_db}
Provides: db-java = %{version}-%{release}
+Obsoletes: db-java
%endif
%description 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}
+Obsoletes: db-java-devel
%endif
Conflicts: db-devel < 4.1.25-3
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}
+Obsoletes: db-tcl-devel
%endif
Conflicts: db-devel < 4.1.25-3
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: db-utils
Obsoletes: db3-utils
Obsoletes: db4-utils
%endif
# official patches
%patchset_patch 1 %{patchlevel}
+%patch0 -p1
+
%build
cp -f /usr/share/automake/config.sub dist
export CC CXX CFLAGS CXXFLAGS LDFLAGS
../dist/%configure \
- --enable-compat185 \
--disable-shared \
--enable-static \
- --enable-rpc \
+ --enable-compat185 \
+ --enable-cxx \
--enable-posixmutexes \
- --enable-cxx
+ --enable-rpc
# (temporarily?) disabled because of compilation errors:
# --enable-dump185 \
../dist/%configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
+ --enable-shared \
+ --disable-static \
--enable-compat185 \
- --enable-rpc \
- --enable-posixmutexes \
--enable-cxx \
- %{?with_tcl:--enable-tcl} \
- %{?with_tcl:--with-tcl=/usr/lib} \
+ --enable-posixmutexes \
+ --enable-rpc \
%{?with_java:--enable-java} \
- --disable-static \
- --enable-shared
+ %{?with_tcl:--enable-tcl --with-tcl=/usr/lib}
%{__make} library_build \
TCFLAGS='-I$(builddir) -I%{_includedir}' \
mv -f libdb_cxx.a libdb_cxx-%{libver}.a
%endif
%if %{with java}
-mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
+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 libdb_cxx-%{libver}.la libdb_cxx.la
%if %{with java}
ln -sf libdb_java-%{libver}.la libdb_java.la
+ln -sf db-%{libver}.jar $RPM_BUILD_ROOT%{_javadir}/db.jar
%endif
%if %{with tcl}
ln -sf libdb_tcl-%{libver}.so libdb_tcl.so
sed -i "s/old_library=''/old_library='libdb-%{libver}.a'/" libdb-%{libver}.la
sed -i "s/old_library=''/old_library='libdb_cxx-%{libver}.a'/" libdb_cxx-%{libver}.la
+cd -
+
+cd $RPM_BUILD_ROOT%{_bindir}
+mv -f berkeley_db_svc berkeley_db_svc-%{libver}
+%{?with_default_db:ln -sf berkeley_db_svc-%{libver} berkeley_db_svc}
+for F in db_*; do
+ Fver=$(echo $F|sed 's/db_/db%{libver}_/')
+ mv $F $Fver
+ %{?with_default_db:ln -sf $Fver $F}
+done
cd -
rm -f examples_c*/tags
install -d $RPM_BUILD_ROOT%{_examplesdir}/db-%{version}
%files java
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libdb_java-%{libver}.so
+%{_javadir}/db-%{libver}.jar
+%if %{with default_db}
%{_javadir}/db.jar
+%endif
%files java-devel
%defattr(644,root,root,755)
%files utils
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/berkeley_db_svc-%{libver}
+%attr(755,root,root) %{_bindir}/db%{libver}_archive
+%attr(755,root,root) %{_bindir}/db%{libver}_checkpoint
+%attr(755,root,root) %{_bindir}/db%{libver}_codegen
+%attr(755,root,root) %{_bindir}/db%{libver}_deadlock
+%attr(755,root,root) %{_bindir}/db%{libver}_dump
+#%attr(755,root,root) %{_bindir}/db%{libver}_dump185
+%attr(755,root,root) %{_bindir}/db%{libver}_hotbackup
+%attr(755,root,root) %{_bindir}/db%{libver}_load
+%attr(755,root,root) %{_bindir}/db%{libver}_printlog
+%attr(755,root,root) %{_bindir}/db%{libver}_recover
+%attr(755,root,root) %{_bindir}/db%{libver}_stat
+%attr(755,root,root) %{_bindir}/db%{libver}_upgrade
+%attr(755,root,root) %{_bindir}/db%{libver}_verify
+%if %{with default_db}
%attr(755,root,root) %{_bindir}/berkeley_db_svc
-%attr(755,root,root) %{_bindir}/db*_archive
-%attr(755,root,root) %{_bindir}/db*_checkpoint
-%attr(755,root,root) %{_bindir}/db*_codegen
-%attr(755,root,root) %{_bindir}/db*_deadlock
-%attr(755,root,root) %{_bindir}/db*_dump
-#%attr(755,root,root) %{_bindir}/db*_dump185
-%attr(755,root,root) %{_bindir}/db*_hotbackup
-%attr(755,root,root) %{_bindir}/db*_load
-%attr(755,root,root) %{_bindir}/db*_printlog
-%attr(755,root,root) %{_bindir}/db*_recover
-%attr(755,root,root) %{_bindir}/db*_stat
-%attr(755,root,root) %{_bindir}/db*_upgrade
-%attr(755,root,root) %{_bindir}/db*_verify
+%attr(755,root,root) %{_bindir}/db_archive
+%attr(755,root,root) %{_bindir}/db_checkpoint
+%attr(755,root,root) %{_bindir}/db_codegen
+%attr(755,root,root) %{_bindir}/db_deadlock
+%attr(755,root,root) %{_bindir}/db_dump
+#%attr(755,root,root) %{_bindir}/db_dump185
+%attr(755,root,root) %{_bindir}/db_hotbackup
+%attr(755,root,root) %{_bindir}/db_load
+%attr(755,root,root) %{_bindir}/db_printlog
+%attr(755,root,root) %{_bindir}/db_recover
+%attr(755,root,root) %{_bindir}/db_stat
+%attr(755,root,root) %{_bindir}/db_upgrade
+%attr(755,root,root) %{_bindir}/db_verify
+%endif
%dir %{_docdir}/db-%{version}-docs
%{_docdir}/db-%{version}-docs/utility