1 %define generic_name db
2 %define docdir %{_defaultdocdir}/%{name}
7 Version: %{major}.%{minor}.30.NC
9 Summary: Berkeley DB Database Library Version 4.8
11 Group: System/Libraries
12 Url: http://www.sleepycat.com
13 Source: db-%{version}.tar.gz
14 Source1: %{name}.changes
16 Source1001: db4.manifest
17 BuildRequires: autoconf
19 BuildRequires: gcc-c++
20 Provides: db = %{version}
23 The Berkeley DB Database is a programmatic toolkit that provides
24 database support for applications.
26 This package contains the necessary runtime libraries.
29 Summary: Command Line tools for Managing Berkeley DB Databases
30 Group: Productivity/Databases/Tools
33 The Berkeley DB Database is a programmatic toolkit that provides
34 database support for applications.
36 This package contains the command line tools for managing Berkeley DB
40 Summary: Documentation for Berkeley DB
41 Group: Development/Libraries/C and C++
45 The Berkeley DB Database is a programmatic toolkit that provides
46 database support for applications.
48 This package contains the documentation.
51 Summary: Development Files and Libraries for the Berkeley DB library Version 4.8
52 Group: Development/Libraries/C and C++
53 Requires: %{name} = %{version}
57 The Berkeley DB Database is a programmatic toolkit that provides
58 database support for applications.
60 This package contains the header files and libraries.
63 %setup -q -n %{generic_name}-%{version}
68 # dist/RELEASE codes the build date into the binary.
69 # Use last change of changes file instead
70 LAST_MOD=`stat --format="%Y" %SOURCE1`
71 DIST_DATE=`date '+%B %e, %Y' --date="@$LAST_MOD"`
72 sed -i -e "s/^DB_RELEASE_DATE=.*$/DB_RELEASE_DATE=\"$DIST_DATE\"/" RELEASE
74 CFLAGS="%{optflags} -fno-strict-aliasing"
76 export CFLAGS CXXFLAGS CC
78 # Build now the NPTL version
82 ../dist/configure --prefix=%{_prefix} \
83 --libdir=%{_libdir} --enable-compat185 --disable-dump185 \
84 --enable-shared --disable-static --enable-cxx \
85 --with-mutex="POSIX/pthreads/library" \
87 %{_target_cpu}-suse-linux-gnueabi
89 %{_target_cpu}-suse-linux
91 # Make sure O_DIRECT is really disabled (build host could have old kernel)
92 perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' db_config.h
93 # Remove libtool predep_objects and postdep_objects wonkiness
94 perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool
95 perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool
96 perl -pi -e 's/-shared -nostdlib/-shared/' libtool
98 make %{?_smp_mflags} LIBSO_LIBS='$(LIBS)' LIBXSO_LIBS='$(LIBS)'" -L%{_libdir} -lstdc++"
101 mkdir -p %{buildroot}%{_includedir}/db4
102 CONFIG_ARGS=$(find . -name "config.log" -exec grep "\$ \.\./dist\/configure" {} \; | sed 's/.*configure\( --.*\)/\1/g')
103 if [ -z "$CONFIG_ARGS" ]
105 echo "could not find configure arguments ... exiting"
108 mkdir -p %{buildroot}%{_libdir}
110 make prefix=%{buildroot}%{_prefix} libdir=%{buildroot}%{_libdir} strip=true install
113 chmod 755 %{buildroot}%{_libdir}/libdb*.so
114 # Fix header file installation
115 mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/db4
116 echo "#include <db4/db.h>" > %{buildroot}%{_includedir}/db.h
117 echo "#include <db4/db_185.h>" > %{buildroot}%{_includedir}/db_185.h
118 echo "#include <db4/db_cxx.h>" > %{buildroot}%{_includedir}/db_cxx.h
119 # remove dangling tags symlink from examples.
120 rm -f examples_cxx/tags
121 rm -f examples_c/tags
122 # Move documentation to the right directory
123 mkdir -p %{buildroot}%{docdir}
124 mv %{buildroot}%{_prefix}/docs/* %{buildroot}/%{docdir}
125 cp -a examples_cxx examples_c %{buildroot}/%{docdir}
126 cp -a LICENSE README %{buildroot}/%{docdir}
128 # Remove api documentation for C++, Java and TCL
129 rm -rf %{buildroot}/%{docdir}/csharp
130 rm -rf %{buildroot}/%{docdir}/java
131 rm -rf %{buildroot}/%{docdir}/api_reference/CXX
132 rm -rf %{buildroot}/%{docdir}/api_reference/STL
133 rm -rf %{buildroot}/%{docdir}/api_reference/TCL
134 rm -rf %{buildroot}/%{docdir}/gsg*/CXX
135 rm -rf %{buildroot}/%{docdir}/gsg*/JAVA
136 mv %{buildroot}/%{docdir}/collections/tutorial %{buildroot}/%{docdir}/
137 # Remove crappy *.la files
138 rm -rf %{buildroot}%{_libdir}/*.la
139 rm -rf %{buildroot}%{_libdir}/tls/*.la
140 %fdupes %{buildroot}%{_libdir}
141 %fdupes %{buildroot}%{docdir}
143 %post -p /sbin/ldconfig
145 %postun -p /sbin/ldconfig
148 %manifest %{name}.manifest
149 %defattr(-,root,root)
150 %{_libdir}/libdb-%{major}.%{minor}.so
151 %{_libdir}/libdb_cxx-%{major}.%{minor}.so
154 %manifest %{name}.manifest
155 %defattr(-,root,root)
157 %doc %{docdir}/LICENSE
158 %doc %{docdir}/README
159 %doc %{docdir}/index.html
160 %doc %{docdir}/license
161 %doc %{docdir}/articles
162 %doc %{docdir}/api_reference
163 %doc %{docdir}/examples_c
164 %doc %{docdir}/examples_cxx
166 %doc %{docdir}/porting
167 %doc %{docdir}/programmer_reference
168 %doc %{docdir}/tutorial
171 %manifest %{name}.manifest
172 %defattr(-,root,root)
173 %{_bindir}/db_archive
174 %{_bindir}/db_checkpoint
175 %{_bindir}/db_deadlock
178 %{_bindir}/db_printlog
179 %{_bindir}/db_recover
182 %{_bindir}/db_upgrade
184 %{_bindir}/db_hotbackup
187 %manifest %{name}.manifest
188 %defattr(-,root,root)
189 %dir %{_includedir}/db4
191 %{_includedir}/db_185.h
192 %{_includedir}/db_cxx.h
193 %{_includedir}/db4/db.h
194 %{_includedir}/db4/db_185.h
195 %{_includedir}/db4/db_cxx.h
197 %{_libdir}/libdb-%{major}.so
198 %{_libdir}/libdb_cxx.so
199 %{_libdir}/libdb_cxx-%{major}.so