[Bug 488100] Firebird SQL database management system

bugzilla at redhat.com bugzilla at redhat.com
Thu Mar 5 07:24:13 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=488100





--- Comment #9 from MERCIER <bioinfornatics at gmail.com>  2009-03-05 02:24:11 EDT ---
new spec with one rpmlint error:
firebird.src: W: strange-permission firebird-profile.sh 0755

sorry i didn't aeough time for publish the nex src.rpm i need go to work :p

spec file:
%global fbroot   %{_libdir}/%{name}
%global realname  Firebird
%global realversion  2.1.2.18116-0
%global realeaseCandidate RC1

Summary: Firebird SQL Database, fork of InterBase
Name:  firebird
Version: 2.1.2.18116.0
Release: 2%{?dist}

Group:  Applications/Databases
License: Intenbase
URL:  http://www.firebirdsql.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot

Source0:
http://aleron.dl.sourceforge.net/sourceforge/firebird/%{realname}-%{realversion}.%{realeaseCandidate}.tar.bz2
Source1: firebird-profile.sh
Source2: firebird-profile.csh

BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: libtool
BuildRequires:  ncurses-devel
BuildRequires:  libtermcap-devel

Requires: %{name}-arch = %{version}
Requires: grep
Requires: sed

%description
This is the Firebird SQL Database shared files.


%package classic
Summary: Meta-package for Firebird SQL Classic Database (xinetd based)
Group:  Applications/Databases
Provides: %{name}-arch = %{version}-%{release}
Requires: %{name}-server-classic = %{version}
Requires: %{name}-utils-classic = %{version}
Conflicts: %{name}-superserver


%description classic
This is a meta-package for easy selecting the Classic arch for Firebird 2


%package superserver
Summary: Meta-package for Firebird SQL SuperServer Database (standalone)
Group:  Applications/Databases
Provides: %{name}-arch = %{version}-%{release}
Requires: %{name}-server-superserver = %{version}
Requires: %{name}-utils-superserver = %{version}
Conflicts: %{name}-classic


%description superserver
This is a meta-package for easy selecting the SuperServer arch for Firebird 2


%package devel
Summary: Development Libraries for Firebird SQL Database
Group:  Development/Databases
Requires: %{name} = %{version}
Requires: libfbclient2


%description devel
Development libraries for firebird.


%package utils-classic
Summary: Client programs for Firebird SQL Database
Group:  Applications/Databases
Requires: %{name}-server-common = %{version}
Provides: %{name}-utils = %{version}-%{release}
Conflicts: %{name}-utils-superserver
Obsoletes: %{name}-client-embedded <= 2.0

%description utils-classic
Client access tools for firebird.


%package utils-superserver
Summary: Client programs for Firebird SQL Database
Group:  Applications/Databases
Requires: %{name}-server-common = %{version}
Provides: %{name}-utils = %{version}-%{release}
Conflicts: %{name}-utils-classic


%description utils-superserver
Client access tools for firebird.


%package -n libfbclient2
Summary: Multi-threaded, non-local client libraries for Firebird SQL Database
Group: System/Libraries


%description -n libfbclient2
Multi-threaded, non-local client libraries for Firebird SQL Database


%package -n libfbembed2
Summary: Multi-process, non-local client libraries for Firebird SQL Database
Group: System/Libraries


%description -n libfbembed2
Multi-process, non-local client libraries for Firebird SQL Database


%package server-classic
Summary: Classic (xinetd) server for Firebird SQL Database
Group:  Applications/Databases
Provides: firebird-server = %{version}-%{release}
Requires: xinetd
Requires: %{name}-server-common = %{version}
Conflicts: %{name}-server-superserver


%description server-classic
This is the classic (xinetd) server for the Firebird SQL Database.
It can also be used as an embedded server, when paired with the
client-embedded package.

It does not include any client access tools, nor does it include the
multi-threaded client library. 


%package server-superserver
Summary: Superserver (single process) server for Firebird SQL Database
Group:  Applications/Databases
Provides: firebird-server = %{version}-%{release}
Requires: %{name}-server-common = %{version}
Conflicts: %{name}-server-classic


%description server-superserver
This is the Superserver (single process) for the Firebird SQL Database.

It does not include any client access tools, nor does it include the
multi-threaded client library.


%package  server-common
Summary:  Common files for Firebird SQL Database servers
Group:   Databases
Conflicts:  firebird-server-classic < 2.0
Requires(postun): /usr/sbin/userdel
Requires(postun): /usr/sbin/groupdel
Requires(pre):  /usr/sbin/groupadd
Requires(pre):  /usr/sbin/useradd


%description  server-common
This package contains common files between firebird-server-classic and
firebird-server-superserver. You will need this if you want to use either one.


%prep
%setup -q -n %{realname}-%{realversion} 


%build
# Fix permissions
chmod +x ./autogen.sh ./src/misc/writeBuildNum.sh

# <mrl> For reference, the proccess fb_lock_mgr that keeps executing after
# building finish is started at gen/Makefile.codes, line 60 (target
# build_codes) but I can't do nothing for it without major hacking.

# server-classic
NOCONFIGURE=1 ./autogen.sh
%configure --prefix=%{fbroot}
# Can't use %%make as itsparallel build is broken
make
cd gen
./install/makeInstallImage.sh
mv ./buildroot/ buildroot-classic
chmod 644 ./buildroot-classic%{fbroot}/help/help.fdb
mkdir ./buildroot-classic%{fbroot}/tools-classic
for f in changeDBAPassword.sh changeRunUser.sh gdef \
 gpre gsec restoreRootRunUser.sh; do
 mv ./buildroot-classic%{fbroot}/{bin,tools-classic}/$f
 ln -s ../tools/$f ./buildroot-classic%{fbroot}/bin/$f
done
cd ..

# server-superserver
%configure --prefix=%{fbroot} --enable-superserver
# Can't use %%make as itsparallel build is broken
make
cd gen
./install/makeInstallImage.sh
mv ./buildroot/ buildroot-superserver
chmod 644 ./buildroot-superserver%{fbroot}/help/help.fdb
mkdir ./buildroot-superserver%{fbroot}/tools-superserver
for f in changeDBAPassword.sh changeRunUser.sh gdef \
 gpre gsec restoreRootRunUser.sh; do
 mv ./buildroot-superserver%{fbroot}/{bin,tools-superserver}/$f
done
cd ..


%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
install -d %{buildroot}
cp -a %{_builddir}/%{realname}-%{realversion}/gen/buildroot-superserver/* \
 %{buildroot}
cp -a %{_builddir}/%{realname}-%{realversion}/gen/buildroot-classic/* \
 %{buildroot}

cd %{buildroot}
mkdir -p .%{_sysconfdir}/%{name}
mkdir -p .%{_sysconfdir}/rc.d/init.d/
mkdir -p .%{_sysconfdir}/xinetd.d
mkdir -p .%{_sysconfdir}/profile.d
mkdir -p .%{_var}/run/%{name}
ln -s %{fbroot}/aliases.conf .%{_sysconfdir}/%{name}/
ln -s %{fbroot}/firebird.conf .%{_sysconfdir}/%{name}/
ln -s fbmgr.bin .%{fbroot}/bin/fbmgr
mv .%{fbroot}/misc/%{name}.xinetd .%{_sysconfdir}/xinetd.d/%{name}
mv .%{fbroot}/misc/%{name}.init.d.mandrake .%{_sysconfdir}/rc.d/init.d/%{name}
rm -rf .%{fbroot}/misc
sed "s@%%{fbroot}@%{fbroot}@g" %{SOURCE1} >
.%{_sysconfdir}/profile.d/firebird.sh
sed "s@%%{fbroot}@%{fbroot}@g" %{SOURCE2} >
.%{_sysconfdir}/profile.d/firebird.csh
touch .%{fbroot}/firebird.log

mkdir -p %{buildroot}%{_var}/lib/firebird/backup


%clean
rm -rf %{buildroot}

%post -n libfbclient2 -p /sbin/ldconfig
%postun -n libfbclient2 -p /sbin/ldconfig
%post -n libfbembed2 -p /sbin/ldconfig
%postun -n libfbembed2 -p /sbin/ldconfig

%post server-classic
if test ! -e %{fbroot}/tools; then
 ln -s %{fbroot}/tools{-classic,}
fi
if /sbin/service xinetd status >& /dev/null; then
 /sbin/service xinetd reload
fi

%preun server-classic
if [ $1 -eq 0 ]; then
 if /sbin/service xinetd status >& /dev/null; then
  /sbin/service xinetd reload
 fi
 if [ "$(readlink %{fbroot}/tools 2> /dev/null)" == "%{fbroot}/tools-classic"
]; then
  rm -f %{fbroot}/tools
 fi
fi


%post server-superserver
if test ! -e %{fbroot}/tools; then
 ln -s %{fbroot}/tools{-superserver,}
fi
if [ $1 -eq 2 ]; then
 if /sbin/service firebird status >& /dev/null; then
  /sbin/service firebird restart
 fi
fi
if [ $1 -eq 1 ]; then
 chkconfig firebird off
fi


%preun server-superserver
if [ $1 -eq 0 ]; then
 if /sbin/service firebird status >& /dev/null; then
  /sbin/service firebird stop
 fi
 chkconfig --del firebird
 if [ "$(readlink %{fbroot}/tools >& /dev/null)" ==
"%{fbroot}/tools-superserver" ]; then
  rm -f %{fbroot}/tools
 fi
fi


%pre server-common
# Create the firebird group if it doesn't exist
grep -q %{name} /etc/group || /usr/sbin/groupadd -r %{name} || true
grep -q %{name} /etc/passwd || /usr/sbin/useradd -d / -g %{name} -s
/sbin/nologin -r %{name} || true

# 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 server-common -p /sbin/ldconfig
%postun server-common -p /sbin/ldconfig


%files
%defattr(0644,root,root,0755)
%doc %{fbroot}/README
%doc %{fbroot}/WhatsNew
%doc %{fbroot}/doc/
%doc %{fbroot}/examples/
#%doc %{fbroot}/upgrade/
%attr (0660,%{name},%{name}) %{fbroot}/examples/empbuild/employee.fdb


%files classic


%files devel
%defattr(0644,root,root,0755)
%{fbroot}/include/*
%{fbroot}/lib/*.so
%{_includedir}/*
%{_libdir}/*.so


%files utils-classic
%defattr(0755,root,root,0755)
%dir %{fbroot}/tools-classic
%dir %{fbroot}/bin
%{fbroot}/bin/gbak
%{fbroot}/bin/fbsvcmgr
%{fbroot}/tools-classic/gdef
%{fbroot}/bin/gfix
%{fbroot}/tools-classic/gpre
%{fbroot}/bin/gstat
%{fbroot}/bin/isql
%{fbroot}/bin/qli


%files utils-superserver
%defattr(0755,root,root,0755)
%dir %{fbroot}/tools-superserver
%dir %{fbroot}/bin
%{fbroot}/bin/gbak
%{fbroot}/bin/fbsvcmgr
%{fbroot}/tools-superserver/gdef
%{fbroot}/bin/gfix
%{fbroot}/tools-superserver/gpre
%{fbroot}/bin/gstat
%{fbroot}/bin/isql
%{fbroot}/bin/qli


%files -n libfbclient2
%defattr(0644,root,root,0755)
%dir %{fbroot}/lib
%{_libdir}/libfbclient.so.*
%{fbroot}/lib/libfbclient.so.*

%files superserver


%files -n libfbembed2
%defattr(0644,root,root,0755)
%dir %{fbroot}/lib
%{_libdir}/libfbembed.so.*
%{fbroot}/lib/libfbembed.so.*
%{fbroot}/lib/libicudata.so.*
%{fbroot}/lib/libicui18n.so.*
%{fbroot}/lib/libicuuc.so.*


%files server-classic
%defattr(0644,root,root,0755)
%dir %{fbroot}/bin
%dir %{fbroot}/tools-classic
%config(noreplace) %{_sysconfdir}/xinetd.d/%{name}
%defattr(0755,root,root,0755)
%{fbroot}/bin/changeGdsLibraryCompatibleLink.sh
%{fbroot}/bin/fb_inet_server
%{fbroot}/bin/fb_lock_mgr
%{fbroot}/bin/fb_lock_print
%{fbroot}/bin/gds_drop
%{fbroot}/tools-classic/gsec
%{fbroot}/tools-classic/changeDBAPassword.sh
%{fbroot}/tools-classic/changeRunUser.sh
%{fbroot}/tools-classic/restoreRootRunUser.sh


%files server-superserver
%defattr(0644,root,root,0755)
%dir %attr(0775,%{name},%{name}) %{_var}/run/%{name}
%dir %{fbroot}/bin
%dir %{fbroot}/tools-superserver
%{fbroot}/UDF/fbudf.so
%defattr(0755,root,root,0755)
%{_sysconfdir}/rc.d/init.d/%{name}
%{fbroot}/bin/fb_lock_print
%{fbroot}/bin/fbguard
%{fbroot}/bin/fbmgr
%{fbroot}/bin/fbmgr.bin
%{fbroot}/bin/fbserver
%{fbroot}/tools-superserver/gsec
%{fbroot}/tools-superserver/changeDBAPassword.sh
%{fbroot}/tools-superserver/changeRunUser.sh
%{fbroot}/tools-superserver/restoreRootRunUser.sh


%files server-common
%defattr(0644,root,root,0755)
%dir %attr(0775,%{name},%{name}) %{fbroot}
%dir %attr(0775,%{name},%{name}) %{_var}/lib/firebird/backup
%dir %attr(0775,%{name},%{name}) %{_var}/lib/firebird
%dir %{fbroot}/UDF
%dir %{fbroot}/intl
%config %attr (0660,%{name},%{name}) %{fbroot}/security2.fdb
%config(noreplace) %{fbroot}/aliases.conf
%config(noreplace) %{fbroot}/firebird.conf
%config(noreplace) %{fbroot}/intl/fbintl.conf
%{_sysconfdir}/%{name}/aliases.conf
%{_sysconfdir}/%{name}/firebird.conf
%attr(0660,%{name},%{name}) %{fbroot}/firebird.log
%{fbroot}/*.msg
%{fbroot}/help
%{fbroot}/UDF/fbudf.so
%{fbroot}/UDF/fbudf.sql
%{fbroot}/UDF/ib_udf.so
%{fbroot}/UDF/ib_udf.sql
%{fbroot}/UDF/ib_udf2.sql
%{_libdir}/libib_util.so
%defattr(0755,root,root,0755)
%{_sysconfdir}/profile.d/firebird.csh
%{_sysconfdir}/profile.d/firebird.sh
%{fbroot}/intl/fbintl
%{fbroot}/bin/changeDBAPassword.sh
%{fbroot}/bin/changeRunUser.sh
%{fbroot}/bin/createAliasDB.sh
%{fbroot}/bin/fb_config
%{fbroot}/bin/gdef
%{fbroot}/bin/gpre
%{fbroot}/bin/gsec
%{fbroot}/bin/gsplit
%{fbroot}/bin/nbackup
%{fbroot}/bin/restoreRootRunUser.sh


%changelog
* Fri Mar 05 2009  Jonathan MERCIER <bioinfornatics at gmail.com> -
2.1.2.18116-0-2
- update to 2.1.2
- use %%global instead of %%define
- change ${SOURCE1} to %%{SOURCE1}

* Thu Jul 17 2008 Arkady L. Shane <ashejn at yandex-team.ru> 2.1.1.17910.0-1
- update to 2.1.1

* Fri Apr 18 2008 Arkady L. Shane <ashejn at yandex-team.ru> 2.1.0.17798.0-1
- update to 2.1.0

* Thu Sep 27 2007 Arkady L. Shane <ashejn at yandex-team.ru> 2.0.3.12981.1-1
- update to 2.0.3

* Thu Sep 13 2007 Arkady L. Shane <ashejn at yandex-team.ru> 2.0.1.12855.0-1
- initial build for Fedora
- cleanup Mandriva spec

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list