]> git.pld-linux.org Git - packages/db.git/blobdiff - db.spec
- rel 11 (fix fastmutexes on amd64; add official fixes nr 3 and 4)
[packages/db.git] / db.spec
diff --git a/db.spec b/db.spec
index ddc2235586ae6e5b4945010f039cd2fa0abc1072..1edc1cee1362f495a87f07846445a2951a58aace 100644 (file)
--- a/db.spec
+++ b/db.spec
@@ -1,14 +1,16 @@
 #
 # Conditional build:
 %bcond_with    java    # build db-java (required for openoffice)
-%bcond_without tcl     # don't build tcl bindings
-%bcond_with    nptl    # enable posix mutexes
+%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)
 #
+%{?with_nptl:%define   with_pmutex     1}
 Summary:       Berkeley DB database library for C
 Summary(pl):   Biblioteka C do obs³ugi baz Berkeley DB
 Name:          db
 Version:       4.2.52
-Release:       3
+Release:       11
 License:       Sleepycat public license (GPL-like, see LICENSE)
 Group:         Libraries
 # alternative site (sometimes working): http://www.berkeleydb.com/
@@ -16,6 +18,11 @@ Group:               Libraries
 Source0:       http://www.sleepycat.com/update/snapshot/%{name}-%{version}.tar.gz
 # Source0-md5: cbc77517c9278cdb47613ce8cb55779f
 Patch0:                %{name}-so-suffix.patch
+Patch1:                patch.4.2.52.1
+Patch2:                patch.4.2.52.2
+Patch3:                patch.4.2.52.3
+Patch4:                patch.4.2.52.4
+Patch5:                %{name}-amd64-fastmutex.patch
 URL:           http://www.sleepycat.com/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -23,13 +30,12 @@ BuildRequires:      ed
 %{?with_java:BuildRequires:    jdk}
 BuildRequires: libtool
 BuildRequires: libstdc++-devel
+BuildRequires: rpmbuild(macros) >= 1.164
 BuildRequires: sed >= 4.0
 %{?with_tcl:BuildRequires:     tcl-devel >= 8.4.0}
 Obsoletes:     db4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _javalibdir     /usr/share/java
-
 %description
 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
 provides embedded database support for both traditional and
@@ -64,7 +70,7 @@ for building programs which use Berkeley DB.
 %description devel -l pl
 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
-klient-serwer. Berkeley DB obs³ugje dostêp do bazy przez B-drzewa i
+klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
 dla C, C++, Javy i Perla.
@@ -94,7 +100,7 @@ use Berkeley DB.
 %description static -l pl
 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
-klient-serwer. Berkeley DB obs³ugje dostêp do bazy przez B-drzewa i
+klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
 dla C, C++, Javy i Perla.
@@ -145,6 +151,7 @@ Statyczna wersja biblioteki db-cxx.
 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.
@@ -153,11 +160,11 @@ Berkeley database library for Java.
 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
+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.
@@ -166,17 +173,17 @@ Development files for db-java library.
 Pliki programistyczne biblioteki db-java.
 
 %package tcl
-Summary:       Berkeley database library for TCL
-Summary(pl):   Biblioteka baz danych Berkeley dla TCL
+Summary:       Berkeley database library for Tcl
+Summary(pl):   Biblioteka baz danych Berkeley dla Tcl
 Group:         Development/Languages/Tcl
 Requires:      tcl
 Obsoletes:     db4-tcl
 
 %description tcl
-Berkeley database library for TCL.
+Berkeley database library for Tcl.
 
 %description tcl -l pl
-Biblioteka baz danych Berkeley dla TCL.
+Biblioteka baz danych Berkeley dla Tcl.
 
 %package tcl-devel
 Summary:       Development files for db-tcl library
@@ -213,7 +220,7 @@ databases.
 %description utils -l pl
 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
-klient-serwer. Berkeley DB obs³ugje dostêp do bazy przez B-drzewa i
+klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
 dla C, C++, Javy i Perla.
@@ -224,12 +231,21 @@ polece
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+%patch5 -p1
+
+%if %{without nptl}
+sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' dist/aclocal/mutex.ac
+%endif
 
 %build
 cd dist
-cp -f %{_datadir}/aclocal/libtool.m4 aclocal/libtool.ac
-cp -f %{_datadir}/automake/config.sub .
-cp -f %{_datadir}/libtool/ltmain.sh .
+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 ..
 
@@ -241,7 +257,7 @@ CC="%{__cc}"
 CXX="%{__cxx}"
 CFLAGS="%{rpmcflags}"
 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
-LDFLAGS="%{rpmldflags} %{?with_nptl:-lpthread}"
+LDFLAGS="%{rpmldflags}"
 export CC CXX CFLAGS CXXFLAGS LDFLAGS
 
 ../dist/%configure \
@@ -249,7 +265,7 @@ export CC CXX CFLAGS CXXFLAGS LDFLAGS
        --disable-shared \
        --enable-static \
        --enable-rpc \
-       %{?with_nptl:--enable-posixmutexes} \
+       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
        --enable-cxx
 
 # (temporarily?) disabled because of compilation errors:
@@ -264,7 +280,7 @@ cd ../build_unix
        --libdir=%{_libdir} \
        --enable-compat185 \
        --enable-rpc \
-       %{?with_nptl:--enable-posixmutexes} \
+       --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
        --enable-cxx \
        %{?with_tcl:--enable-tcl} \
        %{?with_tcl:--with-tcl=/usr/lib} \
@@ -273,13 +289,15 @@ cd ../build_unix
        --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}
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/%{_lib}}
 %if %{with java}
-install -d $RPM_BUILD_ROOT%{_javalibdir}
+install -d $RPM_BUILD_ROOT%{_javadir}
 %endif
 
 %{__make} -C build_unix.static library_install \
@@ -291,17 +309,19 @@ install -d $RPM_BUILD_ROOT%{_javalibdir}
        DESTDIR=$RPM_BUILD_ROOT \
        LIB_INSTALL_FILE_LIST=""
 
+mv $RPM_BUILD_ROOT%{_libdir}/libdb-4.2.so $RPM_BUILD_ROOT/%{_lib}
+
 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 /%{_lib}/libdb-4.2.so libdb.so
+ln -sf /%{_lib}/libdb-4.2.so libdb4.so
+ln -sf /%{_lib}/libdb-4.2.so libdb-4.so
+ln -sf /%{_lib}/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%{_javalibdir}
+mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
 %endif
 %if %{with tcl}
 ln -sf libdb_tcl-4.2.so libdb_tcl.so
@@ -336,8 +356,8 @@ cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-java-%{version}
 %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
@@ -348,7 +368,7 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc LICENSE README
-%attr(755,root,root) %{_libdir}/libdb-4.2.so
+%attr(755,root,root) /%{_lib}/libdb-4.2.so
 %dir %{_docdir}/%{name}-%{version}-docs
 %{_docdir}/%{name}-%{version}-docs/sleepycat
 %{_docdir}/%{name}-%{version}-docs/index.html
@@ -399,8 +419,8 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with java}
 %files java
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdb_java*.so
-%{_javalibdir}/db.jar
+%attr(755,root,root) %{_libdir}/libdb_java-4.2.so
+%{_javadir}/db.jar
 
 %files java-devel
 %defattr(644,root,root,755)
This page took 0.067245 seconds and 4 git commands to generate.