firebird/firebird.spec

332 lines
11 KiB
RPMSpec

%define groupid 65055
%define userid 65055
%define pkg_name %{name}-%{version}-0
%define major %(echo %version | cut -d. -f 1-3)
%define major_ %(echo %version | cut -d. -f 1-3 | tr . _)
%define majver %(echo %version | cut -d. -f 1-2)
Name: firebird
Version: 5.0.1
Release: 1mamba
Summary: SQL Relational Database
Group: Applications/Databases
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.firebirdsql.org/
Source0: https://github.com/FirebirdSQL/firebird.git/v%{major}/firebird-%{version}.tar.bz2
Source1: Firebird-2.1.2.18118.0-profile.sh
Source2: Firebird-2.1.2.18118.0-profile.csh
Source3: Firebird-2.1.2.18118.0-logrotate
Source4: firebird.service
Source5: firebird-tmpfiles.conf
Source6: firebird-sysusers.conf
Source7: firebird-default.password
License: MPL 1.1
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libatomic-devel
BuildRequires: libedit-devel
BuildRequires: libgcc
BuildRequires: libtomcrypt-devel
BuildRequires: libtommath-devel
## AUTOBUILDREQ-END
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: libtool
BuildRequires: libtomcrypt-devel
#BuildConflicts: libfbclient < %{majver}
Requires: libfbclient = %{?epoch:%epoch:}%{version}-%{release}
Provides: Firebird
Obsoletes: Firebird < 4.0.0
%systemd_requires
Provides: firebird-classic
Obsoletes: firebird-classic < 3.0.7.33374
Provides: firebird-superserver
Obsoletes: firebird-superserver < 4.0
Provides: Firebird-superserver
Obsoletes: Firebird-superserver < 3.0.7.33374
%description
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. %{name} 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.
The %{name} Project is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000.
%package devel
Group: Applications/Databases
Summary: Development Libraries for %{name} SQL RDBMS
Requires: libfbclient = %{?epoch:%epoch:}%{version}-%{release}
Provides: Firebird-devel
Obsoletes: Firebird-devel < 3.0.7.33374
%description devel
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
This package contains development libraries for %{name}.
%package doc
Group: Documentation
Summary: Documentation for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: Firebird-doc
Obsoletes: Firebird-doc < 3.0.7.33374
%description doc
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
This package contains documentation for %{name}.
%package -n libfbclient
Group: System/Libraries
Summary: Multi-threaded, non-local client libraries for Firebird SQL RDBMS
Provides: libfbclient-Firebird
Obsoletes: libfbclient-Firebird < 3.0.7.33374
Provides: libfbclient-firebird
Obsoletes: libfbclient-firebird < 3.0.7.33374
%description -n libfbclient
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
This package contains multi-threaded, non-local client libraries for Firebird SQL Database
%debug_package
%prep
%setup -q
#-D -T
#:<< __EOF
sed -i "s|checkRootUser$|return 0|" builds/install/posix-common/posixLibrary.sh.in
NOCONFIGURE=1 ./autogen.sh
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks"
%configure \
--disable-rpath \
--with-system-editline \
--with-fbinclude=%{_includedir} \
--with-fbsbin=%{_libdir}/firebird/bin \
--with-fbbin=%{_bindir} \
--with-fbconf=%{_sysconfdir}/firebird \
--with-fblib=%{_libdir} \
--with-fbdoc=%{_docdir}/firebird \
--with-fbsample=%{_defaultdocdir}/firebird/sample \
--with-fbsample-db=%{_localstatedir}/lib/firebird/data \
--with-fbhelp=%{_docdir}/firebird/help \
--with-fbintl=%{_libdir}/firebird/intl \
--with-fbmisc=%{_datadir}/firebird/misc \
--with-fbsecure-db=/var/lib/firebird/system \
--with-fbmsg=%{_libdir}/firebird/msg \
--with-fblog=/var/log/firebird \
--with-fbglock=/run/firebird \
--with-fbplugins=%{_libdir}/firebird/plugins \
--with-fbtzdata=%{_localstatedir}/lib/%{name}/tzdata
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
sed -i "s|whoami|echo root|;s|chown|#chown|;" gen/install/makeInstallImage.sh
cd gen
./install/makeInstallImage.sh
cd ..
install -d -m0755 %{buildroot}
cp -av gen/buildroot/* %{buildroot}/
install -Dm644 %{SOURCE4} %{buildroot}%{_unitdir}/firebird.service
install -Dm644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/firebird.conf
install -Dm644 %{SOURCE6} %{buildroot}%{_sysusersdir}/firebird.conf
install -Dm440 %{SOURCE7} %{buildroot}/var/lib/firebird/system/SYSDBA.password
install -Dm644 %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt -t %{buildroot}%{_datadir}/licenses/%{name}
# Remove unused files and dirs
rm %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt
rm %{buildroot}%{_sysconfdir}/firebird/README.md
rm %{buildroot}%{_sysconfdir}/firebird/CHANGELOG.md
rm -rf %{buildroot}/var/log
rm -rf %{buildroot}/run
mv %{buildroot}%{_bindir}/isql{,-fb}
chmod -R ugo-w %{buildroot}%{_docdir}/firebird
chmod -R o= %{buildroot}/var/lib/firebird
chmod u+w -R %{buildroot}%{_docdir}/firebird
#chown -R 184:184 $pkgdir/var/lib/firebird
ln -s %{_libdir}/firebird/bin/fb_config %{buildroot}%{_bindir}/fb_config
install -d -m0755 %{buildroot}%{_libdir}/pkgconfig
cat > %{buildroot}%{_libdir}/pkgconfig/fbclient.pc << __EOF
prefix=%{_prefix}
exec_prefix=%{_prefix}
libdir=%{_libdir}
includedir=%{_includedir}
Name: fbclient
Description: Firebird client library
Version: 5.0.1
Cflags: -I\${includedir}/firebird
Libs: -L\${libdir} -lfbclient
__EOF
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
rm -rf gen
%pre
if [ $1 -ge 1 ]; then
/usr/sbin/groupadd firebird -g %{groupid} 2>/dev/null
/usr/sbin/useradd -u %{userid} -c 'Firebird user' -d /dev/null -g firebird \
-s /bin/false firebird 2>/dev/null
fi
:
%post
%systemd_post firebird.service
:
%postun
%systemd_postun_with_restart firebird.service
:
%preun
%systemd_preun firebird.service
if [ $1 -eq 0 ]; then
/usr/sbin/userdel firebird 2>/dev/null
/usr/sbin/groupdel firebird 2>/dev/null
fi
:
%files
%defattr(-,root,root)
%dir %{_sysconfdir}/firebird
%config(noreplace) %{_sysconfdir}/firebird/databases.conf
%config(noreplace) %{_sysconfdir}/firebird/plugins.conf
%config(noreplace) %{_sysconfdir}/firebird/fbtrace.conf
%config(noreplace) %{_sysconfdir}/firebird/replication.conf
%config(noreplace) %attr(664,firebird,firebird) %{_sysconfdir}/firebird/firebird.conf
%{_bindir}/fbsvcmgr
%{_bindir}/fbtracemgr
%{_bindir}/gpre
%{_bindir}/gsplit
%{_bindir}/isql-fb
#%{_bindir}/qli
%{_bindir}/gbak
%{_bindir}/gfix
%{_bindir}/gsec
%{_bindir}/gstat
%{_bindir}/nbackup
%{_unitdir}/firebird.service
%{_sysusersdir}/firebird.conf
%{_tmpfilesdir}/firebird.conf
%dir %{_libdir}/firebird
%dir %{_libdir}/firebird/plugins
%{_libdir}/firebird/plugins/*.so
%{_libdir}/firebird/plugins/udr_engine.conf
%dir %{_libdir}/firebird/plugins/udr
%{_libdir}/firebird/plugins/udr/*
%{_libdir}/firebird/intl/fbintl*
%{_libdir}/firebird/msg/firebird.msg
%dir %{_libdir}/firebird/bin
%{_libdir}/firebird/bin/*
%dir %{_localstatedir}/lib/firebird
%dir %{_localstatedir}/lib/firebird/data
%{_localstatedir}/lib/firebird/data/*
%dir %{_localstatedir}/lib/firebird/system
%{_localstatedir}/lib/firebird/system/*
%dir %{_localstatedir}/lib/firebird/tzdata
%{_localstatedir}/lib/firebird/tzdata/*
%dir %{_datadir}/firebird/misc
%{_datadir}/firebird/misc/*
%doc doc/license/IDPL.txt
%doc doc/license/README.license.usage.txt
%files devel
%defattr(-,root,root)
%{_bindir}/fb_config
%{_includedir}/*.h
%dir %{_includedir}/firebird
%{_includedir}/firebird/*
%{_libdir}/libfbclient.so
%{_libdir}/libib_util.so
%{_libdir}/pkgconfig/fbclient.pc
%files -n libfbclient
%defattr(-,root,root)
%{_libdir}/libfbclient.so.*
##%doc doc/license/IDPL.txt
##%doc doc/license/README.license.usage.txt
%files doc
%defattr(-,root,root)
%dir %{_datadir}/licenses/firebird
%{_datadir}/licenses/firebird/*
%dir %{_datadir}/doc/firebird
%{_datadir}/doc/firebird/*
%changelog
* Sun Aug 04 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 5.0.1-1mamba
- update to 5.0.1
* Sun May 26 2024 Automatic Build System <autodist@openmamba.org> 5.0.0.1306-1mamba
- automatic version update by autodist
* Fri Nov 03 2023 Automatic Build System <autodist@mambasoft.it> 4.0.4-1mamba
- automatic version update by autodist
* Tue Aug 01 2023 Automatic Build System <autodist@mambasoft.it> 4.0.3-1mamba
- automatic version update by autodist
* Thu Jul 21 2022 Automatic Build System <autodist@mambasoft.it> 4.0.2-1mamba
- automatic version update by autodist
* Tue Dec 21 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.1-1mamba
- update to 4.0.1
* Sun Nov 28 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.0.2496-2mamba
- added patches from Fedora, including pkg-config file
- fix includes installation directory
* Thu Jun 17 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.0.2496-1mamba
- update to 4.0.0.2496
* Tue Jun 15 2021 Silvan Calarco <silvan.calarco@m+ambasoft.it> 3.0.7.33374-1mamba
- update to 3.0.7.33374
* Fri May 04 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.3.32900-1mamba
- update to 3.0.3.32900
* Fri May 04 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.2.32703-1mamba
- update to 3.0.2.32703
* Wed May 02 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 2.5.7.27050-2mamba
- move %{_libdir}/firebird/bin/* from -superserver to libfbclient
* Sat Jan 06 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 2.5.7.27050-1mamba
- update to 2.5.7.27050
* Tue Jun 04 2013 Automatic Build System <autodist@mambasoft.it> 2.5.2.26540-1mamba
- update to 2.5.2.26540
* Fri Sep 21 2012 Automatic Build System <autodist@mambasoft.it> 2.1.5.18496-1mamba
- update to 2.1.5.18496
* Fri Apr 08 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.4.18393-1mamba
- update to 2.1.4.18393
- removed duplicated csh profile.d script
- renamed from Firebird to firebird
- create firebird user and group as required
* Wed Jun 30 2010 Automatic Build System <autodist@mambasoft.it> 2.1.3.18185-1mamba
- update to 2.1.3.18185
* Wed Jun 30 2010 Automatic Build System <autodist@mambasoft.it> 2.1.2.18118-3mamba
- automatic rebuild by autodist
* Wed Jan 13 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.2.18118.0-2mamba
- fix symlink to client binaries
- changes to support automatic rebuilds
* Tue May 12 2009 gil <puntogil@libero.it> 2.1.2.18118.0-1mamba
- package created by autospec