3 %bcond_with java # build with java support
5 Summary: BSD database library for C
6 Summary(pl.UTF-8): Biblioteka C do obsługi baz Berkeley DB
12 # alternative site (sometimes working): http://www.berkeleydb.com/
13 #Source0Download: http://dev.sleepycat.com/downloads/releasehistorybdb.html
14 Source0: http://downloads.sleepycat.com/db-%{version}.tar.gz
15 # Source0-md5: b6ae24fa55713f17a9ac3219d987722c
17 # Source1-md5: 0d15818dea3099eed42b4be9950c69ad
18 Patch0: %{name}-static.patch
19 Patch1: %{name}-linux.patch
20 Patch2: %{name}-jbj.patch
21 URL: http://www.sleepycat.com/
22 BuildRequires: db1-static
23 BuildRequires: glibc-static
24 %{?with_java:BuildRequires: java}
25 BuildRequires: tcl-devel >= 8.3.4-10
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
30 provides embedded database support for both traditional and
31 client/server applications. Berkeley DB is used by many applications,
32 including Python and Perl, so this should be installed on all systems.
34 %description -l pl.UTF-8
35 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
36 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
37 klient-serwer. Berkeley db jest używana wielu aplikacjach, w tym w
41 Summary: Command line tools for managing Berkeley DB databases
42 Summary(pl.UTF-8): Narzędzia do obsługi baz Berkeley DB z linii poleceń
43 Group: Applications/Databases
44 Requires: %{name} = %{version}-%{release}
47 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
48 provides embedded database support for both traditional and
49 client/server applications. Berkeley DB includes B+tree, Extended
50 Linear Hashing, Fixed and Variable-length record access methods,
51 transactions, locking, logging, shared memory caching and database
52 recovery. DB supports C, C++, Java and Perl APIs.
54 This package contains command line tools for managing Berkeley DB
57 %description utils -l pl.UTF-8
58 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
59 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
60 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
61 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
62 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
63 dla C, C++, Javy i Perla.
65 Ten pakiet zawiera narzędzia do obsługi baz Berkeley DB z linii
69 Summary: Berkeley database library for Tcl
70 Summary(pl.UTF-8): Biblioteka baz danych Berkeley dla Tcl
71 Group: Development/Languages/Tcl
72 Requires: %{name} = %{version}-%{release}
76 Berkeley database library for Tcl.
78 %description tcl -l pl.UTF-8
79 Biblioteka baz danych Berkeley dla Tcl.
82 Summary: Java Berkeley database library
83 Summary(pl.UTF-8): Biblioteki Berkeley Database dla Javy
85 Requires: %{name} = %{version}-%{release}
88 Java Berkeley database library.
90 %description java -l pl.UTF-8
91 Biblioteki Berkeley Database dla Javy.
94 Summary: Header files for Berkeley database library
95 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki Berkeley Database
96 Group: Development/Libraries
97 Requires: %{name} = %{version}-%{release}
100 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
101 provides embedded database support for both traditional and
102 client/server applications. Berkeley DB includes B+tree, Extended
103 Linear Hashing, Fixed and Variable-length record access methods,
104 transactions, locking, logging, shared memory caching and database
105 recovery. DB supports C, C++, Java and Perl APIs.
107 This package contains the header files, libraries, and documentation
108 for building programs which use Berkeley DB.
110 %description devel -l pl.UTF-8
111 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
112 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
113 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
114 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
115 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
116 dla C, C++, Javy i Perla.
118 Ten pakiet zawiera pliki nagłówkowe i dokumentację do budowania
119 programów używających Berkeley DB.
122 Summary: Static libraries for Berkeley database library
123 Summary(pl.UTF-8): Statyczne biblioteki Berkeley Database
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{version}-%{release}
128 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
129 provides embedded database support for both traditional and
130 client/server applications. Berkeley DB includes B+tree, Extended
131 Linear Hashing, Fixed and Variable-length record access methods,
132 transactions, locking, logging, shared memory caching and database
133 recovery. DB supports C, C++, Java and Perl APIs.
135 This package contains the static libraries for building programs which
138 %description static -l pl.UTF-8
139 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
140 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
141 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
142 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
143 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
144 dla C, C++, Javy i Perla.
146 Ten pakiet zawiera statyczne biblioteki do budowania programów
147 używających Berkeley DB.
150 %setup -q -n db-%{version}
156 cp -a build_unix build_unix.static
160 CFLAGS="%{rpmcflags} -fno-rtti -fno-implicit-templates" \
161 CXXFLAGS="%{rpmcflags} -fno-rtti -fno-implicit-templates" \
163 --prefix=%{_prefix} \
167 --enable-static=yes \
171 %{__make} static db_dump185
176 CFLAGS="%{rpmcflags} -fno-rtti -fno-implicit-templates" \
177 CXXFLAGS="%{rpmcflags} -fno-rtti -fno-implicit-templates" \
180 --prefix=%{_prefix} \
182 --enable-shared=yes \
187 --with-tcl=/usr/lib \
191 --prefix=%{_prefix} \
193 --enable-shared=yes \
201 %{__make} library_build \
202 TCFLAGS='-I$(builddir) -I%{_includedir}'
205 rm -rf $RPM_BUILD_ROOT
206 install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir}}
210 %{__make} prefix=$RPM_BUILD_ROOT%{_prefix} \
214 install db_dump185 $RPM_BUILD_ROOT%{_bindir}
220 prefix=$RPM_BUILD_ROOT%{_prefix} \
221 includedir=$RPM_BUILD_ROOT%{_includedir} \
227 # install_dynamic_cxx \
230 prefix=$RPM_BUILD_ROOT%{_prefix} \
231 includedir=$RPM_BUILD_ROOT%{_includedir} \
236 # install_dynamic_cxx \
239 # dunno if it's needed, but I think can help...
240 ln -sf libdb-3.3.so $RPM_BUILD_ROOT%{_libdir}/libdb.so
241 ln -sf libdb-3.3.so $RPM_BUILD_ROOT%{_libdir}/libdb3.so
242 ln -sf libdb-3.3.a $RPM_BUILD_ROOT%{_libdir}/libdb3.a
243 ln -sf libdb-3.3.a $RPM_BUILD_ROOT%{_libdir}/libdb.a
244 ln -sf libdb-3.3.so $RPM_BUILD_ROOT%{_libdir}/libndbm.so
245 ln -sf libdb-3.3.a $RPM_BUILD_ROOT%{_libdir}/libndbm.a
247 OLDPWD=$(pwd); cd $RPM_BUILD_ROOT%{_libdir}
248 for i in libdb*.la; do mv $i $i.old; done
249 sed -e "s/old_library=''/old_library='libdb-3.3.a'/" libdb-3.3.la.old > libdb-3.3.la
250 #sed -e "s/old_library=''/old_library='libdb_cxx.a'/" libdb_cxx-3.3.la.old > libdb_cxx-3.3.la
254 for i in $RPM_BUILD_ROOT%{_bindir}/db_* ; do
255 mv -f $i `echo $i | sed -e 's,/db_,/db3_,'`
260 # to remove stupid link:
264 cp -ra java/src/com/sleepycat/examples examples_java
265 install %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/db.jar
269 rm -rf $RPM_BUILD_ROOT
271 %post -p /sbin/ldconfig
272 %postun -p /sbin/ldconfig
274 %post tcl -p /sbin/ldconfig
275 %postun tcl -p /sbin/ldconfig
277 %post java -p /sbin/ldconfig
278 %postun java -p /sbin/ldconfig
281 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/libdb-*.so
286 %defattr(644,root,root,755)
288 %attr(755,root,root) %{_bindir}/berkeley_db_svc
289 %attr(755,root,root) %{_bindir}/db*_archive
290 %attr(755,root,root) %{_bindir}/db*_checkpoint
291 %attr(755,root,root) %{_bindir}/db*_deadlock
292 %attr(755,root,root) %{_bindir}/db*_dump
293 %attr(755,root,root) %{_bindir}/db*_dump185
294 %attr(755,root,root) %{_bindir}/db*_load
295 %attr(755,root,root) %{_bindir}/db*_printlog
296 %attr(755,root,root) %{_bindir}/db*_recover
297 %attr(755,root,root) %{_bindir}/db*_stat
298 %attr(755,root,root) %{_bindir}/db*_upgrade
299 %attr(755,root,root) %{_bindir}/db*_verify
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_libdir}/libdb_tcl-*.so
307 %defattr(644,root,root,755)
308 %doc docs/api_java examples_java
309 %attr(755,root,root) %{_libdir}/libdb_java*.so
314 %defattr(644,root,root,755)
315 %doc docs/{api_cxx,api_c,ref,index.html,sleepycat,images} examples_{c,cxx}
316 %attr(755,root,root) %{_libdir}/libdb.so
317 %attr(755,root,root) %{_libdir}/libdb3.so
318 %attr(755,root,root) %{_libdir}/libndbm.so
319 %attr(755,root,root) %{_libdir}/libdb_tcl.so
321 #%attr(755,root,root) %{_libdir}/libdb_cxx*.so
325 %defattr(644,root,root,755)