Name: Firebird
# FirebirdCS/FirebirdSS (Classic Server/Super Server)?
Version: 1.5.3.4870
-Release: 2
+Release: 7
License: Interbase Public License 1.0
Group: Applications/Databases
Source0: http://dl.sourceforge.net/firebird/firebird-%{version}.tar.bz2
Patch9: %{name}-opt-bypass-redundant-sort.dpatch
Patch10: %{name}-security-remote-preauth-crash.dpatch
Patch11: %{name}-separate-file-and-sem-perms.dpatch
-URL: http://firebird.sourceforge.net/
+Patch12: %{name}-ppc.patch
+URL: http://www.firebirdsql.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: unzip
Requires: %{name}-lib = %{version}-%{release}
+%if %{with ss}
+Requires(post,preun): /sbin/chkconfig
+Requires: rc-scripts
+%endif
# official ports are x86, sparc and x86_64
# alpha and ppc added in morearchs patch
# see morearchs patch if you want to add support for more archs
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
install -d docs/{IB3.0,IB4.0,IB6.0}
unzip -q %{SOURCE1} -d docs/IB6.0
tar xzf %{SOURCE2} -C docs/IB4.0
# standardize extension, also avoids gzipping by compress-doc
mv -f docs/IB6.0/LANGREF.{PDF,pdf}
+# force rebuild
+rm -f src/dsql/parse.cpp
+
%build
cd src/extern/editline
cp -f /usr/share/automake/config.* .
# OPTFLAGS for editline
export OPTFLAGS="%{rpmcflags}"
+DARCH=""
%ifarch %{x8664}
DARCH="-DAMD64"
-%else
+%endif
%ifarch sparc sparcv9
DARCH="-Dsparc"
-%else
-DARCH=""
%endif
+%ifarch ppc
+DARCH="-DPPC"
%endif
+
%{__make} -j1 \
CC="%{__cc}" \
CXX="%{__cxx}" \
LIB_LINK_RPATH_LINE= \
LIB_CLIENT_LINK_OPTIONS="-lpthread"
+# my name is hack. dirty hack.
+# why isn't that build in previous make call?
+%{__make} -C src -f ../gen/Makefile.libfbembed libfbembed \
+ CC="%{__cc}" \
+ CXX="%{__cxx}" \
+ PROD_FLAGS="%{rpmcflags} -DNDEBUG -DLINUX -pipe -MMD -fPIC $DARCH" \
+ DEV_FLAGS="%{rpmcflags} -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -fPIC -Wall -Wno-switch $DARCH" \
+ LIB_LINK_RPATH_LINE= \
+ LIB_CLIENT_LINK_OPTIONS="-lpthread"
+
# fb_lock_mgr is started during build - try to stop it (if /proc is mounted...)
/sbin/fuser -k gen/firebird/bin/fb_lock_mgr 2>/dev/null || :
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
install gen/firebird/lib/libfb*.a $RPM_BUILD_ROOT%{_libdir}
+install gen/firebird/lib/libfbembed.so* $RPM_BUILD_ROOT%{_libdir}
cd gen/buildroot/%{ibdir}
cp -af UDF bin help intl aliases.conf firebird.conf firebird.msg security.fdb \
install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/firebird
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/firebird
install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/firebird
+
%clean
rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc doc/{sql.extensions,Firebird_conf.txt,README.user*,WhatsNew,fb2-todo.txt}
%attr(755,root,root) %{_libdir}/libib_util.so
-%dir %{ibdir}
+%dir %attr(770,root,firebird) %{ibdir}
%attr(755,root,root) %{ibdir}/UDF
%attr(755,root,root) %{ibdir}/bin
%{ibdir}/help
-%dir %{ibdir}/intl
+%dir %attr(770,root,firebird) %{ibdir}/intl
%attr(755,root,root) %{ibdir}/intl/fbintl
%{ibdir}/firebird.msg
# following files should be in /var (*.fdb) and /etc (*.conf)?
-%{ibdir}/security.fdb
-%{ibdir}/aliases.conf
-%{ibdir}/firebird.conf
+%attr(660,root,firebird) %config(noreplace) %verify(not md5 mtime size) %{ibdir}/security.fdb
+%attr(640,root,firebird) %config(noreplace) %verify(not md5 mtime size) %{ibdir}/aliases.conf
+%attr(640,root,firebird) %config(noreplace) %verify(not md5 mtime size) %{ibdir}/firebird.conf
%if %{with ss}
%attr(754,root,root) /etc/rc.d/init.d/firebird
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/firebird