]> git.pld-linux.org Git - packages/db.git/blob - db.spec
9b21467b4be4e9ea3aba19f97d82c3361fdacf2d
[packages/db.git] / db.spec
1 #
2 # Conditional build:
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_with     nptl    # use process-shared POSIX mutexes (NPTL provides full interface)
7 #
8 %{?with_nptl:%define    with_pmutex     1}
9 Summary:        Berkeley DB database library for C
10 Summary(pl):    Biblioteka C do obs³ugi baz Berkeley DB
11 Name:           db
12 Version:        4.2.52
13 Release:        12
14 License:        Sleepycat public license (GPL-like, see LICENSE)
15 Group:          Libraries
16 # alternative site (sometimes working): http://www.berkeleydb.com/
17 #Source0Download: http://www.sleepycat.com/download/
18 Source0:        http://www.sleepycat.com/update/snapshot/%{name}-%{version}.tar.gz
19 # Source0-md5:  cbc77517c9278cdb47613ce8cb55779f
20 Patch0:         %{name}-so-suffix.patch
21 Patch1:         patch.4.2.52.1
22 Patch2:         patch.4.2.52.2
23 Patch3:         patch.4.2.52.3
24 Patch4:         patch.4.2.52.4
25 Patch5:         %{name}-amd64-fastmutex.patch
26 URL:            http://www.sleepycat.com/
27 BuildRequires:  autoconf
28 BuildRequires:  automake
29 BuildRequires:  ed
30 %{?with_java:BuildRequires:     jdk}
31 BuildRequires:  libtool
32 BuildRequires:  libstdc++-devel
33 BuildRequires:  rpmbuild(macros) >= 1.164
34 BuildRequires:  sed >= 4.0
35 %{?with_tcl:BuildRequires:      tcl-devel >= 8.4.0}
36 Obsoletes:      db4
37 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38
39 %description
40 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
41 provides embedded database support for both traditional and
42 client/server applications. Berkeley DB is used by many applications,
43 including Python and Perl, so this should be installed on all systems.
44
45 %description -l pl
46 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
47 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
48 klient-serwer. Berkeley db jest u¿ywana w wielu aplikacjach, w tym w
49 Pythonie i Perlu.
50
51 %package devel
52 Summary:        Header files for Berkeley database library
53 Summary(pl):    Pliki nag³ówkowe do biblioteki Berkeley Database
54 Group:          Development/Libraries
55 Requires:       %{name} = %{epoch}:%{version}-%{release}
56 Obsoletes:      db3-devel
57 Obsoletes:      db4-devel
58
59 %description devel
60 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
61 provides embedded database support for both traditional and
62 client/server applications. Berkeley DB includes B+tree, Extended
63 Linear Hashing, Fixed and Variable-length record access methods,
64 transactions, locking, logging, shared memory caching and database
65 recovery. DB supports C, C++, Java and Perl APIs.
66
67 This package contains the header files, libraries, and documentation
68 for building programs which use Berkeley DB.
69
70 %description devel -l pl
71 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
72 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
73 klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
74 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
75 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
76 dla C, C++, Javy i Perla.
77
78 Ten pakiet zawiera pliki nag³ówkowe i dokumentacjê do budowania
79 programów u¿ywaj±cych Berkeley DB.
80
81 %package static
82 Summary:        Static libraries for Berkeley database library
83 Summary(pl):    Statyczne biblioteki Berkeley Database
84 Group:          Development/Libraries
85 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
86 Obsoletes:      db3-static
87 Obsoletes:      db4-static
88
89 %description static
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.
96
97 This package contains the static libraries for building programs which
98 use Berkeley DB.
99
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.
107
108 Ten pakiet zawiera statyczne biblioteki do budowania programów
109 u¿ywaj±cych Berkeley DB.
110
111 %package cxx
112 Summary:        Berkeley database library for C++
113 Summary(pl):    Biblioteka baz danych Berkeley dla C++
114 Group:          Libraries
115 Obsoletes:      db4-cxx
116
117 %description cxx
118 Berkeley database library for C++.
119
120 %description cxx -l pl
121 Biblioteka baz danych Berkeley dla C++.
122
123 %package cxx-devel
124 Summary:        Header files for db-cxx library
125 Summary(pl):    Pliki nag³ówkowe biblioteki db-cxx
126 Group:          Development/Libraries
127 Requires:       %{name}-cxx = %{epoch}:%{version}-%{release}
128 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
129 Conflicts:      db-devel < 4.1.25-3
130
131 %description cxx-devel
132 Header files for db-cxx library.
133
134 %description cxx-devel -l pl
135 Pliki nag³ówkowe biblioteki db-cxx.
136
137 %package cxx-static
138 Summary:        Static version of db-cxx library
139 Summary(pl):    Statyczna wersja biblioteki db-cxx
140 Group:          Development/Libraries
141 Requires:       %{name}-cxx-devel = %{epoch}:%{version}-%{release}
142 Conflicts:      db-static < 4.2.50-1
143
144 %description cxx-static
145 Static version of db-cxx library.
146
147 %description cxx-static -l pl
148 Statyczna wersja biblioteki db-cxx.
149
150 %package java
151 Summary:        Berkeley database library for Java
152 Summary(pl):    Biblioteka baz danych Berkeley dla Javy
153 Group:          Libraries
154 Requires:       jre
155
156 %description java
157 Berkeley database library for Java.
158
159 %description java -l pl
160 Biblioteka baz danych Berkeley dla Javy.
161
162 %package java-devel
163 Summary:        Development files for db-java library
164 Summary(pl):    Pliki programistyczne biblioteki db-java
165 Group:          Development/Languages/Java
166 Requires:       %{name}-java = %{epoch}:%{version}-%{release}
167 Conflicts:      db-devel < 4.1.25-3
168
169 %description java-devel
170 Development files for db-java library.
171
172 %description java-devel -l pl
173 Pliki programistyczne biblioteki db-java.
174
175 %package tcl
176 Summary:        Berkeley database library for Tcl
177 Summary(pl):    Biblioteka baz danych Berkeley dla Tcl
178 Group:          Development/Languages/Tcl
179 Requires:       tcl
180 Obsoletes:      db4-tcl
181
182 %description tcl
183 Berkeley database library for Tcl.
184
185 %description tcl -l pl
186 Biblioteka baz danych Berkeley dla Tcl.
187
188 %package tcl-devel
189 Summary:        Development files for db-tcl library
190 Summary(pl):    Pliki programistyczne biblioteki db-tcl
191 Group:          Development/Languages/Tcl
192 Requires:       %{name}-tcl = %{epoch}:%{version}-%{release}
193 Conflicts:      db-devel < 4.1.25-3
194
195 %description tcl-devel
196 Development files for db-tcl library.
197
198 %description tcl-devel -l pl
199 Pliki programistyczne biblioteki db-tcl.
200
201 %package utils
202 Summary:        Command line tools for managing Berkeley DB databases
203 Summary(pl):    Narzêdzia do obs³ugi baz Berkeley DB z linii poleceñ
204 Group:          Applications/Databases
205 Requires:       %{name} = %{epoch}:%{version}-%{release}
206 Obsoletes:      db4-utils
207 # obsolete Ra package
208 Obsoletes:      db3-utils
209
210 %description utils
211 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
212 provides embedded database support for both traditional and
213 client/server applications. Berkeley DB includes B+tree, Extended
214 Linear Hashing, Fixed and Variable-length record access methods,
215 transactions, locking, logging, shared memory caching and database
216 recovery. DB supports C, C++, Java and Perl APIs.
217
218 This package contains command line tools for managing Berkeley DB
219 databases.
220
221 %description utils -l pl
222 Berkeley Database (Berkeley DB) to zestaw narzêdzi programistycznych
223 zapewniaj±cych obs³ugê baz danych w aplikacjach tradycyjnych jak i
224 klient-serwer. Berkeley DB obs³uguje dostêp do bazy przez B-drzewa i
225 funkcje mieszaj±ce ze sta³± lub zmienn± wielko¶ci± rekordu,
226 transakcje, kroniki, pamiêæ dzielon± i odtwarzanie baz. Ma wsparcie
227 dla C, C++, Javy i Perla.
228
229 Ten pakiet zawiera narzêdzia do obs³ugi baz Berkeley DB z linii
230 poleceñ.
231
232 %prep
233 %setup -q
234 %patch0 -p1
235 %patch1 -p0
236 %patch2 -p0
237 %patch3 -p0
238 %patch4 -p0
239 %patch5 -p1
240
241 %if %{without nptl}
242 sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' dist/aclocal/mutex.ac
243 %endif
244
245 %build
246 cd dist
247 cp -f /usr/share/aclocal/libtool.m4 aclocal/libtool.ac
248 cp -f /usr/share/automake/config.sub .
249 cp -f /usr/share/libtool/ltmain.sh .
250 sh s_config
251 cd ..
252
253 cp -a build_unix build_unix.static
254
255 cd build_unix.static
256
257 CC="%{__cc}"
258 CXX="%{__cxx}"
259 CFLAGS="%{rpmcflags}"
260 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
261 LDFLAGS="%{rpmldflags}"
262 export CC CXX CFLAGS CXXFLAGS LDFLAGS
263
264 ../dist/%configure \
265         --enable-compat185 \
266         --disable-shared \
267         --enable-static \
268         --enable-rpc \
269         --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
270         --enable-cxx
271
272 # (temporarily?) disabled because of compilation errors:
273 #       --enable-dump185 \
274
275 %{__make} library_build
276
277 cd ../build_unix
278
279 ../dist/%configure \
280         --prefix=%{_prefix} \
281         --libdir=%{_libdir} \
282         --enable-compat185 \
283         --enable-rpc \
284         --%{?with_pmutex:en}%{!?with_pmutex:dis}able-posixmutexes \
285         --enable-cxx \
286         %{?with_tcl:--enable-tcl} \
287         %{?with_tcl:--with-tcl=/usr/lib} \
288         %{?with_java:--enable-java} \
289         --disable-static \
290         --enable-shared 
291
292 %{__make} library_build \
293         TCFLAGS='-I$(builddir) -I%{_includedir}' \
294         LIBSO_LIBS="\$(LIBS)" \
295         LIBTSO_LIBS="\$(LIBS) -ltcl"
296
297 %install
298 rm -rf $RPM_BUILD_ROOT
299 install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/%{_lib}}
300 %if %{with java}
301 install -d $RPM_BUILD_ROOT%{_javadir}
302 %endif
303
304 %{__make} -C build_unix.static library_install \
305         docdir=%{_docdir}/%{name}-%{version}-docs \
306         DESTDIR=$RPM_BUILD_ROOT
307
308 %{__make} -C build_unix library_install \
309         docdir=%{_docdir}/%{name}-%{version}-docs \
310         DESTDIR=$RPM_BUILD_ROOT \
311         LIB_INSTALL_FILE_LIST=""
312
313 mv $RPM_BUILD_ROOT%{_libdir}/libdb-4.2.so $RPM_BUILD_ROOT/%{_lib}
314
315 cd $RPM_BUILD_ROOT%{_libdir}
316 ln -sf /%{_lib}/libdb-4.2.so libdb.so
317 ln -sf /%{_lib}/libdb-4.2.so libdb4.so
318 ln -sf /%{_lib}/libdb-4.2.so libdb-4.2.so
319 ln -sf /%{_lib}/libdb-4.2.so libndbm.so
320 ln -sf libdb-4.2.la libdb.la
321 ln -sf libdb-4.2.la libdb4.la
322 ln -sf libdb-4.2.la libndbm.la
323 %if %{with java}
324 ln -sf libdb_java-4.2.la libdb_java.la
325 mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
326 %endif
327 %if %{with tcl}
328 ln -sf libdb_tcl-4.2.so libdb_tcl.so
329 ln -sf libdb_tcl-4.2.la libdb_tcl.la
330 %endif
331 ln -sf libdb_cxx-4.2.la libdb_cxx.la
332 mv -f libdb.a libdb-4.2.a
333 ln -sf libdb-4.2.a libdb.a
334 ln -sf libdb-4.2.a libdb4.a
335 ln -sf libdb-4.2.a libndbm.a
336 mv -f libdb_cxx.a libdb_cxx-4.2.a
337 ln -sf libdb_cxx-4.2.a libdb_cxx.a
338 ln -sf libdb_cxx-4.2.so libdb_cxx.so
339
340 sed -i "s/old_library=''/old_library='libdb-4.2.a'/" libdb-4.2.la
341 sed -i "s/old_library=''/old_library='libdb_cxx-4.2.a'/" libdb_cxx-4.2.la
342
343 cd -
344 rm -f examples_c*/tags
345 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
346 cp -rf examples_c/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
347
348 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cxx-%{version}
349 cp -rf examples_cxx/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cxx-%{version}
350
351 %if %{with java}
352 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-java-%{version}
353 cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-java-%{version}
354 %endif
355
356 %clean
357 rm -rf $RPM_BUILD_ROOT
358
359 %post   -p /sbin/ldconfig
360 %postun -p /sbin/ldconfig
361
362 %post   tcl -p /sbin/ldconfig
363 %postun tcl -p /sbin/ldconfig
364
365 %post   cxx -p /sbin/ldconfig
366 %postun cxx -p /sbin/ldconfig
367
368 %files
369 %defattr(644,root,root,755)
370 %doc LICENSE README
371 %attr(755,root,root) /%{_lib}/libdb-4.2.so
372 %dir %{_docdir}/%{name}-%{version}-docs
373 %{_docdir}/%{name}-%{version}-docs/sleepycat
374 %{_docdir}/%{name}-%{version}-docs/index.html
375
376 %files devel
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/libdb-4.2.so
379 %attr(755,root,root) %{_libdir}/libdb4.so
380 %attr(755,root,root) %{_libdir}/libdb.so
381 %attr(755,root,root) %{_libdir}/libndbm.so
382 %{_libdir}/libdb-4.2.la
383 %{_libdir}/libdb4.la
384 %{_libdir}/libdb.la
385 %{_libdir}/libndbm.la
386 %{_includedir}/db.h
387 %{_includedir}/db_185.h
388 %{_docdir}/%{name}-%{version}-docs/api_c
389 %{_docdir}/%{name}-%{version}-docs/images
390 %{_docdir}/%{name}-%{version}-docs/ref
391 %{_examplesdir}/%{name}-%{version}
392
393 %files static
394 %defattr(644,root,root,755)
395 %{_libdir}/libdb-4.2.a
396 %{_libdir}/libdb4.a
397 %{_libdir}/libdb.a
398 %{_libdir}/libndbm.a
399
400 %files cxx
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libdir}/libdb_cxx-4.2.so
403
404 %files cxx-devel
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_libdir}/libdb_cxx.so
407 %{_includedir}/db_cxx.h
408 %{_libdir}/libdb_cxx-4.2.la
409 %{_libdir}/libdb_cxx.la
410 %{_docdir}/%{name}-%{version}-docs/api_cxx
411 %{_examplesdir}/%{name}-cxx-%{version}
412
413 %files cxx-static
414 %defattr(644,root,root,755)
415 %{_libdir}/libdb_cxx-4.2.a
416 %{_libdir}/libdb_cxx.a
417
418 %if %{with java}
419 %files java
420 %defattr(644,root,root,755)
421 %attr(755,root,root) %{_libdir}/libdb_java-4.2.so
422 %{_javadir}/db.jar
423
424 %files java-devel
425 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_libdir}/libdb_java.so
427 %{_libdir}/libdb_java-4.2.la
428 %{_libdir}/libdb_java.la
429 %{_docdir}/%{name}-%{version}-docs/java
430 %{_examplesdir}/%{name}-java-%{version}
431 %endif
432
433 %if %{with tcl}
434 %files tcl
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_libdir}/libdb_tcl-4.2.so
437
438 %files tcl-devel
439 %defattr(644,root,root,755)
440 %attr(755,root,root) %{_libdir}/libdb_tcl.so
441 %{_libdir}/libdb_tcl-4.2.la
442 %{_libdir}/libdb_tcl.la
443 %{_docdir}/%{name}-%{version}-docs/api_tcl
444 %endif
445
446 %files utils
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_bindir}/berkeley_db_svc
449 %attr(755,root,root) %{_bindir}/db*_archive
450 %attr(755,root,root) %{_bindir}/db*_checkpoint
451 %attr(755,root,root) %{_bindir}/db*_deadlock
452 %attr(755,root,root) %{_bindir}/db*_dump
453 #%attr(755,root,root) %{_bindir}/db*_dump185
454 %attr(755,root,root) %{_bindir}/db*_load
455 %attr(755,root,root) %{_bindir}/db*_printlog
456 %attr(755,root,root) %{_bindir}/db*_recover
457 %attr(755,root,root) %{_bindir}/db*_stat
458 %attr(755,root,root) %{_bindir}/db*_upgrade
459 %attr(755,root,root) %{_bindir}/db*_verify
460 %{_docdir}/%{name}-%{version}-docs/utility
This page took 0.239748 seconds and 3 git commands to generate.