]> git.pld-linux.org Git - packages/db4.7.git/blobdiff - db4.7.spec
- added default_db bcond (on by default for Th)
[packages/db4.7.git] / db4.7.spec
index da7f3a39497c4f35b49c60507f8b1935a9f1d0ee..6eb61687c80348fcd0568783a788143d75e0b057 100644 (file)
@@ -1,42 +1,51 @@
 #
 # Conditional build:
-%bcond_without java            # don't build java bindings
+%bcond_without apidocs         # do not build and package API docs
+%bcond_without java            # don't build Java bindings
 %bcond_without tcl             # don't build Tcl bindings
-%bcond_with    pmutex          # use POSIX mutexes (only process-private with linuxthreads)
-%bcond_without nptl            # don't use process-shared POSIX mutexes (NPTL provides full interface)
 %bcond_without static_libs     # don't build static libraries
-#
-%{?with_nptl:%define   with_pmutex     1}
-%ifnarch i586 i686 athlon pentium3 pentium4 %{x8664}
-%undefine with_java
-%endif
-%define        mver    4.6
+%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}
+
+%define                libver          4.7
+%define                ver             %{libver}.25
+%define                patchlevel      4
 Summary:       Berkeley DB database library for C
 Summary(pl.UTF-8):     Biblioteka C do obsługi baz Berkeley DB
-Name:          db4.6
-Version:       %{mver}.21
-Release:       2
+Name:          db4.7
+Version:       %{ver}.%{patchlevel}
+Release:       7
 Epoch:         0
-License:       Sleepycat public license (GPL-like, see LICENSE)
+License:       GPL-like (see LICENSE)
 Group:         Libraries
-# alternative site (sometimes working): http://www.berkeleydb.com/
-Source0:       http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
-# Source0-md5: 718082e7e35fc48478a2334b0bc4cd11
-Patch0:                http://www.oracle.com/technology/products/berkeley-db/db/update/4.6.21/patch.4.6.21.1
-URL:           http://www.oracle.com/technology/products/berkeley-db/index.html
-BuildRequires: autoconf
+#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}
+URL:           http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
 BuildRequires: automake
 BuildRequires: ed
-%{?with_java:BuildRequires:    jdk}
+%if %{with java}
+BuildRequires: jdk
+BuildRequires: rpm-javaprov
+%endif
 BuildRequires: libstdc++-devel
-BuildRequires: libtool
+BuildRequires: rpmbuild(macros) >= 1.426
 BuildRequires: sed >= 4.0
 %{?with_tcl:BuildRequires:     tcl-devel >= 8.4.0}
+Requires:      uname(release) >= 2.6.0
+%if %{with default_db}
 Provides:      db = %{version}-%{release}
-%{?with_rpm_robustness:Requires:       uname(release) >= 2.6.17}
+Provides:      db = %{libver}
 Obsoletes:     db4
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%if %{without default_db}
+%define                _includedir     %{_prefix}/include/db%{libver}
+%endif
+
 %description
 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
 provides embedded database support for both traditional and
@@ -54,10 +63,11 @@ 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}
+%if %{with default_db}
 Provides:      db-devel = %{version}-%{release}
 Obsoletes:     db3-devel
 Obsoletes:     db4-devel
-Obsoletes:     db4.5-devel
+%endif
 
 %description devel
 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
@@ -86,9 +96,11 @@ Summary:     Static libraries for Berkeley database library
 Summary(pl.UTF-8):     Statyczne biblioteki Berkeley Database
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{epoch}:%{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
@@ -112,12 +124,25 @@ dla C, C++, Javy i Perla.
 Ten pakiet zawiera statyczne biblioteki do budowania programów
 używających Berkeley DB.
 
+%package apidocs
+Summary:       Berkeley database library API documentation
+Summary(pl.UTF-8):     Dokumentacja API biblioteki baz danych Berkeley
+Group:         Documentation
+
+%description apidocs
+API and internal documentation for Berkeley database library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API i wewnętrzna do biblioteki baz danych Berkeley.
+
 %package cxx
 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++.
@@ -131,7 +156,9 @@ 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}
+%if %{with default_db}
 Provides:      db-cxx-devel = %{version}-%{release}
+%endif
 Conflicts:     db-devel < 4.1.25-3
 
 %description cxx-devel
@@ -145,7 +172,9 @@ 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}
+%if %{with default_db}
 Provides:      db-cxx-static = %{version}-%{release}
+%endif
 Conflicts:     db-static < 4.2.50-1
 
 %description cxx-static
@@ -159,7 +188,9 @@ Summary:    Berkeley database library for Java
 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.
@@ -172,7 +203,9 @@ 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}
+%if %{with default_db}
 Provides:      db-java-devel = %{version}-%{release}
+%endif
 Conflicts:     db-devel < 4.1.25-3
 
 %description java-devel
@@ -186,8 +219,10 @@ 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.
@@ -200,7 +235,9 @@ 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}
+%if %{with default_db}
 Provides:      db-tcl-devel = %{version}-%{release}
+%endif
 Conflicts:     db-devel < 4.1.25-3
 
 %description tcl-devel
@@ -214,10 +251,11 @@ 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}
+%if %{with default_db}
 Provides:      db-utils = %{version}-%{release}
-Obsoletes:     db4-utils
-# obsolete Ra package
 Obsoletes:     db3-utils
+Obsoletes:     db4-utils
+%endif
 
 %description utils
 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
@@ -242,20 +280,15 @@ Ten pakiet zawiera narzędzia do obsługi baz Berkeley DB z linii
 poleceń.
 
 %prep
-%setup -q -n db-%{version}
-%patch0 -p0
-
-%if !%{with nptl}
-sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' dist/aclocal/mutex.ac
-%endif
+%setup -q -n db-%{ver}
+# official patches
+%patchset_patch 1 %{patchlevel}
 
 %build
-cd dist
-cp -f /usr/share/aclocal/libtool.m4 aclocal/libtool.ac
-cp -f /usr/share/automake/config.sub .
-cp -f /usr/share/libtool/ltmain.sh .
-sh s_config
-cd ..
+cp -f /usr/share/automake/config.sub dist
+
+JAVACFLAGS="-source 1.5 -target 1.5"
+export JAVACFLAGS
 
 %if %{with static_libs}
 cp -a build_unix build_unix.static
@@ -274,7 +307,7 @@ export CC CXX CFLAGS CXXFLAGS LDFLAGS
        --disable-shared \
        --enable-static \
        --enable-rpc \
-       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
+       --enable-posixmutexes \
        --enable-cxx
 
 # (temporarily?) disabled because of compilation errors:
@@ -291,7 +324,7 @@ cd build_unix
        --libdir=%{_libdir} \
        --enable-compat185 \
        --enable-rpc \
-       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
+       --enable-posixmutexes \
        --enable-cxx \
        %{?with_tcl:--enable-tcl} \
        %{?with_tcl:--with-tcl=/usr/lib} \
@@ -306,53 +339,64 @@ cd build_unix
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/%{_lib}}
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir}}
 %if %{with java}
 install -d $RPM_BUILD_ROOT%{_javadir}
 %endif
 
 %if %{with static_libs}
 %{__make} -C build_unix.static library_install \
+       DESTDIR=$RPM_BUILD_ROOT \
        docdir=%{_docdir}/db-%{version}-docs \
-       DESTDIR=$RPM_BUILD_ROOT
+       includedir=%{_includedir}
 %endif
 
 %{__make} -C build_unix library_install \
-       docdir=%{_docdir}/db-%{version}-docs \
        DESTDIR=$RPM_BUILD_ROOT \
-       LIB_INSTALL_FILE_LIST=""
+       LIB_INSTALL_FILE_LIST="" \
+       docdir=%{_docdir}/db-%{version}-docs \
+       includedir=%{_includedir}
 
-mv $RPM_BUILD_ROOT%{_libdir}/libdb-%{mver}.so $RPM_BUILD_ROOT/%{_lib}
+%if %{with default_db}
+install -d $RPM_BUILD_ROOT/%{_lib}
+mv $RPM_BUILD_ROOT%{_libdir}/libdb-%{libver}.so $RPM_BUILD_ROOT/%{_lib}
+%endif
 
 cd $RPM_BUILD_ROOT%{_libdir}
-ln -sf /%{_lib}/libdb-%{mver}.so libdb.so
-ln -sf /%{_lib}/libdb-%{mver}.so libdb4.so
-ln -sf /%{_lib}/libdb-%{mver}.so libdb-%{mver}.so
-ln -sf /%{_lib}/libdb-%{mver}.so libndbm.so
-ln -sf libdb-%{mver}.la libdb.la
-ln -sf libdb-%{mver}.la libdb4.la
-ln -sf libdb-%{mver}.la libndbm.la
+%if %{with static_libs}
+mv -f libdb.a libdb-%{libver}.a
+mv -f libdb_cxx.a libdb_cxx-%{libver}.a
+%endif
 %if %{with java}
-ln -sf libdb_java-%{mver}.la libdb_java.la
 mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
 %endif
+%if %{with default_db}
+ln -sf /%{_lib}/libdb-%{libver}.so libdb.so
+ln -sf /%{_lib}/libdb-%{libver}.so libdb4.so
+ln -sf /%{_lib}/libdb-%{libver}.so libdb-%{libver}.so
+ln -sf /%{_lib}/libdb-%{libver}.so libndbm.so
+ln -sf libdb-%{libver}.la libdb.la
+ln -sf libdb-%{libver}.la libdb4.la
+ln -sf libdb-%{libver}.la libndbm.la
+ln -sf libdb_cxx-%{libver}.so libdb_cxx.so
+ln -sf libdb_cxx-%{libver}.la libdb_cxx.la
+%if %{with java}
+ln -sf libdb_java-%{libver}.la libdb_java.la
+%endif
 %if %{with tcl}
-ln -sf libdb_tcl-%{mver}.so libdb_tcl.so
-ln -sf libdb_tcl-%{mver}.la libdb_tcl.la
+ln -sf libdb_tcl-%{libver}.so libdb_tcl.so
+ln -sf libdb_tcl-%{libver}.la libdb_tcl.la
 %endif
-ln -sf libdb_cxx-%{mver}.la libdb_cxx.la
 %if %{with static_libs}
-mv -f libdb.a libdb-%{mver}.a
-ln -sf libdb-%{mver}.a libdb.a
-ln -sf libdb-%{mver}.a libdb4.a
-ln -sf libdb-%{mver}.a libndbm.a
-mv -f libdb_cxx.a libdb_cxx-%{mver}.a
-ln -sf libdb_cxx-%{mver}.a libdb_cxx.a
+ln -sf libdb-%{libver}.a libdb.a
+ln -sf libdb-%{libver}.a libdb4.a
+ln -sf libdb-%{libver}.a libndbm.a
+ln -sf libdb_cxx-%{libver}.a libdb_cxx.a
+%endif
 %endif
-ln -sf libdb_cxx-%{mver}.so libdb_cxx.so
 
-sed -i "s/old_library=''/old_library='libdb-%{mver}.a'/" libdb-%{mver}.la
-sed -i "s/old_library=''/old_library='libdb_cxx-%{mver}.a'/" libdb_cxx-%{mver}.la
+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 -
 rm -f examples_c*/tags
@@ -367,6 +411,9 @@ install -d $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
 cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
 %endif
 
+# in %doc
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/{index.html,license/license_db.html}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -381,24 +428,46 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc LICENSE README
-%attr(755,root,root) /%{_lib}/libdb-%{mver}.so
-%dir %{_docdir}/db-%{version}-docs
-%{_docdir}/db-%{version}-docs/index.html
-%{_docdir}/db-%{version}-docs/license
+%doc LICENSE README docs/index.html docs/license
+%if %{with default_db}
+%attr(755,root,root) /%{_lib}/libdb-%{libver}.so
+%else
+%attr(755,root,root) %{_libdir}/libdb-%{libver}.so
+%endif
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb-%{mver}.so
+%{_libdir}/libdb-%{libver}.la
+%if %{with default_db}
+%attr(755,root,root) %{_libdir}/libdb-%{libver}.so
 %attr(755,root,root) %{_libdir}/libdb4.so
 %attr(755,root,root) %{_libdir}/libdb.so
 %attr(755,root,root) %{_libdir}/libndbm.so
-%{_libdir}/libdb-%{mver}.la
 %{_libdir}/libdb4.la
 %{_libdir}/libdb.la
 %{_libdir}/libndbm.la
+%else
+%dir %{_includedir}
+%endif
 %{_includedir}/db.h
 %{_includedir}/db_185.h
+%{_examplesdir}/db-%{version}
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libdb-%{libver}.a
+%if %{with default_db}
+%{_libdir}/libdb4.a
+%{_libdir}/libdb.a
+%{_libdir}/libndbm.a
+%endif
+%endif
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%dir %{_docdir}/db-%{version}-docs
 %{_docdir}/db-%{version}-docs/api_c
 %{_docdir}/db-%{version}-docs/articles
 %dir %{_docdir}/db-%{version}-docs/gsg
@@ -408,27 +477,21 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_docdir}/db-%{version}-docs/gsg_db_rep
 %{_docdir}/db-%{version}-docs/gsg_db_rep/C
 %{_docdir}/db-%{version}-docs/images
+%{_docdir}/db-%{version}-docs/porting
 %{_docdir}/db-%{version}-docs/ref
-%{_examplesdir}/db-%{version}
-
-%if %{with static_libs}
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libdb-%{mver}.a
-%{_libdir}/libdb4.a
-%{_libdir}/libdb.a
-%{_libdir}/libndbm.a
 %endif
 
 %files cxx
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_cxx-%{mver}.so
+%attr(755,root,root) %{_libdir}/libdb_cxx-%{libver}.so
 
 %files cxx-devel
 %defattr(644,root,root,755)
+%{_libdir}/libdb_cxx-%{libver}.la
+%if %{with default_db}
 %attr(755,root,root) %{_libdir}/libdb_cxx.so
-%{_libdir}/libdb_cxx-%{mver}.la
 %{_libdir}/libdb_cxx.la
+%endif
 %{_includedir}/db_cxx.h
 %{_docdir}/db-%{version}-docs/api_cxx
 %{_docdir}/db-%{version}-docs/gsg/CXX
@@ -439,21 +502,25 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with static_libs}
 %files cxx-static
 %defattr(644,root,root,755)
-%{_libdir}/libdb_cxx-%{mver}.a
+%{_libdir}/libdb_cxx-%{libver}.a
+%if %{with default_db}
 %{_libdir}/libdb_cxx.a
 %endif
+%endif
 
 %if %{with java}
 %files java
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_java-%{mver}.so
+%attr(755,root,root) %{_libdir}/libdb_java-%{libver}.so
 %{_javadir}/db.jar
 
 %files java-devel
 %defattr(644,root,root,755)
+%{_libdir}/libdb_java-%{libver}.la
+%if %{with default_db}
 %attr(755,root,root) %{_libdir}/libdb_java.so
-%{_libdir}/libdb_java-%{mver}.la
 %{_libdir}/libdb_java.la
+%endif
 %{_docdir}/db-%{version}-docs/collections
 %{_docdir}/db-%{version}-docs/gsg/JAVA
 %{_docdir}/db-%{version}-docs/gsg_txn/JAVA
@@ -465,13 +532,15 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with tcl}
 %files tcl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_tcl-%{mver}.so
+%attr(755,root,root) %{_libdir}/libdb_tcl-%{libver}.so
 
 %files tcl-devel
 %defattr(644,root,root,755)
+%{_libdir}/libdb_tcl-%{libver}.la
+%if %{with default_db}
 %attr(755,root,root) %{_libdir}/libdb_tcl.so
-%{_libdir}/libdb_tcl-%{mver}.la
 %{_libdir}/libdb_tcl.la
+%endif
 %{_docdir}/db-%{version}-docs/api_tcl
 %endif
 
@@ -491,4 +560,5 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/db*_stat
 %attr(755,root,root) %{_bindir}/db*_upgrade
 %attr(755,root,root) %{_bindir}/db*_verify
+%dir %{_docdir}/db-%{version}-docs
 %{_docdir}/db-%{version}-docs/utility
This page took 0.135108 seconds and 4 git commands to generate.