##
## rekall.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2006 OpenPKG Foundation e.V.
## Copyright (c) 2000-2006 Ralf S. Engelschall
##
## 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 information
Name: rekall
Summary: RDBMS Application Frontend GUI
URL: http://www.rekallrevealed.org/
Vendor: Mike Richardson & John Dean
Packager: OpenPKG
Distribution: OpenPKG
Class: EVAL
Group: Database
License: GPL
Version: 2.4.0
Release: 20060115
# package options
%option with_rt no
%option with_kjs yes
%option with_xbase yes
%option with_pgsql no
%option with_mysql no
# list of sources
Source0: http://www.rekallrevealed.org/packages/rekall-%{version}.tar.gz
Source1: http://www.rekallrevealed.org/packages/RekallDemo.tgz
Patch0: rekall.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, pkgconfig, scons
PreReq: OpenPKG, openpkg >= 20040130
BuildPreReq: X11, qt, python
PreReq: X11, qt, python
%if "%{with_mysql}" == "yes"
BuildPreReq: mysql
PreReq: mysql
%endif
%if "%{with_pgsql}" == "yes"
BuildPreReq: postgresql
PreReq: postgresql
%endif
AutoReq: no
AutoReqProv: no
%description
Rekall is a RDBMS frontend GUI similar in concept to Microsoft
Access. It supports the local RDBMS XBase/XBSQL and remote RDBMS
MySQL and PostgreSQL for data storage. Its own meta information is
stored in XML format either locally on the filesystem or also in the
remote RDBMS.
%track
prog rekall = {
version = %{version}
url = http://www.rekallrevealed.org/packages/
regex = rekall-(__VER__)\.tar\.gz
}
%prep
%setup -q
%setup -q -D -T -a 1
%patch -p0
%build
# workaround build-time problems
find . -name "*.orig" -print | xargs rm -f
# configure program
( echo "with-qt-includes=%{l_prefix}/include/qt"
echo "with-qt-libraries=%{l_prefix}/lib"
echo "with-qt-binaries=%{l_prefix}/bin"
echo "with-python-includes=%{l_prefix}/include/python"
echo "with-python-libraries=%{l_prefix}/lib/python/config"
echo "prefix=%{l_prefix}"
%if "%{with_rt}" == "yes"
echo "enable-rt=yes"
%else
echo "enable-rt=no"
%endif
%if "%{with_kjs}" == "yes"
echo "enable-kjs=yes"
%else
echo "enable-kjs=no"
%endif
%if "%{with_xbase}" == "yes"
echo "enable-xbase=yes"
%else
echo "enable-xbase=no"
%endif
%if "%{with_mysql}" == "yes"
echo "enable-mysql=yes"
echo "with-mysql-includes=%{l_prefix}/include/mysql"
echo "with-mysql-libraries=%{l_prefix}/lib/mysql"
%else
echo "enable-mysql=no"
%endif
%if "%{with_pgsql}" == "yes"
echo "enable-pgsql=yes"
echo "with-pgsql-includes=%{l_prefix}/include/postgresql"
echo "with-pgsql-libraries=%{l_prefix}/lib"
%else
echo "enable-pgsql=no"
%endif
echo "enable-debug=no"
echo "enable-tests=no"
echo "libprefix=rekall"
echo "appname=rekall"
echo "mode=qt3"
) >settings
cp scons/Makefile .
%{l_make} %{l_mflags} config
# build program
%{l_make} %{l_mflags}
%install
# install program
rm -rf $RPM_BUILD_ROOT
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
# post-adjust installation
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/libexec/rekall
for bin in \
rekall \
rekallManual \
%if "%{with_rt}" == "yes"
rekallrt \
%endif
; do
mv $RPM_BUILD_ROOT%{l_prefix}/bin/$bin \
$RPM_BUILD_ROOT%{l_prefix}/libexec/rekall/$bin
strip $RPM_BUILD_ROOT%{l_prefix}/libexec/rekall/$bin >/dev/null 2>&1 || true
( echo "#!/bin/sh"
echo "PATH=\"%{l_prefix}/libexec/rekall:\$PATH\""
echo "export PATH"
echo "LD_LIBRARY_PATH=\"%{l_prefix}/lib/rekall:\$LD_LIBRARY_PATH\""
echo "export LD_LIBRARY_PATH"
echo "exec %{l_prefix}/libexec/rekall/$bin \${1+\"$@\"} 2>/dev/null"
) >$RPM_BUILD_ROOT%{l_prefix}/bin/$bin
chmod 755 $RPM_BUILD_ROOT%{l_prefix}/bin/$bin
done
# install demo application
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/share/rekall/demo
rm -f RekallDemo/*~
%{l_shtool} install -c -m 644 \
RekallDemo/* $RPM_BUILD_ROOT%{l_prefix}/share/rekall/demo/
# determine installation files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT