##
## db.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2004 The OpenPKG Project
## Copyright (c) 2000-2004 Ralf S. Engelschall
## Copyright (c) 2000-2004 Cable & Wireless
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package version
%define V_version 4.2.52
%define V_revision 2
# package information
Name: db
Summary: Berkeley-DB Library
URL: http://www.sleepycat.com/
Vendor: Keith Bostic
Packager: The OpenPKG Project
Distribution: OpenPKG
Class: BASE
Group: Database
License: BSD
Version: %{V_version}.%{V_revision}
Release: 20040207
# package options
%option with_compat no
%option with_cxx no
# list of sources
Source0: http://www.sleepycat.com/update/snapshot/db-%{V_version}.tar.gz
Patch0: db.patch
Patch1: http://www.sleepycat.com/update/%{V_version}/patch.%{V_version}.1
Patch2: http://www.sleepycat.com/update/%{V_version}/patch.%{V_version}.2
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, gcc
PreReq: OpenPKG, openpkg >= 20040130
AutoReq: no
AutoReqProv: no
%description
Berkeley DB is a programmatic toolkit that provides high-performance
built-in database support for desktop and server applications and
for information appliances. The Berkeley DB access methods include
B+tree, Extended Linear Hashing, Fixed and Variable-length records,
and Queues. Berkeley DB provides full transactional support,
database recovery, online backups, and separate access to locking,
logging and shared memory caching subsystems.
%track
prog db = {
version = %{V_version}
url = http://www.sleepycat.com/download/patchlogsdb.shtml
regex = db-(__VER__)\.tar\.gz
}
prog db:patch = {
version = %{version}
url = http://www.sleepycat.com/download/patchlogsdb.shtml
regex = db-(__VER__)\.tar\.gz
url = http://www.sleepycat.com/update/__NEWVER__/patch.__NEWVER__.html
regex = patch.(__NEWVER__\.\d+)
}
%prep
%setup -q -n db-%{V_version}
%patch -p0
%patch -p0 -P 1
%patch -p0 -P 2
%build
mutex="no"
case "%{l_platform -p}" in
ix86-* ) mutex="x86/gcc-assembly" ;;
esac
cd build_unix
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
%if "%{with_cxx}" == "yes"
CXX="%{l_cxx}" \
CXXFLAGS="%{l_cxxflags -O}" \
%endif
../dist/configure \
--prefix=%{l_prefix} \
%if "%{with_compat}" == "yes"
--enable-compat185 \
%else
--disable-compat185 \
%endif
%if "%{with_cxx}" == "yes"
--enable-cxx \
%else
--disable-cxx \
%endif
--with-mutex="$mutex" \
--disable-shared
%{l_make} %{l_mflags -O}
%install
rm -rf $RPM_BUILD_ROOT
( cd build_unix
%{l_make} %{l_mflags} install \
prefix=$RPM_BUILD_ROOT%{l_prefix} \
) || exit $?
rm -rf $RPM_BUILD_ROOT%{l_prefix}/docs
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libdb-[0-9]*.a
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
%if "%{with_compat}" == "no"
rm -f $RPM_BUILD_ROOT%{l_prefix}/include/db_185.h
%endif
%if "%{with_cxx}" == "no"
rm -f $RPM_BUILD_ROOT%{l_prefix}/include/db_cxx.h
rm -f $RPM_BUILD_ROOT%{l_prefix}/include/cxx_*.h
%endif
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT