# # spec file for package libdb-4_8 # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: libdb-4_8 BuildRequires: fdupes %define generic_name db %define docdir %{_defaultdocdir}/%{name} %define source_dir %{_datadir}/%{name}-source Version: 4.8.30 Release: 7 %define major 4 %define minor 8 Summary: Berkeley DB Database Library Version 4.8 Source: db-%{version}.tar.bz2 Url: http://www.sleepycat.com Patch0: db-%{version}.dif License: BSD3c(or similar) Group: System/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build Prefix: %{_prefix} # bug437293 %ifarch ppc64 Obsoletes: db-64bit %endif # Provides: db = %{version} %description The Berkeley DB Database is a programmatic toolkit that provides database support for applications. This package contains the necessary runtime libraries. %package -n db-utils License: BSD3c(or similar) Summary: Command Line tools for Managing Berkeley DB Databases Group: Productivity/Databases/Tools %description -n db-utils The Berkeley DB Database is a programmatic toolkit that provides database support for applications. This package contains the command line tools for managing Berkeley DB databases. %package -n db-doc License: BSD3c(or similar) Summary: Documentation for Berkeley DB Group: Development/Libraries/C and C++ Provides: db-utils-doc = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description -n db-doc The Berkeley DB Database is a programmatic toolkit that provides database support for applications. This package contains the documentation. %package devel License: BSD3c(or similar) Summary: Development Files and Libraries for the Berkeley DB library Version 4.8 Group: Development/Libraries/C and C++ Requires: %{name} = %{version} glibc-devel Provides: db-devel = %{version} %description devel The Berkeley DB Database is a programmatic toolkit that provides database support for applications. This package contains the header files and libraries. %prep %setup -q -n %{generic_name}-%{version} %patch0 cd .. tar -jcf %{generic_name}-%{version}.tar.bz2 %{generic_name}-%{version} %build cd dist ./s_config CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" CC=gcc export CFLAGS CXXFLAGS CC # # Build now the NPTL version # mkdir ../build_nptl cd ../build_nptl ../dist/configure --prefix=%{_prefix} \ --libdir=%{_libdir} --enable-compat185 --disable-dump185 \ --enable-shared --disable-static --disable-cxx \ --with-mutex="POSIX/pthreads/library" \ %{_target_cpu}-suse-linux # Make sure O_DIRECT is really disabled (build host could have old kernel) perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' db_config.h # This seems to be unneeded when build with --disable-cxx ## Remove libtool predep_objects and postdep_objects wonkiness #perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool #perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool #perl -pi -e 's/-shared -nostdlib/-shared/' libtool make %{?_smp_mflags} LIBSO_LIBS='$(LIBS)' LIBXSO_LIBS='$(LIBS)'" -L%{_libdir} -lstdc++" %install mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/db4 #mkdir -p ${RPM_BUILD_ROOT}% {source_dir}/ # #cp % {_builddir}/% {generic_name}-% {version}.tar.bz2 ${RPM_BUILD_ROOT}% {source_dir}/ #mkdir -p $RPM_BUILD_ROOT/% {_defaultdocdir}/% {name}-source #cat >>$RPM_BUILD_ROOT/% {_defaultdocdir}/% {name}-source/README<> $RPM_BUILD_ROOT/% {_defaultdocdir}/% {name}-source/configure_args.txt #cp % {_sourcedir}/*patch* $RPM_BUILD_ROOT/% {_defaultdocdir}/% {name}-source || true #cp % {_sourcedir}/*.dif* $RPM_BUILD_ROOT/% {_defaultdocdir}/% {name}-source || true # mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/%{_lib} cd build_nptl make prefix=${RPM_BUILD_ROOT}%{_prefix} libdir=${RPM_BUILD_ROOT}%{_libdir} strip=true install cd .. # make ldd happy: chmod 755 $RPM_BUILD_ROOT%{_libdir}/libdb*.so # Fix header file installation mv ${RPM_BUILD_ROOT}%{_includedir}/*.h ${RPM_BUILD_ROOT}%{_includedir}/db4 echo "#include " > ${RPM_BUILD_ROOT}%{_includedir}/db.h echo "#include " > ${RPM_BUILD_ROOT}%{_includedir}/db_185.h rm -f ${RPM_BUILD_ROOT}%{_includedir}/db4/db_cxx.h # remove dangling tags symlink from examples. rm -f examples_cxx/tags rm -f examples_c/tags # Move documentation to the right directory mkdir -p $RPM_BUILD_ROOT%{docdir} mv $RPM_BUILD_ROOT%{_prefix}/docs/* $RPM_BUILD_ROOT/%{docdir} cp -a examples_c $RPM_BUILD_ROOT/%{docdir} cp -a LICENSE README $RPM_BUILD_ROOT/%{docdir} # # Remove api documentation for C++, Java and TCL rm -rf $RPM_BUILD_ROOT/%{docdir}/csharp rm -rf $RPM_BUILD_ROOT/%{docdir}/java rm -rf $RPM_BUILD_ROOT/%{docdir}/api_reference/CXX rm -rf $RPM_BUILD_ROOT/%{docdir}/api_reference/STL rm -rf $RPM_BUILD_ROOT/%{docdir}/api_reference/TCL rm -rf $RPM_BUILD_ROOT/%{docdir}/gsg*/CXX rm -rf $RPM_BUILD_ROOT/%{docdir}/gsg*/JAVA mv $RPM_BUILD_ROOT/%{docdir}/collections/tutorial $RPM_BUILD_ROOT/%{docdir}/ # Remove crappy *.la files rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la rm -rf $RPM_BUILD_ROOT%{_libdir}/tls/*.la %fdupes $RPM_BUILD_ROOT%{_libdir} %fdupes $RPM_BUILD_ROOT%{docdir} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %clean rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,root) %{_libdir}/libdb-%{major}.%{minor}.so %files -n db-doc %defattr(-,root,root) %dir %{docdir} %doc %{docdir}/LICENSE %doc %{docdir}/README %doc %{docdir}/index.html %doc %{docdir}/license %doc %{docdir}/articles %doc %{docdir}/api_reference %doc %{docdir}/examples_c %doc %{docdir}/gsg* %doc %{docdir}/porting %doc %{docdir}/programmer_reference %doc %{docdir}/tutorial %files -n db-utils %defattr(-,root,root) %{_bindir}/db_archive %{_bindir}/db_checkpoint %{_bindir}/db_deadlock %{_bindir}/db_dump %{_bindir}/db_load %{_bindir}/db_printlog %{_bindir}/db_recover %{_bindir}/db_sql %{_bindir}/db_stat %{_bindir}/db_upgrade %{_bindir}/db_verify %{_bindir}/db_hotbackup %files devel %defattr(-,root,root) %dir %{_includedir}/db4 %{_includedir}/db.h %{_includedir}/db_185.h %{_includedir}/db4/db.h %{_includedir}/db4/db_185.h %{_libdir}/libdb.so %{_libdir}/libdb-%{major}.so #% files source #% defattr(-,root,root) #% {_defaultdocdir}/% {name}-source #% {source_dir} # %changelog