006e779539c7bb19f3c3f08f5cf5a79fbe2d3237
[packages/db4.8.git] / db4.8.spec
1 #
2 # Conditional build:
3 %bcond_without  java            # don't build java bindings
4 %bcond_without  tcl             # don't build Tcl bindings
5 %bcond_without  static_libs     # don't build static libraries
6
7 %include        /usr/lib/rpm/macros.java
8
9 %define         libver          4.8
10 %define         ver             %{libver}.30
11 %define         patchlevel      0
12 Summary:        Berkeley DB database library for C
13 Summary(pl.UTF-8):      Biblioteka C do obsługi baz Berkeley DB
14 Name:           db4.8
15 Version:        %{ver}.%{patchlevel}
16 Release:        1
17 Epoch:          0
18 License:        GPL-like (see LICENSE)
19 Group:          Libraries
20 #Source0Download: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.html
21 Source0:        http://download.oracle.com/berkeley-db/db-%{ver}.tar.gz
22 # Source0-md5:  f80022099c5742cd179343556179aa8c
23 # %%patchset_source -f http://download.oracle.com/berkeley-db/patches/db/%{ver}/patch.%{ver}.%g 1 %{patchlevel}
24 URL:            http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
25 BuildRequires:  automake
26 %if %{with java}
27 BuildRequires:  jdk
28 BuildRequires:  rpm-javaprov
29 %endif
30 BuildRequires:  libstdc++-devel
31 BuildRequires:  rpmbuild(macros) >= 1.426
32 BuildRequires:  sed >= 4.0
33 %{?with_tcl:BuildRequires:      tcl-devel >= 8.4.0}
34 Requires:       uname(release) >= 2.6.0
35 Provides:       db = %{libver}
36 Provides:       db = %{version}-%{release}
37 Obsoletes:      db4
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %description
41 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
42 provides embedded database support for both traditional and
43 client/server applications. Berkeley DB is used by many applications,
44 including Python and Perl, so this should be installed on all systems.
45
46 %description -l pl.UTF-8
47 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
48 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
49 klient-serwer. Berkeley db jest używana w wielu aplikacjach, w tym w
50 Pythonie i Perlu.
51
52 %package devel
53 Summary:        Header files for Berkeley database library
54 Summary(pl.UTF-8):      Pliki nagłówkowe do biblioteki Berkeley Database
55 Group:          Development/Libraries
56 Requires:       %{name} = %{epoch}:%{version}-%{release}
57 Provides:       db-devel = %{version}-%{release}
58 Obsoletes:      db-devel
59 Obsoletes:      db3-devel
60 Obsoletes:      db4-devel
61
62 %description devel
63 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
64 provides embedded database support for both traditional and
65 client/server applications. Berkeley DB includes B+tree, Extended
66 Linear Hashing, Fixed and Variable-length record access methods,
67 transactions, locking, logging, shared memory caching and database
68 recovery. DB supports C, C++, Java and Perl APIs.
69
70 This package contains the header files, libraries, and documentation
71 for building programs which use Berkeley DB.
72
73 %description devel -l pl.UTF-8
74 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
75 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
76 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
77 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
78 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
79 dla C, C++, Javy i Perla.
80
81 Ten pakiet zawiera pliki nagłówkowe i dokumentację do budowania
82 programów używających Berkeley DB.
83
84 %package static
85 Summary:        Static libraries for Berkeley database library
86 Summary(pl.UTF-8):      Statyczne biblioteki Berkeley Database
87 Group:          Development/Libraries
88 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
89 Provides:       db-static = %{version}-%{release}
90 Obsoletes:      db-static
91 Obsoletes:      db3-static
92 Obsoletes:      db4-static
93
94 %description static
95 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
96 provides embedded database support for both traditional and
97 client/server applications. Berkeley DB includes B+tree, Extended
98 Linear Hashing, Fixed and Variable-length record access methods,
99 transactions, locking, logging, shared memory caching and database
100 recovery. DB supports C, C++, Java and Perl APIs.
101
102 This package contains the static libraries for building programs which
103 use Berkeley DB.
104
105 %description static -l pl.UTF-8
106 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
107 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
108 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
109 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
110 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
111 dla C, C++, Javy i Perla.
112
113 Ten pakiet zawiera statyczne biblioteki do budowania programów
114 używających Berkeley DB.
115
116 %package cxx
117 Summary:        Berkeley database library for C++
118 Summary(pl.UTF-8):      Biblioteka baz danych Berkeley dla C++
119 Group:          Libraries
120 Provides:       db-cxx = %{version}-%{release}
121 Obsoletes:      db4-cxx
122
123 %description cxx
124 Berkeley database library for C++.
125
126 %description cxx -l pl.UTF-8
127 Biblioteka baz danych Berkeley dla C++.
128
129 %package cxx-devel
130 Summary:        Header files for db-cxx library
131 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki db-cxx
132 Group:          Development/Libraries
133 Requires:       %{name}-cxx = %{epoch}:%{version}-%{release}
134 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
135 Provides:       db-cxx-devel = %{version}-%{release}
136 Obsoletes:      db-cxx-devel
137 Conflicts:      db-devel < 4.1.25-3
138
139 %description cxx-devel
140 Header files for db-cxx library.
141
142 %description cxx-devel -l pl.UTF-8
143 Pliki nagłówkowe biblioteki db-cxx.
144
145 %package cxx-static
146 Summary:        Static version of db-cxx library
147 Summary(pl.UTF-8):      Statyczna wersja biblioteki db-cxx
148 Group:          Development/Libraries
149 Requires:       %{name}-cxx-devel = %{epoch}:%{version}-%{release}
150 Provides:       db-cxx-static = %{version}-%{release}
151 Obsoletes:      db-cxx-static
152 Conflicts:      db-static < 4.2.50-1
153
154 %description cxx-static
155 Static version of db-cxx library.
156
157 %description cxx-static -l pl.UTF-8
158 Statyczna wersja biblioteki db-cxx.
159
160 %package java
161 Summary:        Berkeley database library for Java
162 Summary(pl.UTF-8):      Biblioteka baz danych Berkeley dla Javy
163 Group:          Libraries
164 Requires:       jpackage-utils
165 Provides:       db-java = %{version}-%{release}
166 # db.jar conflicts
167 Obsoletes:      db-java
168
169 %description java
170 Berkeley database library for Java.
171
172 %description java -l pl.UTF-8
173 Biblioteka baz danych Berkeley dla Javy.
174
175 %package java-devel
176 Summary:        Development files for db-java library
177 Summary(pl.UTF-8):      Pliki programistyczne biblioteki db-java
178 Group:          Development/Languages/Java
179 Requires:       %{name}-java = %{epoch}:%{version}-%{release}
180 Provides:       db-java-devel = %{version}-%{release}
181 Obsoletes:      db-java-devel
182 Conflicts:      db-devel < 4.1.25-3
183
184 %description java-devel
185 Development files for db-java library.
186
187 %description java-devel -l pl.UTF-8
188 Pliki programistyczne biblioteki db-java.
189
190 %package tcl
191 Summary:        Berkeley database library for Tcl
192 Summary(pl.UTF-8):      Biblioteka baz danych Berkeley dla Tcl
193 Group:          Development/Languages/Tcl
194 Requires:       tcl
195 Provides:       db-tcl = %{version}-%{release}
196 Obsoletes:      db4-tcl
197
198 %description tcl
199 Berkeley database library for Tcl.
200
201 %description tcl -l pl.UTF-8
202 Biblioteka baz danych Berkeley dla Tcl.
203
204 %package tcl-devel
205 Summary:        Development files for db-tcl library
206 Summary(pl.UTF-8):      Pliki programistyczne biblioteki db-tcl
207 Group:          Development/Languages/Tcl
208 Requires:       %{name}-tcl = %{epoch}:%{version}-%{release}
209 Provides:       db-tcl-devel = %{version}-%{release}
210 Obsoletes:      db-tcl-devel
211 Conflicts:      db-devel < 4.1.25-3
212
213 %description tcl-devel
214 Development files for db-tcl library.
215
216 %description tcl-devel -l pl.UTF-8
217 Pliki programistyczne biblioteki db-tcl.
218
219 %package utils
220 Summary:        Command line tools for managing Berkeley DB databases
221 Summary(pl.UTF-8):      Narzędzia do obsługi baz Berkeley DB z linii poleceń
222 Group:          Applications/Databases
223 Requires:       %{name} = %{epoch}:%{version}-%{release}
224 Provides:       db-utils = %{version}-%{release}
225 Obsoletes:      db-utils
226 Obsoletes:      db3-utils
227 Obsoletes:      db4-utils
228
229 %description utils
230 The Berkeley Database (Berkeley DB) is a programmatic toolkit that
231 provides embedded database support for both traditional and
232 client/server applications. Berkeley DB includes B+tree, Extended
233 Linear Hashing, Fixed and Variable-length record access methods,
234 transactions, locking, logging, shared memory caching and database
235 recovery. DB supports C, C++, Java and Perl APIs.
236
237 This package contains command line tools for managing Berkeley DB
238 databases.
239
240 %description utils -l pl.UTF-8
241 Berkeley Database (Berkeley DB) to zestaw narzędzi programistycznych
242 zapewniających obsługę baz danych w aplikacjach tradycyjnych jak i
243 klient-serwer. Berkeley DB obsługuje dostęp do bazy przez B-drzewa i
244 funkcje mieszające ze stałą lub zmienną wielkością rekordu,
245 transakcje, kroniki, pamięć dzieloną i odtwarzanie baz. Ma wsparcie
246 dla C, C++, Javy i Perla.
247
248 Ten pakiet zawiera narzędzia do obsługi baz Berkeley DB z linii
249 poleceń.
250
251 %prep
252 %setup -q -n db-%{ver}
253 # official patches
254 #%%patchset_patch 1 %{patchlevel}
255
256 %build
257 cp -f /usr/share/automake/config.sub dist
258
259 JAVACFLAGS="-source 1.5 -target 1.5"
260 export JAVACFLAGS
261
262 %if %{with static_libs}
263 cp -a build_unix build_unix.static
264
265 cd build_unix.static
266
267 CC="%{__cc}"
268 CXX="%{__cxx}"
269 CFLAGS="%{rpmcflags}"
270 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
271 LDFLAGS="%{rpmcflags} %{rpmldflags}"
272 export CC CXX CFLAGS CXXFLAGS LDFLAGS
273
274 ../dist/%configure \
275         --enable-compat185 \
276         --disable-shared \
277         --enable-static \
278         --enable-posixmutexes \
279         --enable-cxx
280
281 # (temporarily?) disabled because of compilation errors:
282 #       --enable-dump185 \
283
284 %{__make} library_build
285 cd ..
286 %endif
287
288 cd build_unix
289
290 ../dist/%configure \
291         --prefix=%{_prefix} \
292         --libdir=%{_libdir} \
293         --enable-compat185 \
294         --enable-posixmutexes \
295         --enable-cxx \
296         %{?with_tcl:--enable-tcl} \
297         %{?with_tcl:--with-tcl=/usr/lib} \
298         %{?with_java:--enable-java} \
299         --disable-static \
300         --enable-shared
301
302 %{__make} library_build \
303         TCFLAGS='-I$(builddir) -I%{_includedir}' \
304         LIBSO_LIBS="\$(LIBS)" \
305         LIBTSO_LIBS="\$(LIBS) -ltcl"
306
307 %install
308 rm -rf $RPM_BUILD_ROOT
309 install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_bindir},/%{_lib}}
310 %if %{with java}
311 install -d $RPM_BUILD_ROOT%{_javadir}
312 %endif
313
314 %if %{with static_libs}
315 %{__make} -C build_unix.static library_install \
316         DESTDIR=$RPM_BUILD_ROOT \
317         docdir=%{_docdir}/db-%{version}-docs
318 %endif
319
320 %{__make} -C build_unix library_install \
321         DESTDIR=$RPM_BUILD_ROOT \
322         LIB_INSTALL_FILE_LIST="" \
323         docdir=%{_docdir}/db-%{version}-docs
324
325 mv $RPM_BUILD_ROOT%{_libdir}/libdb-%{libver}.so $RPM_BUILD_ROOT/%{_lib}
326
327 cd $RPM_BUILD_ROOT%{_libdir}
328 ln -sf /%{_lib}/libdb-%{libver}.so libdb.so
329 ln -sf /%{_lib}/libdb-%{libver}.so libdb4.so
330 ln -sf /%{_lib}/libdb-%{libver}.so libdb-%{libver}.so
331 ln -sf /%{_lib}/libdb-%{libver}.so libndbm.so
332 ln -sf libdb-%{libver}.la libdb.la
333 ln -sf libdb-%{libver}.la libdb4.la
334 ln -sf libdb-%{libver}.la libndbm.la
335 %if %{with java}
336 ln -sf libdb_java-%{libver}.la libdb_java.la
337 mv -f $RPM_BUILD_ROOT%{_libdir}/*.jar $RPM_BUILD_ROOT%{_javadir}
338 %endif
339 %if %{with tcl}
340 ln -sf libdb_tcl-%{libver}.so libdb_tcl.so
341 ln -sf libdb_tcl-%{libver}.la libdb_tcl.la
342 %endif
343 ln -sf libdb_cxx-%{libver}.la libdb_cxx.la
344 %if %{with static_libs}
345 mv -f libdb.a libdb-%{libver}.a
346 ln -sf libdb-%{libver}.a libdb.a
347 ln -sf libdb-%{libver}.a libdb4.a
348 ln -sf libdb-%{libver}.a libndbm.a
349 mv -f libdb_cxx.a libdb_cxx-%{libver}.a
350 ln -sf libdb_cxx-%{libver}.a libdb_cxx.a
351 %endif
352 ln -sf libdb_cxx-%{libver}.so libdb_cxx.so
353
354 sed -i "s/old_library=''/old_library='libdb-%{libver}.a'/" libdb-%{libver}.la
355 sed -i "s/old_library=''/old_library='libdb_cxx-%{libver}.a'/" libdb_cxx-%{libver}.la
356
357 cd -
358 rm -f examples_c*/tags
359 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-%{version}
360 cp -rf examples_c/* $RPM_BUILD_ROOT%{_examplesdir}/db-%{version}
361
362 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-cxx-%{version}
363 cp -rf examples_cxx/* $RPM_BUILD_ROOT%{_examplesdir}/db-cxx-%{version}
364
365 %if %{with java}
366 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
367 cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
368 %endif
369
370 # in %doc
371 %{__rm} $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/{index.html,license/license_db.html}
372
373 # don't have csharp subpackages yet
374 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/csharp
375
376 %clean
377 rm -rf $RPM_BUILD_ROOT
378
379 %post   -p /sbin/ldconfig
380 %postun -p /sbin/ldconfig
381
382 %post   tcl -p /sbin/ldconfig
383 %postun tcl -p /sbin/ldconfig
384
385 %post   cxx -p /sbin/ldconfig
386 %postun cxx -p /sbin/ldconfig
387
388 %files
389 %defattr(644,root,root,755)
390 %doc LICENSE README docs/index.html docs/license
391 %attr(755,root,root) /%{_lib}/libdb-%{libver}.so
392
393 %files devel
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_libdir}/libdb-%{libver}.so
396 %attr(755,root,root) %{_libdir}/libdb4.so
397 %attr(755,root,root) %{_libdir}/libdb.so
398 %attr(755,root,root) %{_libdir}/libndbm.so
399 %{_libdir}/libdb-%{libver}.la
400 %{_libdir}/libdb4.la
401 %{_libdir}/libdb.la
402 %{_libdir}/libndbm.la
403 %{_includedir}/db.h
404 %{_includedir}/db_185.h
405 %dir %{_docdir}/db-%{version}-docs
406 %dir %{_docdir}/db-%{version}-docs/api_reference
407 %{_docdir}/db-%{version}-docs/api_reference/C
408 %{_docdir}/db-%{version}-docs/articles
409 %dir %{_docdir}/db-%{version}-docs/gsg
410 %{_docdir}/db-%{version}-docs/gsg/C
411 %dir %{_docdir}/db-%{version}-docs/gsg_txn
412 %{_docdir}/db-%{version}-docs/gsg_txn/C
413 %dir %{_docdir}/db-%{version}-docs/gsg_db_rep
414 %{_docdir}/db-%{version}-docs/gsg_db_rep/C
415 %{_docdir}/db-%{version}-docs/porting
416 %{_docdir}/db-%{version}-docs/programmer_reference
417 %{_examplesdir}/db-%{version}
418
419 %if %{with static_libs}
420 %files static
421 %defattr(644,root,root,755)
422 %{_libdir}/libdb-%{libver}.a
423 %{_libdir}/libdb4.a
424 %{_libdir}/libdb.a
425 %{_libdir}/libndbm.a
426 %endif
427
428 %files cxx
429 %defattr(644,root,root,755)
430 %attr(755,root,root) %{_libdir}/libdb_cxx-%{libver}.so
431
432 %files cxx-devel
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_libdir}/libdb_cxx.so
435 %{_libdir}/libdb_cxx-%{libver}.la
436 %{_libdir}/libdb_cxx.la
437 %{_includedir}/db_cxx.h
438 %{_docdir}/db-%{version}-docs/api_reference/CXX
439 %{_docdir}/db-%{version}-docs/api_reference/STL
440 %{_docdir}/db-%{version}-docs/gsg/CXX
441 %{_docdir}/db-%{version}-docs/gsg_txn/CXX
442 %{_docdir}/db-%{version}-docs/gsg_db_rep/CXX
443 %{_examplesdir}/db-cxx-%{version}
444
445 %if %{with static_libs}
446 %files cxx-static
447 %defattr(644,root,root,755)
448 %{_libdir}/libdb_cxx-%{libver}.a
449 %{_libdir}/libdb_cxx.a
450 %endif
451
452 %if %{with java}
453 %files java
454 %defattr(644,root,root,755)
455 %attr(755,root,root) %{_libdir}/libdb_java-%{libver}.so
456 %{_javadir}/db.jar
457
458 %files java-devel
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_libdir}/libdb_java.so
461 %{_libdir}/libdb_java-%{libver}.la
462 %{_libdir}/libdb_java.la
463 %{_docdir}/db-%{version}-docs/collections
464 %{_docdir}/db-%{version}-docs/gsg/JAVA
465 %{_docdir}/db-%{version}-docs/gsg_txn/JAVA
466 %{_docdir}/db-%{version}-docs/gsg_db_rep/JAVA
467 %{_docdir}/db-%{version}-docs/java
468 %{_examplesdir}/db-java-%{version}
469 %endif
470
471 %if %{with tcl}
472 %files tcl
473 %defattr(644,root,root,755)
474 %attr(755,root,root) %{_libdir}/libdb_tcl-%{libver}.so
475
476 %files tcl-devel
477 %defattr(644,root,root,755)
478 %attr(755,root,root) %{_libdir}/libdb_tcl.so
479 %{_libdir}/libdb_tcl-%{libver}.la
480 %{_libdir}/libdb_tcl.la
481 %{_docdir}/db-%{version}-docs/api_reference/TCL
482 %endif
483
484 %files utils
485 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_bindir}/db*_archive
487 %attr(755,root,root) %{_bindir}/db*_checkpoint
488 %attr(755,root,root) %{_bindir}/db*_deadlock
489 %attr(755,root,root) %{_bindir}/db*_dump
490 %attr(755,root,root) %{_bindir}/db*_hotbackup
491 %attr(755,root,root) %{_bindir}/db*_load
492 %attr(755,root,root) %{_bindir}/db*_printlog
493 %attr(755,root,root) %{_bindir}/db*_recover
494 %attr(755,root,root) %{_bindir}/db*_sql
495 %attr(755,root,root) %{_bindir}/db*_stat
496 %attr(755,root,root) %{_bindir}/db*_upgrade
497 %attr(755,root,root) %{_bindir}/db*_verify
This page took 0.113072 seconds and 2 git commands to generate.