summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilippe Makowski <philippe.makowski@rtech.fr>2016-03-02 12:45:00 +0100
committerPhilippe Makowski <philippe.makowski@rtech.fr>2016-03-02 12:45:00 +0100
commitcc6929bed438a23b9ed4b4c48b23102484cc35ee (patch)
treec67345ed49bdd7713e4f4b36e9ce4b64e6103649
parent02ba0fc67945d7f12db43cc77bedaf37a931f395 (diff)
downloadfirebird3-cc6929bed438a23b9ed4b4c48b23102484cc35ee.tar.gz
firebird3-cc6929bed438a23b9ed4b4c48b23102484cc35ee.tar.xz
firebird3-cc6929bed438a23b9ed4b4c48b23102484cc35ee.zip
First released version
-rw-r--r--README.Fedora21
-rw-r--r--firebird.spec219
2 files changed, 156 insertions, 84 deletions
diff --git a/README.Fedora b/README.Fedora
index 3bf59f0..9f869cb 100644
--- a/README.Fedora
+++ b/README.Fedora
@@ -1,25 +1,20 @@
Differences between upstream and the Fedora package
===================================================
-* Firebird utilities gbak,gsec,gfix,and nbackup have a symlink in /usr/bin
- In /usr/bin you have also isql-fb symlinked to Firebird isql.
- We can't name it isql to avoid conflict with isql from UNIX-ODBC
- In /usr/bin you have also gstat-fb symlinked to Firebird gstat.
- We can't name it gstat to avoid conflict with gstat from Ganglia-gmond
+* In /usr/bin you have isql-fb for Firebird isql.
+ We can't name it isql to avoid conflict with isql from UNIX-ODBC.
+ In /usr/bin you have also gstat-fb for Firebird gstat.
+ We can't name it gstat to avoid conflict with gstat from Ganglia-gmond.
+
+* By default, Firebird is set as superserver mode.
+ Please read the Firebird doc if you want to change the mode.
+ To help you, you have systemd units in /usr/share/firebird/misc.
* According to Fedora packaging rules, firebird service is not started
automatically. You need to start it, as root :
for SuperServer :
systemctl start firebird-superserver.service
- for SuperClassic :
- systemctl start firebird-superclassic.service
- for Classic :
- systemctl start firebird-classic.socket
If you want to have firebird started at each boot, as root :
for SuperServer :
systemctl enable firebird-superserver.service
- for SuperClassic :
- systemctl enable firebird-superclassic.service
- for Classic :
- systemctl enable firebird-classic.socket
diff --git a/firebird.spec b/firebird.spec
index cf3a08a..5494ee7 100644
--- a/firebird.spec
+++ b/firebird.spec
@@ -1,63 +1,80 @@
-%global upversion 3.0.0.32366
-%global pkgversion Firebird-%{upversion}-ReleaseCandidate2
+%global upversion 3.0.0.32366
+%global pkgversion Firebird-%{upversion}-ReleaseCandidate2
-%global major 3.0
-%global _hardened_build 1
+%global major 3.0
+%global _hardened_build 1
-Summary: SQL relational database management system
-Name: firebird
-Version: %{upversion}
+Name: firebird
+Version: %{upversion}
Release: 1%{?dist}
-Group: Applications/Databases
-License: Interbase
-URL: http://www.firebirdsql.org/
-BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
+Summary: SQL relational database management system
+Group: Applications/Databases
+License: Interbase
+URL: http://www.firebirdsql.org/
+BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
-Source0: %{pkgversion}.tar.bz2
-Source1: firebird-logrotate
-Source2: README.Fedora
-Source3: firebird.conf
-Source4: fb_config
+Source0: %{pkgversion}.tar.bz2
+Source1: firebird-logrotate
+Source2: README.Fedora
+Source3: firebird.conf
+Source4: fb_config
# from OpenSuse
-Patch101: allow-creating-buildRoot-as-non-root-user.patch
-Patch102: add-pkgconfig-files.patch
+Patch101: allow-creating-buildRoot-as-non-root-user.patch
+Patch102: add-pkgconfig-files.patch
# from Debian to be sent upstream
-Patch201: obsolete-syslogd.target.patch
-Patch202: honour-buildflags.patch
-Patch203: no-copy-from-icu.patch
-Patch204: parallel-build.patch
-Patch205: cloop-honour-build-flags.patch
+Patch201: obsolete-syslogd.target.patch
+Patch202: honour-buildflags.patch
+Patch203: no-copy-from-icu.patch
+Patch204: parallel-build.patch
+Patch205: cloop-honour-build-flags.patch
# from upstream
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: libtommath-devel
-BuildRequires: libtool
-BuildRequires: ncurses-devel
-BuildRequires: libtermcap-devel
-BuildRequires: libicu-devel
-BuildRequires: libedit-devel
-BuildRequires: gcc-c++
-BuildRequires: libstdc++-static
-BuildRequires: systemd-units
-BuildRequires: chrpath
-BuildRequires: zlib-devel
-BuildRequires: procmail
-
-Requires(post): /sbin/ldconfig
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtommath-devel
+BuildRequires: libtool
+BuildRequires: ncurses-devel
+BuildRequires: libtermcap-devel
+BuildRequires: libicu-devel
+BuildRequires: libedit-devel
+BuildRequires: gcc-c++
+BuildRequires: libstdc++-static
+BuildRequires: systemd-units
+BuildRequires: chrpath
+BuildRequires: zlib-devel
+BuildRequires: procmail
+
+Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires(postun): /usr/sbin/userdel
Requires(postun): /usr/sbin/groupdel
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires: libfbclient2
-Requires: logrotate
-Requires: libib-util
-Requires: %{name}-utils = %{version}
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+Requires: logrotate
+Requires: libfbclient2 = %{version}-%{release}
+Requires: libib-util = %{version}-%{release}
+Requires: %{name}-utils = %{version}-%{release}
+
+Obsoletes: firebird-arch < 3.0
+Obsoletes: firebird-filesystem < 3.0
+Obsoletes: firebird-classic-common < 3.0
+Obsoletes: firebird-classic < 3.0
+Obsoletes: firebird-superclassic < 3.0
+Obsoletes: firebird-superserver < 3.0
+Conflicts: firebird-arch < 3.0
+Conflicts: firebird-filesystem < 3.0
+Conflicts: firebird-classic-common < 3.0
+Conflicts: firebird-classic < 3.0
+Conflicts: firebird-superclassic < 3.0
+Conflicts: firebird-superserver < 3.0
+
%description
Firebird is a relational database offering many ANSI SQL standard
@@ -66,10 +83,11 @@ 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.
+
%package devel
-Group: Development/Libraries/C and C++
-Requires: %{name} = %{version}
-Summary: UDF support library for Firebird SQL server
+Group: Development/Libraries/C and C++
+Requires: %{name} = %{version}-%{release}
+Summary: UDF support library for Firebird SQL server
%description devel
This package is needed for development of client applications and user
@@ -81,9 +99,10 @@ 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.
+
%package -n libib-util
-Group: System Environment/Libraries
-Summary: Firebird SQL UDF support library
+Group: System Environment/Libraries
+Summary: Firebird SQL UDF support library
%description -n libib-util
libib_util contains utility functions used by
@@ -95,9 +114,16 @@ 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.
+
%package -n libfbclient2
-Group: System Environment/Libraries
-Summary: Firebird SQL server client library
+Group: System Environment/Libraries
+Summary: Firebird SQL server client library
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Obsoletes: firebird-libfbclient < 3.0
+Obsoletes: firebird-libfbembed < 3.0
+Conflicts: firebird-libfbclient < 3.0
+Conflicts: firebird-libfbembed < 3.0
%description -n libfbclient2
Shared client library for Firebird SQL server.
@@ -108,11 +134,12 @@ 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.
+
%package -n libfbclient2-devel
-Group: System Environment/Libraries
-Summary: Development libraries and headers for Firebird SQL server
-Requires: %{name}-devel
-Requires: libfbclient2 = %{version}
+Group: System Environment/Libraries
+Summary: Development libraries and headers for Firebird SQL server
+Requires: %{name}-devel = %{version}-%{release}
+Requires: libfbclient2 = %{version}-%{release}
%description -n libfbclient2-devel
Development files for Firebird SQL server client library.
@@ -123,11 +150,12 @@ 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.
+
%package doc
-Group: Applications/Databases
-Requires: %{name} = %{version}
-Summary: Documentation for Firebird SQL server
-BuildArch: noarch
+Group: Applications/Databases
+Requires: %{name} = %{version}-%{release}
+Summary: Documentation for Firebird SQL server
+BuildArch: noarch
%description doc
Documentation for Firebird SQL server.
@@ -138,10 +166,11 @@ 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.
+
%package utils
-Group: Applications/Databases
-Requires: libfbclient2 = %{version}
-Summary: Firebird SQL user utilities
+Group: Applications/Databases
+Requires: libfbclient2 = %{version}-%{release}
+Summary: Firebird SQL user utilities
%description utils
Firebird SQL user utilities.
@@ -152,11 +181,12 @@ 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.
+
%package examples
-Group: Applications/Databases
-Requires: %{name}-doc = %{version}
-Summary: Examples for Firebird SQL server
-BuildArch: noarch
+Group: Applications/Databases
+Requires: %{name}-doc = %{version}-%{release}
+Summary: Examples for Firebird SQL server
+BuildArch: noarch
%description examples
Examples for Firebird SQL server.
@@ -167,6 +197,7 @@ 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}
%patch101 -p1
@@ -211,8 +242,7 @@ mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig
cp -v gen/install/misc/*.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/
cd ${RPM_BUILD_ROOT}
-mkdir -p .%{_libdir}/%{name}/utils
-mv -v .%{_sbindir}/*.sh .%{_libdir}/%{name}/utils/
+rm -vf .%{_sbindir}/*.sh
mv -v .%{_sbindir}/fb_config .%{_libdir}/
install -p -m 0755 %{SOURCE4} %{buildroot}%{_sbindir}/fb_config
rm -vf .%{_includedir}/%{name}/perf.h
@@ -226,6 +256,7 @@ mv -v .%{_sysconfdir}/%{name}/README .%{_sysconfdir}/%{name}/WhatsNew \
.%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IDPLicense.txt .%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IPLicense.txt .%{_docdir}/%{name}/
+install -p -m 0644 -D %{SOURCE1} .%{_docdir}/%{name}/README.Fedora
mv -v .%{_bindir}/gstat .%{_bindir}/gstat-fb
mv -v .%{_bindir}/isql .%{_bindir}/isql-fb
@@ -237,15 +268,52 @@ sed "s@%{name}.log@%{_localstatedir}/log/%{name}/%{name}.log@g" %{SOURCE1} > .%{
mkdir -p .%{_sysconfdir}/tmpfiles.d
cp %{SOURCE3} .%{_sysconfdir}/tmpfiles.d/
-ls -lR
+mkdir -p .%{_unitdir}
+cp .%{_datadir}/%{name}/misc/%{name}-superserver.service .%{_unitdir}/%{name}-superserver.service
+
%clean
rm -Rf %{buildroot}
+%post -n libfbclient2 -p /sbin/ldconfig
+
+
+%postun -n libfbclient2 -p /sbin/ldconfig
+
+
+%pre
+# Create the firebird group if it doesn't exist
+getent group %{name} || /usr/sbin/groupadd -r %{name}
+getent passwd %{name} >/dev/null || /usr/sbin/useradd -d / -g %{name} -s /bin/nologin -r %{name}
+
+# Add gds_db to /etc/services if needed
+FileName=/etc/services
+newLine="gds_db 3050/tcp # Firebird SQL Database Remote Protocol"
+oldLine=`grep "^gds_db" $FileName`
+if [ -z "$oldLine" ]; then
+ echo $newLine >> $FileName
+fi
+
+
+%post
+/sbin/ldconfig
+/bin/systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/firebird.conf
+%systemd_post firebird-superserver.service
+
+
+%postun
+/sbin/ldconfig
+%systemd_postun_with_restart firebird-superserver.service
+
+
+%preun
+%systemd_preun firebird-superserver.service
+
%files
%{_docdir}/%{name}/IDPLicense.txt
%{_docdir}/%{name}/IPLicense.txt
+%{_docdir}/%{name}/README.Fedora
%{_bindir}/fbtracemgr
%{_sbindir}/firebird
%{_sbindir}/fbguard
@@ -260,7 +328,6 @@ rm -Rf %{buildroot}
%{_libdir}/%{name}/intl
%{_libdir}/%{name}/plugins
%{_libdir}/%{name}/udf
-%{_libdir}/%{name}/utils
%{_datadir}/%{name}/misc
%dir %{_localstatedir}/lib/%{name}
@@ -278,6 +345,9 @@ rm -Rf %{buildroot}
%config(noreplace) %attr(0664,%{name},%{name}) %{_localstatedir}/log/%{name}/%{name}.log
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
+%defattr(0755,root,root,0755)
+%{_unitdir}/%{name}-superserver.service
+
%files devel
%defattr(-,root,root)
@@ -285,25 +355,30 @@ rm -Rf %{buildroot}
%{_libdir}/fb_config
%{_sbindir}/fb_config
+
%files -n libfbclient2
%defattr(-,root,root)
%{_libdir}/libfbclient.so.*
+
%files -n libfbclient2-devel
%defattr(-,root,root)
%{_libdir}/libfbclient.so
%{_libdir}/pkgconfig/fbclient.pc
+
%files -n libib-util
%defattr(-,root,root)
%{_libdir}/libib_util.so
+
%files doc
%{_docdir}/%{name}
%exclude %{_docdir}/%{name}/sample
%exclude %{_docdir}/%{name}/IDPLicense.txt
%exclude %{_docdir}/%{name}/IPLicense.txt
+
%files utils
%defattr(-,root,root)
%{_bindir}/gstat-fb
@@ -317,10 +392,12 @@ rm -Rf %{buildroot}
%{_bindir}/qli
%{_bindir}/gsplit
+
%files examples
%{_docdir}/%{name}/sample
%attr(0600,firebird,firebird) %{_localstatedir}/lib/%{name}/data/employee.fdb
+
%changelog
* Tue Mar 1 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.0.32366-1
- first version for Epel7