3 %bcond_with java # build db-java
4 %bcond_without tcl # don't build Tcl bindings
5 %bcond_with pmutex # use POSIX mutexes (only process-private with linuxthreads)
6 %bcond_without nptl # don't use process-shared POSIX mutexes (NPTL provides full interface)
7 %bcond_without static_libs # don't build static libraries
9 %{?with_nptl:%define with_pmutex 1}
10 Summary: Berkeley DB database library for C
11 Summary(pl): Biblioteka C do obs³ugi baz Berkeley DB
16 License: Sleepycat public license (GPL-like, see LICENSE)
18 # alternative site (sometimes working): http://www.berkeleydb.com/
19 #Source0Download: http://dev.sleepycat.com/downloads/releasehistorybdb.html
20 Source0: http://downloads.sleepycat.com/db-%{version}.tar.gz
21 # Source0-md5: d84dff288a19186b136b0daf7067ade3
22 Patch0: http://www.sleepycat.com/update/4.4.20/patch.4.4.20.1
23 Patch1: http://www.sleepycat.com/update/4.4.20/patch.4.4.20.2
24 URL: http://www.sleepycat.com/
25 BuildRequires: autoconf
26 BuildRequires: automake
28 %{?with_java:BuildRequires: jdk}
29 BuildRequires: libstdc++-devel
30 BuildRequires: libtool
31 BuildRequires: sed >= 4.0
32 %{?with_tcl:BuildRequires: tcl-devel >= 8.4.0}
33 Provides: db = %{version}-%{release}
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
39 provides embedded database support for both traditional and
40 client/server applications. Berkeley DB is used by many applications,
41 including Python and Perl, so this should be installed on all systems.
44 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
45 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
46 klient-serwer. Berkeley db jest u¿ywana w wielu aplikacjach, w tym w
50 Summary: Header files for Berkeley database library
51 Summary(pl): Pliki nag³ówkowe do biblioteki Berkeley Database
52 Group: Development/Libraries
53 Requires: %{name} = %{epoch}:%{version}-%{release}
54 Provides: db-devel = %{version}-%{release}
59 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
60 provides embedded database support for both traditional and
61 client/server applications. Berkeley DB includes B+tree, Extended
62 Linear Hashing, Fixed and Variable-length record access methods,
63 transactions, locking, logging, shared memory caching and database
64 recovery. DB supports C, C++, Java and Perl APIs.
66 This package contains the header files, libraries, and documentation
67 for building programs which use Berkeley DB.
69 %description devel -l pl
70 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
71 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
72 klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
73 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
74 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
75 dla C, C++, Javy i Perla.
77 Ten pakiet zawiera pliki nag³ówkowe i dokumentacjê do budowania
78 programów u¿ywaj±cych Berkeley DB.
81 Summary: Static libraries for Berkeley database library
82 Summary(pl): Statyczne biblioteki Berkeley Database
83 Group: Development/Libraries
84 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
85 Provides: db-static = %{version}-%{release}
90 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
91 provides embedded database support for both traditional and
92 client/server applications. Berkeley DB includes B+tree, Extended
93 Linear Hashing, Fixed and Variable-length record access methods,
94 transactions, locking, logging, shared memory caching and database
95 recovery. DB supports C, C++, Java and Perl APIs.
97 This package contains the static libraries for building programs which
100 %description static -l pl
101 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
102 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
103 klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
104 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
105 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
106 dla C, C++, Javy i Perla.
108 Ten pakiet zawiera statyczne biblioteki do budowania programów
109 u¿ywaj±cych Berkeley DB.
112 Summary: Berkeley database library for C++
113 Summary(pl): Biblioteka baz danych Berkeley dla C++
115 Provides: db-cxx = %{version}-%{release}
119 Berkeley database library for C++.
121 %description cxx -l pl
122 Biblioteka baz danych Berkeley dla C++.
125 Summary: Header files for db-cxx library
126 Summary(pl): Pliki nag³ówkowe biblioteki db-cxx
127 Group: Development/Libraries
128 Requires: %{name}-cxx = %{epoch}:%{version}-%{release}
129 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
130 Provides: db-cxx-devel = %{version}-%{release}
131 Conflicts: db-devel < 4.1.25-3
133 %description cxx-devel
134 Header files for db-cxx library.
136 %description cxx-devel -l pl
137 Pliki nag³ówkowe biblioteki db-cxx.
140 Summary: Static version of db-cxx library
141 Summary(pl): Statyczna wersja biblioteki db-cxx
142 Group: Development/Libraries
143 Requires: %{name}-cxx-devel = %{epoch}:%{version}-%{release}
144 Provides: db-cxx-static = %{version}-%{release}
145 Conflicts: db-static < 4.2.50-1
147 %description cxx-static
148 Static version of db-cxx library.
150 %description cxx-static -l pl
151 Statyczna wersja biblioteki db-cxx.
154 Summary: Berkeley database library for Java
155 Summary(pl): Biblioteka baz danych Berkeley dla Javy
158 Provides: db-java = %{version}-%{release}
161 Berkeley database library for Java.
163 %description java -l pl
164 Biblioteka baz danych Berkeley dla Javy.
167 Summary: Development files for db-java library
168 Summary(pl): Pliki programistyczne biblioteki db-java
169 Group: Development/Languages/Java
170 Requires: %{name}-java = %{epoch}:%{version}-%{release}
171 Provides: db-java-devel = %{version}-%{release}
172 Conflicts: db-devel < 4.1.25-3
174 %description java-devel
175 Development files for db-java library.
177 %description java-devel -l pl
178 Pliki programistyczne biblioteki db-java.
181 Summary: Berkeley database library for Tcl
182 Summary(pl): Biblioteka baz danych Berkeley dla Tcl
183 Group: Development/Languages/Tcl
185 Provides: db-tcl = %{version}-%{release}
189 Berkeley database library for Tcl.
191 %description tcl -l pl
192 Biblioteka baz danych Berkeley dla Tcl.
195 Summary: Development files for db-tcl library
196 Summary(pl): Pliki programistyczne biblioteki db-tcl
197 Group: Development/Languages/Tcl
198 Requires: %{name}-tcl = %{epoch}:%{version}-%{release}
199 Provides: db-tcl-devel = %{version}-%{release}
200 Conflicts: db-devel < 4.1.25-3
202 %description tcl-devel
203 Development files for db-tcl library.
205 %description tcl-devel -l pl
206 Pliki programistyczne biblioteki db-tcl.
209 Summary: Command line tools for managing Berkeley DB databases
210 Summary(pl): Narzêdzia do obs³ugi baz Berkeley DB z linii poleceñ
211 Group: Applications/Databases
212 Requires: %{name} = %{epoch}:%{version}-%{release}
213 Provides: db-utils = %{version}-%{release}
215 # obsolete Ra package
219 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
220 provides embedded database support for both traditional and
221 client/server applications. Berkeley DB includes B+tree, Extended
222 Linear Hashing, Fixed and Variable-length record access methods,
223 transactions, locking, logging, shared memory caching and database
224 recovery. DB supports C, C++, Java and Perl APIs.
226 This package contains command line tools for managing Berkeley DB
229 %description utils -l pl
230 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
231 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
232 klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
233 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
234 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
235 dla C, C++, Javy i Perla.
237 Ten pakiet zawiera narzêdzia do obs³ugi baz Berkeley DB z linii
241 %setup -q -n db-%{version}
246 sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' dist/aclocal/mutex.ac
251 cp -f /usr/share/aclocal/libtool.m4 aclocal/libtool.ac
252 cp -f /usr/share/automake/config.sub .
253 cp -f /usr/share/libtool/ltmain.sh .
257 cp -a build_unix build_unix.static
263 CFLAGS="%{rpmcflags}"
264 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
265 LDFLAGS="%{rpmldflags}"
266 export CC CXX CFLAGS CXXFLAGS LDFLAGS
273 --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
275 %{!?with_static_libs:--disable-static}
277 # (temporarily?) disabled because of compilation errors:
280 %{__make} library_build
285 --prefix=%{_prefix} \
286 --libdir=%{_libdir} \
289 --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
291 %{?with_tcl:--enable-tcl} \
292 %{?with_tcl:--with-tcl=/usr/lib} \
293 %{?with_java:--enable-java} \
296 %{!?with_static_libs:--disable-static}
298 %{__make} library_build \
299 TCFLAGS='-I$(builddir) -I%{_includedir}' \
300 LIBSO_LIBS="\$(LIBS)" \
301 LIBTSO_LIBS="\$(LIBS) -ltcl"
304 rm -rf $RPM_BUILD_ROOT
305 install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/%{_lib}}
307 install -d $RPM_BUILD_ROOT%{_javadir}
310 %{__make} -C build_unix.static library_install \
311 docdir=%{_docdir}/db-%{version}-docs \
312 DESTDIR=$RPM_BUILD_ROOT
314 %{__make} -C build_unix library_install \
315 docdir=%{_docdir}/db-%{version}-docs \
316 DESTDIR=$RPM_BUILD_ROOT \
317 LIB_INSTALL_FILE_LIST=""
319 mv $RPM_BUILD_ROOT%{_libdir}/libdb-4.4.so $RPM_BUILD_ROOT/%{_lib}
321 cd $RPM_BUILD_ROOT%{_libdir}
322 ln -sf /%{_lib}/libdb-4.4.so libdb.so
323 ln -sf /%{_lib}/libdb-4.4.so libdb4.so
324 ln -sf /%{_lib}/libdb-4.4.so libdb-4.4.so
325 ln -sf /%{_lib}/libdb-4.4.so libndbm.so
326 ln -sf libdb-4.4.la libdb.la
327 ln -sf libdb-4.4.la libdb4.la
328 ln -sf libdb-4.4.la libndbm.la
330 ln -sf libdb_java-4.4.la libdb_java.la
331 mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
334 ln -sf libdb_tcl-4.4.so libdb_tcl.so
335 ln -sf libdb_tcl-4.4.la libdb_tcl.la
337 ln -sf libdb_cxx-4.4.la libdb_cxx.la
338 %if %{with static_libs}
339 mv -f libdb.a libdb-4.4.a
340 ln -sf libdb-4.4.a libdb.a
341 ln -sf libdb-4.4.a libdb4.a
342 ln -sf libdb-4.4.a libndbm.a
343 mv -f libdb_cxx.a libdb_cxx-4.4.a
344 ln -sf libdb_cxx-4.4.a libdb_cxx.a
346 ln -sf libdb_cxx-4.4.so libdb_cxx.so
348 sed -i "s/old_library=''/old_library='libdb-4.4.a'/" libdb-4.4.la
349 sed -i "s/old_library=''/old_library='libdb_cxx-4.4.a'/" libdb_cxx-4.4.la
352 rm -f examples_c*/tags
353 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-%{version}
354 cp -rf examples_c/* $RPM_BUILD_ROOT%{_examplesdir}/db-%{version}
356 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-cxx-%{version}
357 cp -rf examples_cxx/* $RPM_BUILD_ROOT%{_examplesdir}/db-cxx-%{version}
360 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
361 cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
365 rm -rf $RPM_BUILD_ROOT
367 %post -p /sbin/ldconfig
368 %postun -p /sbin/ldconfig
370 %post tcl -p /sbin/ldconfig
371 %postun tcl -p /sbin/ldconfig
373 %post cxx -p /sbin/ldconfig
374 %postun cxx -p /sbin/ldconfig
377 %defattr(644,root,root,755)
379 %attr(755,root,root) /%{_lib}/libdb-4.4.so
380 %dir %{_docdir}/db-%{version}-docs
381 %{_docdir}/db-%{version}-docs/sleepycat
382 %{_docdir}/db-%{version}-docs/index.html
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_libdir}/libdb-4.4.so
387 %attr(755,root,root) %{_libdir}/libdb4.so
388 %attr(755,root,root) %{_libdir}/libdb.so
389 %attr(755,root,root) %{_libdir}/libndbm.so
390 %{_libdir}/libdb-4.4.la
393 %{_libdir}/libndbm.la
395 %{_includedir}/db_185.h
396 %{_docdir}/db-%{version}-docs/api_c
397 %dir %{_docdir}/db-%{version}-docs/gsg
398 %{_docdir}/db-%{version}-docs/gsg/C
399 %dir %{_docdir}/db-%{version}-docs/gsg_txn
400 %{_docdir}/db-%{version}-docs/gsg_txn/C
401 %{_docdir}/db-%{version}-docs/images
402 %{_docdir}/db-%{version}-docs/ref
403 %{_examplesdir}/db-%{version}
405 %if %{with static_libs}
407 %defattr(644,root,root,755)
408 %{_libdir}/libdb-4.4.a
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libdb_cxx-4.4.so
419 %defattr(644,root,root,755)
420 %attr(755,root,root) %{_libdir}/libdb_cxx.so
421 %{_libdir}/libdb_cxx-4.4.la
422 %{_libdir}/libdb_cxx.la
423 %{_includedir}/db_cxx.h
424 %{_docdir}/db-%{version}-docs/api_cxx
425 %{_docdir}/db-%{version}-docs/gsg/CXX
426 %{_docdir}/db-%{version}-docs/gsg_txn/CXX
427 %{_examplesdir}/db-cxx-%{version}
429 %if %{with static_libs}
431 %defattr(644,root,root,755)
432 %{_libdir}/libdb_cxx-4.4.a
433 %{_libdir}/libdb_cxx.a
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %{_libdir}/libdb_java-4.4.so
443 %defattr(644,root,root,755)
444 %attr(755,root,root) %{_libdir}/libdb_java.so
445 %{_libdir}/libdb_java-4.4.la
446 %{_libdir}/libdb_java.la
447 %{_docdir}/db-%{version}-docs/collections
448 %{_docdir}/db-%{version}-docs/gsg/JAVA
449 %{_docdir}/db-%{version}-docs/gsg_txn/JAVA
450 %{_docdir}/db-%{version}-docs/java
451 %{_examplesdir}/db-java-%{version}
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/libdb_tcl-4.4.so
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %{_libdir}/libdb_tcl.so
462 %{_libdir}/libdb_tcl-4.4.la
463 %{_libdir}/libdb_tcl.la
464 %{_docdir}/db-%{version}-docs/api_tcl
468 %defattr(644,root,root,755)
469 %attr(755,root,root) %{_bindir}/berkeley_db_svc
470 %attr(755,root,root) %{_bindir}/db*_archive
471 %attr(755,root,root) %{_bindir}/db*_checkpoint
472 %attr(755,root,root) %{_bindir}/db*_deadlock
473 %attr(755,root,root) %{_bindir}/db*_dump
474 #%attr(755,root,root) %{_bindir}/db*_dump185
475 %attr(755,root,root) %{_bindir}/db*_hotbackup
476 %attr(755,root,root) %{_bindir}/db*_load
477 %attr(755,root,root) %{_bindir}/db*_printlog
478 %attr(755,root,root) %{_bindir}/db*_recover
479 %attr(755,root,root) %{_bindir}/db*_stat
480 %attr(755,root,root) %{_bindir}/db*_upgrade
481 %attr(755,root,root) %{_bindir}/db*_verify
482 %{_docdir}/db-%{version}-docs/utility