X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=db3.spec;h=eb43a4e7e34bd89bcb50933dfef7b120bc585c90;hb=fb3d7ded6e4021603f55dbf8f091875e99358c60;hp=ac1c7368ae25d9ff5d449e2ecae0321267de7bf4;hpb=fd88317a283e88c961450fe22f74d427ec11f12c;p=packages%2Fdb3.git diff --git a/db3.spec b/db3.spec index ac1c736..eb43a4e 100644 --- a/db3.spec +++ b/db3.spec @@ -1,25 +1,20 @@ -%define __soversion 3.1 -%define _libdb_a libdb-%{__soversion}.a - Summary: BSD database library for C Name: db3 -Version: 3.1.14 -Release: 1 +Version: 3.1.17 +Release: 2 Group: Libraries +Group(de): Libraries +Group(fr): Librairies +Group(pl): Biblioteki License: GPL URL: http://www.sleepycat.com Source0: http://www.sleepycat.com/update/%{version}/db-%{version}.tar.gz -#Patch0: http://www.sleepycat.com/update/%{version}/patch.3.0.55.1 -Patch0: db3-align.patch -Patch1: db3-linux-threads.patch -Patch2: db3-shmget.patch +Patch0: %{name}-linux-threads.patch +Patch1: %{name}-static.patch PreReq: /sbin/ldconfig - -# XXX written as a file prereq in order to build with glibc-2.1.3 -%ifos linux -BuildPrereq: /usr/lib/libdb1.a -%endif - +BuildRequires: db1-static +BuildRequires: glibc-static +BuildRequires: tcl-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -45,9 +40,20 @@ recovery. DB supports C, C++, Java and Perl APIs. This package contains command line tools for managing Berkeley DB databases. +%package tcl +Summary: Berkeley database library for TCL +Group: Development/Languages/Tcl +Group(de): Entwicklung/Sprachen/Tcl +Group(pl): Programowanie/Jêzyki/Tcl +Requires: %{name} = %{version} + +%description tcl +Berkeley database library for TCL. + %package devel Summary: Development libraries and header files for Berkeley database library Group: Development/Libraries +Group(de): Entwicklung/Libraries Group(fr): Development/Librairies Group(pl): Programowanie/Biblioteki Requires: %{name} = %{version} @@ -66,6 +72,7 @@ for building programs which use Berkeley DB. %package static Summary: Static libraries for Berkeley database library Group: Development/Libraries +Group(de): Entwicklung/Libraries Group(fr): Development/Librairies Group(pl): Programowanie/Biblioteki Requires: %{name}-devel = %{version} @@ -78,90 +85,97 @@ Linear Hashing, Fixed and Variable-length record access methods, transactions, locking, logging, shared memory caching and database recovery. DB supports C, C++, Java and Perl APIs. -This package contains the static libraries for building programs which use -Berkeley DB. +This package contains the static libraries for building programs which +use Berkeley DB. %prep %setup -q -n db-%{version} -#%patch0 -p0 -#%patch1 -p1 -# XXX not applied -#%patch1 -p1 +#%patch0 -p1 +%patch1 -p1 %build +cp -a build_unix build_unix.static + +cd build_unix.static -cd build_unix +CXXFLAGS="%{!?debug:$RPM_OPT_FLAGS}%{?debug:-O -g} -fno-rtti -fno-implicit-templates" +../dist/configure \ + --prefix=%{_prefix} \ + --enable-compat185 \ + --enable-dump185 \ + --disable-shared \ + --enable-static \ + --enable-rpc \ + --enable-cxx -# XXX --enable-tcl can't add without picking up dependency on libtcl.so -# XXX --enable-posixmutexes (missing pthread_{cond,mutex}attr_setpshared) -# XXX --enable-cxx (barfs on clone proto in %{_includedir}/bits/sched.h) -# XXX --enable-debug_{r,w}op should be disabled for production. -CFLAGS="$RPM_OPT_FLAGS" ../dist/configure --prefix=%{_prefix} --enable-debug --enable-compat185 --enable-diagnostic --enable-dump185 --enable-shared --enable-static --enable-rpc --enable-tcl # --enable-test --enable-debug --enable-debug_rop --enable-debug_wop # --enable-posixmutexes +%{__make} static db_dump185 -%{__make} libdb=%{_libdb_a} %{_libdb_a} +cd ../build_unix -# Static link with old db-185 libraries. -/bin/sh ./libtool --mode=compile cc -c -O2 -g -g -I%{_includedir}/db1 -I../dist/../include -D_REENTRANT ../dist/../db_dump185/db_dump185.c -cc -s -static -o db_dump185 db_dump185.lo -L%{_libdir} -ldb1 +../dist/configure \ + --prefix=%{_prefix} \ + --enable-compat185 \ + --enable-shared \ + --disable-static \ + --enable-rpc \ + --enable-cxx \ + --enable-tcl -# Compile rest normally. -%{__make} libdb=%{_libdb_a} TCFLAGS='-I$(builddir) -I%{_includedir}' LDFLAGS="-s" +%{__make} TCFLAGS='-I$(builddir) -I%{_includedir}' %install rm -rf $RPM_BUILD_ROOT -install -d ${RPM_BUILD_ROOT}%{_includedir} -install -d ${RPM_BUILD_ROOT}%{_libdir} - -cd build_unix - -# XXX install_tcl -# XXX install_static_cxx -# XXX install_dynamic_cxx -# XXX install_java -# XXX install_docs (handled by %docs) -%{__make} libdb=%{_libdb_a} LDFLAGS="-s" prefix=${RPM_BUILD_ROOT}%{_prefix} install_include install_dynamic install_static install_tcl install_utilities - -# XXX annoying -set -x -( cd ${RPM_BUILD_ROOT} - -%ifos linux - install -d ./lib - mv -f .%{_libdir}/libdb[-.]*so* ./lib - if [ "%{_libdir}" != "%{_libdir}" ]; then - install -d .%{_libdir} - mv -f .%{_libdir}/libdb* .%{_libdir} - fi -%endif - - mkdir -p .%{_includedir}/db3 - mv -f .%{_prefix}/include/*.h .%{_includedir}/db3 - ln -sf db3/db.h .%{_includedir}/db.h -# for F in .%{_prefix}/bin/db_* ; do -# mv $F `echo $F | sed -e 's,/db_,/db3_,'` -# done -) -set +x +install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/lib} + +cd build_unix.static + +%{__make} prefix=$RPM_BUILD_ROOT%{_prefix} \ + install_static \ + install_static_cxx + +install db_dump185 $RPM_BUILD_ROOT%{_bindir} + +cd ../build_unix + +%{__make} \ + prefix=$RPM_BUILD_ROOT%{_prefix} \ + includedir=$RPM_BUILD_ROOT%{_includedir} \ + install_include \ + install_dynamic \ + install_dynamic_cxx \ + install_tcl \ + install_utilities + +mv -f $RPM_BUILD_ROOT%{_libdir}/libdb-*.so $RPM_BUILD_ROOT/lib +ln -sf ../../lib/libdb-3.1.so $RPM_BUILD_ROOT%{_libdir}/libdb.so +ln -sf ../../lib/libdb-3.1.so $RPM_BUILD_ROOT%{_libdir}/libdb3.so +ln -sf libdb-3.1.a $RPM_BUILD_ROOT%{_libdir}/libdb3.a +ln -sf libdb3.so $RPM_BUILD_ROOT/%{_libdir}/libndbm.so +ln -sf libdb3.a $RPM_BUILD_ROOT/%{_libdir}/libndbm.a + +for i in $RPM_BUILD_ROOT%{_bindir}/db_* ; do + mv -f $i `echo $i | sed -e 's,/db_,/db3_,'` +done + +gzip -9nf ../LICENSE ../README %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%post tcl -p /sbin/ldconfig +%postun tcl -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc LICENSE README docs/images -%ifos linux -/lib/libdb-%{__soversion}.so -%else -%{_libdir}/libdb-%{__soversion}.so -%endif +%doc LICENSE.gz README.gz +%attr(755,root,root) /lib/libdb-*.so %files utils %defattr(644,root,root,755) -%doc docs/utility -%{_libdir}/libdb_tcl-%{__soversion}.so +%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 @@ -175,25 +189,21 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/db*_upgrade %attr(755,root,root) %{_bindir}/db*_verify +%files tcl +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libdb_tcl-*.so + %files devel %defattr(644,root,root,755) -%doc docs/api_c docs/api_cxx docs/api_java docs/api_tcl docs/index.html -%doc docs/ref docs/sleepycat -%doc examples_c examples_cxx -%{_libdir}/libdb-%{__soversion}.la -%{_libdir}/libdb_tcl-%{__soversion}.la -%{_libdir}/%{_libdb_a} -%{_includedir}/db3/db.h -%{_includedir}/db3/db_185.h -%{_includedir}/db3/db_cxx.h -%{_includedir}/db.h -%ifos linux -/lib/libdb.so -%else -%{_libdir}/libdb.so -%endif -%{_libdir}/libdb_tcl.so +%doc docs/{api*,ref,index.html,sleepycat,images} examples* +%attr(755,root,root) %{_libdir}/libdb*.la +%attr(755,root,root) %{_libdir}/libdb.so +%attr(755,root,root) %{_libdir}/libdb3.so +%attr(755,root,root) %{_libdir}/libndbm.so +%attr(755,root,root) %{_libdir}/libdb_tcl.so +%attr(755,root,root) %{_libdir}/libdb_cxx*.so +%{_includedir}/* %files static %defattr(644,root,root,755) -%{_libdir}/%{_libdb_a} +%{_libdir}/lib*.a