File firebird-classic.spec of Package firebird

#
# spec file for package firebird-classic
#
# Copyright (c) 2017 SUSE LINUX 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/
#


%define upversion 2.5.6.27020
%define pkgversion Firebird-%{upversion}-0
%define bname firebird

%if 0%{?suse_version} < 1130
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%endif

Name:           firebird-classic
Version:        %{upversion}
Release:        0
Source:         %{pkgversion}.tar.xz
Source99:       baselibs.conf
Url:            http://www.firebirdsql.org/
BuildRequires:  gcc-c++
BuildRequires:  libedit-devel
BuildRequires:  libicu-devel
BuildRequires:  libtool
BuildRequires:  ncurses-devel
BuildRequires:  pkg-config
BuildRequires:  xz
%ifnarch %{ix86} x86_64
BuildRequires:  libatomic-ops-devel
%endif
Conflicts:      %{bname}-superserver
Requires(pre):  pwdutils
Requires:       %{bname} = %{version}
Provides:       %{bname}-server
Summary:        Classic architecture binaries for SQL database server
License:        SUSE-IDPL-1.0 and SUSE-IBPL-1.0
Group:          Productivity/Databases/Servers

# SUSE specific patches
Patch1:         allow-creating-buildRoot-as-non-root-user.patch
Patch2:         fbguard-allow-creating-a-guard-pidfile.patch
Patch3:         use-killproc-in-stop-branch-of-SuSE-init-script.patch
Patch4:         disable-xinetd-service-by-default.patch
Patch5:         do-not-use-DatabaseAccess-Full-in-default-config.patch
Patch6:         add-pkgconfig-files.patch
# backport from upstream 3.0 branch
Patch21:        Fixed-CORE-3431-ISQL-pads-UTF-8-data-incorrectly.patch
Patch22:        isql-fix-output-if-charset-is-different-from-locale.patch
Patch23:        isql-fix-buffer-overflow-when-set-width-sets-bigger-.patch
# SUSE only, 2.5 only
Patch31:        add-experimental-support-for-m68k-architecture.patch
# bug fixes
Patch41:        Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch

%description
Classic architecture binaries for Firebird SQL server. These can be used
either for Classic (separate processes run by (x)inetd) or SuperClassic
(one multithreaded daemon with per-connection cache and shared locking
system) model.

Firebird is a relational database offering many ANSI SQL standard
features that runs on Linux, Windows, and a variety of Unix platforms.
Firebird offers excellent concurrency, high performance, and powerful
language support for stored procedures and triggers. It has been used
in production systems, under a variety of names, since 1981.


%prep
%setup -q -n %{pkgversion}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch31 -p1
%patch41 -p1

%build
rm -vf builds/make.new/config/config.{guess,sub}
./autogen.sh --prefix=%{_prefix} \
  --with-system-icu --with-system-editline \
  --with-fbbin=%{_bindir} --with-fbsbin=%{_sbindir} \
  --with-fbconf=%{_sysconfdir}/%{bname} \
  --with-fblib=%{_libdir} --with-fbinclude=%{_includedir}/%{bname} \
  --with-fbdoc=%{_docdir}/%{bname} \
  --with-fbudf=%{_libdir}/%{bname}/udf \
  --with-fbsample=%{_docdir}/%{bname}/sample \
  --with-fbsample-db=%{_libdir}/%{bname}/sample \
  --with-fbhelp=%{_libdir}/%{bname}/lib \
  --with-fbintl=%{_libdir}/%{bname}/intl \
  --with-fbmisc=%{_datadir}/%{bname}/misc \
  --with-fbsecure-db=%{_localstatedir}/lib/%{bname}/secdb \
  --with-fbmsg=%{_libdir}/%{bname}/lib \
  --with-fblog=%{_localstatedir}/log/%{bname} \
  --with-fbglock=%{_localstatedir}/run/%{bname} \
  --with-fbplugins=%{_libdir}/%{bname}/plugins
make %{?jobs:CPU=%jobs}
cd gen
make -f Makefile.install buildRoot
chmod -R u+w buildroot%{_docdir}/%{bname}

%install
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
cp gen/buildroot%{_bindir}/* ${RPM_BUILD_ROOT}%{_bindir}/
mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
cp gen/buildroot%{_sbindir}/* ${RPM_BUILD_ROOT}%{_sbindir}/
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
cp -a gen/buildroot%{_libdir}/libfbembed.so* ${RPM_BUILD_ROOT}%{_libdir}/
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/xinetd.d
cp gen/buildroot%{_datadir}/%{bname}/misc/firebird.xinetd \
  ${RPM_BUILD_ROOT}%{_sysconfdir}/xinetd.d/%{bname}
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig
cp -v gen/install/misc/*.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/
cd ${RPM_BUILD_ROOT}
rm -vf .%{_sbindir}/*.sh
rm -vf .%{_sbindir}/fbguard
rm -vf .%{_sbindir}/fb_config
mv -v .%{_bindir}/isql .%{_bindir}/isql-fb
mv -v .%{_bindir}/gstat .%{_bindir}/gstat-fb

%files
%defattr(-,root,root)
%{_bindir}/*
%{_sbindir}/*
%config(noreplace) %{_sysconfdir}/xinetd.d/%{bname}

# ----------------------------------------------------------------------------

%package -n libfbembed2_5
Summary:        Firebird SQL server embedded client library
Group:          Development/Libraries/C and C++

%description -n libfbembed2_5
Shared embedded client library for Firebird SQL server.

Firebird is a relational database offering many ANSI SQL standard
features that runs on Linux, Windows, and a variety of Unix platforms.
Firebird offers excellent concurrency, high performance, and powerful
language support for stored procedures and triggers. It has been used
in production systems, under a variety of names, since 1981.


%files -n libfbembed2_5
%defattr(-,root,root)
%{_libdir}/libfbembed.so.*

%post -n libfbembed2_5
/sbin/ldconfig

%postun -n libfbembed2_5
/sbin/ldconfig

# ----------------------------------------------------------------------------

%package -n libfbembed-devel
Summary:        Development files for Firebird SQL server embedded client library
Group:          Development/Libraries/C and C++
Requires:       %{bname}-devel
Requires:       libfbembed2_5 = %{version}

%description -n libfbembed-devel
Development files for Firebird SQL server embedded client library.
 
Firebird is a relational database offering many ANSI SQL standard
features that runs on Linux, Windows, and a variety of Unix platforms.
Firebird offers excellent concurrency, high performance, and powerful
language support for stored procedures and triggers. It has been used
in production systems, under a variety of names, since 1981.


%files -n libfbembed-devel
%defattr(-,root,root)
%{_libdir}/libfbembed.so
%{_libdir}/pkgconfig/fbembed.pc

%changelog