]> git.pld-linux.org Git - packages/db4.2.git/blobdiff - db4.2.spec
- posixmutexes handling fix (now only private cap depends on build env)
[packages/db4.2.git] / db4.2.spec
index c225714b4edd00382086ff0eadb7ab8988a596f5..7e4435610709cfd75053618ee7d6337d7ca864c0 100644 (file)
@@ -1,25 +1,34 @@
 #
 # Conditional build:
-# _with_java   - build db-java (required for openoffice)
+%bcond_with    java    # build db-java (required for openoffice)
+%bcond_without tcl     # don't build tcl bindings
+%bcond_with    pmutex  # use POSIX mutexes (only process-private with linuxthreads)
+%bcond_with    nptl    # synonym for pmutex (NPTL provides full interface)
 #
-Summary:       BSD database library for C
+%{?with_nptl:%define   pmutex  1}
+Summary:       Berkeley DB database library for C
 Summary(pl):   Biblioteka C do obs³ugi baz Berkeley DB
 Name:          db
-Version:       4.1.25
-Release:       4
-License:       BSD
+Version:       4.2.52
+Release:       5
+License:       Sleepycat public license (GPL-like, see LICENSE)
 Group:         Libraries
 # alternative site (sometimes working): http://www.berkeleydb.com/
+#Source0Download: http://www.sleepycat.com/download/
 Source0:       http://www.sleepycat.com/update/snapshot/%{name}-%{version}.tar.gz
-# Source0-md5: df71961002b552c0e72c6e4e358f27e1
-Patch0:                %{name}-o_direct.patch
-Patch1:                http://www.sleepycat.com/update/4.1.25/patch.4.1.25.1
+# Source0-md5: cbc77517c9278cdb47613ce8cb55779f
+Patch0:                %{name}-so-suffix.patch
+Patch1:                patch.4.2.52.1
+Patch2:                patch.4.2.52.2
 URL:           http://www.sleepycat.com/
 BuildRequires: autoconf
+BuildRequires: automake
 BuildRequires: ed
-%{?_with_java:BuildRequires:   gcc-java}
+%{?with_java:BuildRequires:    jdk}
+BuildRequires: libtool
 BuildRequires: libstdc++-devel
-BuildRequires: tcl-devel >= 8.3.2
+BuildRequires: sed >= 4.0
+%{?with_tcl:BuildRequires:     tcl-devel >= 8.4.0}
 Obsoletes:     db4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -39,7 +48,7 @@ Pythonie i Perlu.
 Summary:       Header files for Berkeley database library
 Summary(pl):   Pliki nag³ówkowe do biblioteki Berkeley Database
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Obsoletes:     db3-devel
 Obsoletes:     db4-devel
 
@@ -69,7 +78,7 @@ program
 Summary:       Static libraries for Berkeley database library
 Summary(pl):   Statyczne biblioteki Berkeley Database
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 Obsoletes:     db3-static
 Obsoletes:     db4-static
 
@@ -108,24 +117,37 @@ Berkeley database library for C++.
 Biblioteka baz danych Berkeley dla C++.
 
 %package cxx-devel
-Summary:       Berkeley database library for C++
-Summary(pl):   Biblioteka baz danych Berkeley dla C++
-Group:         Libraries
-Requires:      %{name}-cxx = %{version}
-Requires:      %{name}-devel = %{version}
-Obsoletes:     db4-cxx
+Summary:       Header files for db-cxx library
+Summary(pl):   Pliki nag³ówkowe biblioteki db-cxx
+Group:         Development/Libraries
+Requires:      %{name}-cxx = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 Conflicts:     db-devel < 4.1.25-3
 
 %description cxx-devel
-Berkeley database library for C++.
+Header files for db-cxx library.
 
 %description cxx-devel -l pl
-Biblioteka baz danych Berkeley dla C++.
+Pliki nag³ówkowe biblioteki db-cxx.
+
+%package cxx-static
+Summary:       Static version of db-cxx library
+Summary(pl):   Statyczna wersja biblioteki db-cxx
+Group:         Development/Libraries
+Requires:      %{name}-cxx-devel = %{epoch}:%{version}-%{release}
+Conflicts:     db-static < 4.2.50-1
+
+%description cxx-static
+Static version of db-cxx library.
+
+%description cxx-static -l pl
+Statyczna wersja biblioteki db-cxx.
 
 %package java
 Summary:       Berkeley database library for Java
 Summary(pl):   Biblioteka baz danych Berkeley dla Javy
 Group:         Libraries
+Requires:      jre
 
 %description java
 Berkeley database library for Java.
@@ -133,6 +155,19 @@ Berkeley database library for Java.
 %description java -l pl
 Biblioteka baz danych Berkeley dla Javy.
 
+%package java-devel
+Summary:       Development files for db-java library
+Summary(pl):   Pliki programistyczne biblioteki db-java
+Group:         Development/Languages/Java
+Requires:      %{name}-java = %{epoch}:%{version}-%{release}
+Conflicts:     db-devel < 4.1.25-3
+
+%description java-devel
+Development files for db-java library.
+
+%description java-devel -l pl
+Pliki programistyczne biblioteki db-java.
+
 %package tcl
 Summary:       Berkeley database library for TCL
 Summary(pl):   Biblioteka baz danych Berkeley dla TCL
@@ -147,25 +182,24 @@ Berkeley database library for TCL.
 Biblioteka baz danych Berkeley dla TCL.
 
 %package tcl-devel
-Summary:       Berkeley database library for TCL
-Summary(pl):   Biblioteka baz danych Berkeley dla TCL
+Summary:       Development files for db-tcl library
+Summary(pl):   Pliki programistyczne biblioteki db-tcl
 Group:         Development/Languages/Tcl
 Requires:      tcl
-Requires:      %{name}-tcl = %{version}
-Obsoletes:     db4-tcl
+Requires:      %{name}-tcl = %{epoch}:%{version}-%{release}
 Conflicts:     db-devel < 4.1.25-3
 
 %description tcl-devel
-Berkeley database library for TCL.
+Development files for db-tcl library.
 
 %description tcl-devel -l pl
-Biblioteka baz danych Berkeley dla TCL.
+Pliki programistyczne biblioteki db-tcl.
 
 %package utils
 Summary:       Command line tools for managing Berkeley DB databases
 Summary(pl):   Narzêdzia do obs³ugi baz Berkeley DB z linii poleceñ
 Group:         Applications/Databases
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Obsoletes:     db4-utils
 
 %description utils
@@ -194,9 +228,13 @@ polece
 %setup -q
 %patch0 -p1
 %patch1 -p0
+%patch2 -p0
 
 %build
 cd dist
+cp -f %{_datadir}/aclocal/libtool.m4 aclocal/libtool.ac
+cp -f %{_datadir}/automake/config.sub .
+cp -f %{_datadir}/libtool/ltmain.sh .
 sh s_config
 cd ..
 
@@ -206,16 +244,17 @@ cd build_unix.static
 
 CC="%{__cc}"
 CXX="%{__cxx}"
-CFLAGS="%{rpmcflags} -fno-implicit-templates"
+CFLAGS="%{rpmcflags}"
 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
-export CC CXX CFLAGS CXXFLAGS
+LDFLAGS="%{rpmldflags}"
+export CC CXX CFLAGS CXXFLAGS LDFLAGS
 
-../dist/configure \
-       --prefix=%{_prefix} \
+../dist/%configure \
        --enable-compat185 \
        --disable-shared \
        --enable-static \
        --enable-rpc \
+       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
        --enable-cxx
 
 # (temporarily?) disabled because of compilation errors:
@@ -225,67 +264,87 @@ export CC CXX CFLAGS CXXFLAGS
 
 cd ../build_unix
 
-../dist/configure \
+../dist/%configure \
        --prefix=%{_prefix} \
+       --libdir=%{_libdir} \
        --enable-compat185 \
-       --enable-shared \
-       --disable-static \
        --enable-rpc \
+       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
        --enable-cxx \
-       --enable-tcl \
-       --with-tcl=/usr/lib \
-       %{?_with_java:--enable-java}
+       %{?with_tcl:--enable-tcl} \
+       %{?with_tcl:--with-tcl=/usr/lib} \
+       %{?with_java:--enable-java} \
+       --disable-static \
+       --enable-shared 
 
 %{__make} library_build \
-       TCFLAGS='-I$(builddir) -I%{_includedir}'
+       TCFLAGS='-I$(builddir) -I%{_includedir}' \
+       LIBSO_LIBS="\$(LIBS)" \
+       LIBTSO_LIBS="\$(LIBS) -ltcl"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/lib}
-
-cd build_unix.static
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir}}
+%if %{with java}
+install -d $RPM_BUILD_ROOT%{_javadir}
+%endif
 
-%{__make} library_install \
-       prefix=$RPM_BUILD_ROOT%{_prefix}
+%{__make} -C build_unix.static library_install \
+       docdir=%{_docdir}/%{name}-%{version}-docs \
+       DESTDIR=$RPM_BUILD_ROOT
 
-cd ../build_unix
-
-%{__make} library_install \
-       prefix=$RPM_BUILD_ROOT%{_prefix} \
-       includedir=$RPM_BUILD_ROOT%{_includedir} \
+%{__make} -C build_unix library_install \
+       docdir=%{_docdir}/%{name}-%{version}-docs \
+       DESTDIR=$RPM_BUILD_ROOT \
        LIB_INSTALL_FILE_LIST=""
 
-(cd $RPM_BUILD_ROOT%{_libdir}
-ln -sf libdb-4.1.so libdb4.so
-ln -sf libdb-4.1.so libndbm.so
-ln -sf libdb-4.1.la libdb.la
-ln -sf libdb-4.1.la libdb4.la
-ln -sf libdb-4.1.la libndbm.la
-ln -sf libdb_tcl-4.1.la libdb_tcl.la
-ln -sf libdb_cxx-4.1.la libdb_cxx.la
-mv -f libdb.a libdb-4.1.a
-ln -sf libdb-4.1.a libdb.a
-ln -sf libdb-4.1.a libdb4.a
-ln -sf libdb-4.1.a libndbm.a
-mv -f libdb_cxx.a libdb_cxx-4.1.a
-ln -sf libdb_cxx-4.1.a libdb_cxx.a
-
-mv -f libdb-4.1.la libdb-4.1.la.tmp
-mv -f libdb_cxx-4.1.la libdb_cxx-4.1.la.tmp
-sed -e "s/old_library=''/old_library='libdb-4.1.a'/" libdb-4.1.la.tmp > libdb-4.1.la
-sed -e "s/old_library=''/old_library='libdb_cxx-4.1.a'/" libdb_cxx-4.1.la.tmp > libdb_cxx-4.1.la
-rm -f libdb*.la.tmp
-)
-
-cd ..
-#rm -rf examples_java
-#cp -a java/src/com/sleepycat/examples examples_java
+cd $RPM_BUILD_ROOT%{_libdir}
+ln -sf libdb-4.2.so libdb.so
+ln -sf libdb-4.2.so libdb4.so
+ln -sf libdb-4.2.so libdb-4.so
+ln -sf libdb-4.2.so libndbm.so
+ln -sf libdb-4.2.la libdb.la
+ln -sf libdb-4.2.la libdb4.la
+ln -sf libdb-4.2.la libndbm.la
+%if %{with java}
+ln -sf libdb_java-4.2.la libdb_java.la
+mv -f *.jar $RPM_BUILD_ROOT%{_javadir}
+%endif
+%if %{with tcl}
+ln -sf libdb_tcl-4.2.so libdb_tcl.so
+ln -sf libdb_tcl-4.2.la libdb_tcl.la
+%endif
+ln -sf libdb_cxx-4.2.la libdb_cxx.la
+mv -f libdb.a libdb-4.2.a
+ln -sf libdb-4.2.a libdb.a
+ln -sf libdb-4.2.a libdb4.a
+ln -sf libdb-4.2.a libndbm.a
+mv -f libdb_cxx.a libdb_cxx-4.2.a
+ln -sf libdb_cxx-4.2.a libdb_cxx.a
+ln -sf libdb_cxx-4.2.so libdb_cxx.so
+ln -sf libdb_cxx-4.2.so libdb_cxx-4.so
+
+sed -i "s/old_library=''/old_library='libdb-4.2.a'/" libdb-4.2.la
+sed -i "s/old_library=''/old_library='libdb_cxx-4.2.a'/" libdb_cxx-4.2.la
+
+cd -
+rm -f examples_c*/tags
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -rf examples_c/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cxx-%{version}
+cp -rf examples_cxx/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cxx-%{version}
+
+%if %{with java}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-java-%{version}
+cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-java-%{version}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post   -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
 
 %post  tcl -p /sbin/ldconfig
 %postun        tcl -p /sbin/ldconfig
@@ -296,59 +355,84 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc LICENSE README
-#%attr(755,root,root) /lib/libdb-*.so
-%attr(755,root,root) %{_libdir}/libdb-*.so
+%attr(755,root,root) %{_libdir}/libdb-4.2.so
+%dir %{_docdir}/%{name}-%{version}-docs
+%{_docdir}/%{name}-%{version}-docs/sleepycat
+%{_docdir}/%{name}-%{version}-docs/index.html
 
 %files devel
 %defattr(644,root,root,755)
-%doc docs/{api*,ref,index.html,sleepycat,images} examples_c*
-%{_includedir}/db.h
-%{_includedir}/db_185.h
-%{_libdir}/libdb-4.1.la
+%{_libdir}/libdb-4.2.la
+%{_libdir}/libdb-4.so
 %{_libdir}/libdb.la
 %{_libdir}/libdb.so
 %{_libdir}/libdb4.la
 %{_libdir}/libdb4.so
 %{_libdir}/libndbm.la
 %{_libdir}/libndbm.so
+%{_includedir}/db.h
+%{_includedir}/db_185.h
+%{_docdir}/%{name}-%{version}-docs/api_c
+%{_docdir}/%{name}-%{version}-docs/images
+%{_docdir}/%{name}-%{version}-docs/ref
+%{_examplesdir}/%{name}-%{version}
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libdb-4.2.a
+%{_libdir}/libdb4.a
+%{_libdir}/libdb.a
+%{_libdir}/libndbm.a
 
 %files cxx
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_cxx-*.so
+%attr(755,root,root) %{_libdir}/libdb_cxx-4.2.so
 
 %files cxx-devel
 %defattr(644,root,root,755)
-%{_includedir}/cxx_common.h
-%{_includedir}/cxx_except.h
 %{_includedir}/db_cxx.h
-%{_libdir}/libdb_cxx-4.1.la
+%{_libdir}/libdb_cxx-4.2.la
+%{_libdir}/libdb_cxx-4.so
 %{_libdir}/libdb_cxx.la
 %{_libdir}/libdb_cxx.so
+%{_docdir}/%{name}-%{version}-docs/api_cxx
+%{_examplesdir}/%{name}-cxx-%{version}
 
-%if %{?_with_java:1}%{!?_with_java:0}
+%files cxx-static
+%defattr(644,root,root,755)
+%{_libdir}/libdb_cxx-4.2.a
+%{_libdir}/libdb_cxx.a
+
+%if %{with java}
 %files java
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libdb_java*.so
-%attr(644,root,root) %{_libdir}/db.jar
+%{_javadir}/db.jar
+
+%files java-devel
+%defattr(644,root,root,755)
+%{_libdir}/libdb_java-4.2.la
+%{_libdir}/libdb_java.la
+%{_libdir}/libdb_java.so
+%{_docdir}/%{name}-%{version}-docs/java
+%{_examplesdir}/%{name}-java-%{version}
 %endif
 
+%if %{with tcl}
 %files tcl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_tcl-*.so
+%attr(755,root,root) %{_libdir}/libdb_tcl-4.2.so
 
 %files tcl-devel
 %defattr(644,root,root,755)
-%{_libdir}/libdb_tcl-4.1.la
+%{_libdir}/libdb_tcl-4.2.la
 %{_libdir}/libdb_tcl.la
 %{_libdir}/libdb_tcl.so
+%{_docdir}/%{name}-%{version}-docs/api_tcl
+%endif
 
 %files utils
 %defattr(644,root,root,755)
-%doc docs/utility/*
 %attr(755,root,root) %{_bindir}/berkeley_db_svc
 %attr(755,root,root) %{_bindir}/db*_archive
 %attr(755,root,root) %{_bindir}/db*_checkpoint
@@ -361,3 +445,4 @@ 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
+%{_docdir}/%{name}-%{version}-docs/utility
This page took 0.306139 seconds and 4 git commands to generate.