rpms/firebird/EL-5 README.Fedora, NONE, 1.1 firebird_lock-file-location.patch, NONE, 1.1 firebird.spec, 1.1, 1.2

Philippe Makowski makowski at fedoraproject.org
Tue May 12 12:13:01 UTC 2009


Author: makowski

Update of /cvs/pkgs/rpms/firebird/EL-5
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9163

Modified Files:
	firebird.spec 
Added Files:
	README.Fedora firebird_lock-file-location.patch 
Log Message:
* Tue May 12 2009  Philippe Makowski <makowski at firebird-fr.eu.org> 2.1.2.18118.0-7
- patch to change lock files location and avoid %%{fbroot} owned by firebird user (rh #500219)
- add README.fedora
- add symlinks in /usr/bin
- change xinetd reload (rh #500219)



--- NEW FILE README.Fedora ---
Differences between upstream and the Fedora package
===================================================

* All files are installed according to the FHS. Relatively complete
  environment as provided by upstream may be found in %{fbroot} 

* Firebird utilities gbak,gsec,gfix,nbackup and gstat have a symlink in /usr/bin
  In /usr/bin you have also fbsql symlinked to Firebird isql.
  We can't name it isql to avoid conflict with isql from UNIX-ODBC

* According to Fedora packaging rules, for SuperServer, firebird service is not started 
  automatically. You need to start it, as root : 
  service firebird start.
  If you wanted to have Firebird started at each boot, as root :
  chkconfig --level 345 firebird on

* Fedora packages do not use, nor contain the pre-supplied sources for
  libicu. Fedora packages are used instead.

* POSSIBLE INCOMPATIBILITY
  In incides on text-based columns (CHRA/VARCHAR), Firebird uses ICU to get
  binary-comparable sequences (collations). These collations may be different
  in different ICU versions.

  In Firebird 2.1 upstream always uses the bundled ICU library. Firebird packages
  use the Firebird-packaged libicu*. Unfortunately, this may lead to
  incompatibilities in the binary index representation (on disk) between
  databases created by Fedora-packaged Firebird, and upstream.

  This can also lead to incompatibilities when the Firebird packages are
  re-built using different version of the system-wide ICU library

  One way to fix this is to backup and restore all databases created with ICU
  version different from the one currently installed on the system. Another is
  to re-generate all indices that contain a text-based columns.


firebird_lock-file-location.patch:

--- NEW FILE firebird_lock-file-location.patch ---
# Author: Damyan Ivanov <dmn at debian.org>
# Description: use proper Fedora location for lock files,
#              control sockets and such
--- src/jrd/file_params.h
+++ src/jrd/file_params.h
@@ -38,11 +38,11 @@ const int EVENT_VERSION		= 2;
 const int EVENT_SEMAPHORES	= 1;
 
 #ifdef NOHOSTNAME
-static const char* EVENT_FILE	= "isc_event1";
-static const char* LOCK_FILE	= "isc_lock1.gbl";
-static const char* INIT_FILE	= "isc_init1";
-static const char* GUARD_FILE	= "isc_guard1";
-static const char* MONITOR_FILE	= "isc_monitor1";
+static const char* EVENT_FILE	= "run/isc_event1";
+static const char* LOCK_FILE	= "run/isc_lock1.gbl";
+static const char* INIT_FILE	= "run/isc_init1";
+static const char* GUARD_FILE	= "run/isc_guard1";
+static const char* MONITOR_FILE	= "run/isc_monitor1";
 #elif defined(VMS)
 static const char* EVENT_FILE	= "[000000]isc_event1.%s";
 static const char* LOCK_FILE	= "[000000]isc_lock1.%s";
@@ -56,11 +56,11 @@ static const char* INIT_FILE	= "%s.int";
 static const char* GUARD_FILE	= "%s.grd";
 static const char* MONITOR_FILE	= "%s.mon";
 #else
-static const char* EVENT_FILE	= "isc_event1.%s";
-static const char* LOCK_FILE	= "isc_lock1.%s";
-static const char* INIT_FILE	= "isc_init1.%s";
-static const char* GUARD_FILE	= "isc_guard1.%s";
-static const char* MONITOR_FILE	= "isc_monitor1.%s";
+static const char* EVENT_FILE	= "run/isc_event1.%s";
+static const char* LOCK_FILE	= "run/isc_lock1.%s";
+static const char* INIT_FILE	= "run/isc_init1.%s";
+static const char* GUARD_FILE	= "run/isc_guard1.%s";
+static const char* MONITOR_FILE	= "run/isc_monitor1.%s";
 #endif
 
 #ifdef sun
--- configure.in
+++ configure.in
@@ -940,6 +940,7 @@ mkdir -p gen/firebird/examples/udf
 mkdir -p gen/firebird/lib
 mkdir -p gen/firebird/misc
 mkdir -p gen/firebird/help
+mkdir -p gen/firebird/run
 
 dnl #### TEMP ######### directories for .o and .d
 dnl # by module name


Index: firebird.spec
===================================================================
RCS file: /cvs/pkgs/rpms/firebird/EL-5/firebird.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- firebird.spec	4 May 2009 09:22:30 -0000	1.1
+++ firebird.spec	12 May 2009 12:12:31 -0000	1.2
@@ -6,7 +6,7 @@
 Summary:	SQL relational database management system
 Name:		firebird
 Version:	2.1.2.18118.0
-Release:	6%{?dist}
+Release:	7%{?dist}
 
 Group:		Applications/Databases
 License:	Interbase
@@ -17,10 +17,12 @@ Source0:	http://downloads.sourceforge.ne
 Source1:	firebird-profile.sh
 Source2:	firebird-profile.csh
 Source3:	firebird-logrotate
+Source4:	README.Fedora
 
 Patch0:		firebird-mcpu-to-mtune.patch
 Patch1:		firebird-2.1.2-doc.patch
 Patch2:		firebird-fix-initscript.patch
+Patch3:		firebird_lock-file-location.patch
 
 
 BuildRequires:	autoconf
@@ -31,7 +33,7 @@ BuildRequires:	ncurses-devel
 BuildRequires:	libtermcap-devel
 BuildRequires:	libicu-devel
 
-Requires:	%{name}-arch = %{version}
+Requires:	%{name}-arch = %{version}-%{release}
 Requires:	grep
 Requires:	sed
 Requires(post):		/sbin/ldconfig
@@ -40,7 +42,6 @@ Requires(postun):	/usr/sbin/userdel
 Requires(postun):	/usr/sbin/groupdel
 Requires(pre):		/usr/sbin/groupadd
 Requires(pre):		/usr/sbin/useradd
-Requires:		%{name}-filesystem
 Requires:		%{name}-libfbclient
 Requires:		logrotate
 
@@ -65,7 +66,6 @@ This is the Firebird SQL Database root f
 %package		devel
 Summary:		Development Libraries for Firebird SQL RDBMS
 Group:			Applications/Databases
-Requires:		%{name}-filesystem
 Requires:		%{name}-libfbclient = %{version}-%{release}
 Requires:		%{name}-libfbembed = %{version}-%{release}
 
@@ -76,13 +76,11 @@ Development libraries for firebird.
 %package		classic
 Summary:		Classic (xinetd) server for Firebird SQL RDBMS
 Group:			Applications/Databases
-Provides:		%{name}-arch = %{version}
+Provides:		%{name}-arch = %{version}-%{release}
 Requires:		xinetd
-Requires:		%{name} = %{version}
+Requires:		%{name} = %{version}-%{release}
 Conflicts:		%{name}-superserver
-Requires:		%{name}-libfbembed
-Requires:		%{name}-libfbclient
-Requires:		%{name}-filesystem
+Requires:		%{name}-libfbembed = %{version}-%{release}
 
 
 %description	classic
@@ -93,11 +91,9 @@ client-embedded package.
 %package		superserver
 Summary:		Superserver (single process) server for Firebird SQL RDBMS
 Group:			Applications/Databases
-Provides:		%{name}-arch = %{version}
-Requires:		%{name} = %{version}
+Provides:		%{name}-arch = %{version}-%{release}
+Requires:		%{name} = %{version}-%{release}
 Conflicts:		%{name}-classic
-Requires:		%{name}-libfbclient
-Requires:		%{name}-filesystem
 
 
 %description		superserver
@@ -109,7 +105,7 @@ Summary:		Multi-threaded, non-local clie
 Group:			System Environment/Libraries
 Requires(post):		/sbin/ldconfig
 Requires(postun):	/sbin/ldconfig
-Requires:		%{name}-filesystem
+Requires:		%{name}-filesystem 
 
 %description		libfbclient
 Multi-threaded, non-local client libraries for Firebird SQL Database
@@ -120,7 +116,7 @@ Summary:		Multi-process, local client li
 Group:			System Environment/Libraries
 Requires(post):		/sbin/ldconfig
 Requires(postun):	/sbin/ldconfig
-Requires:		%{name}-filesystem
+Requires:		%{name}-filesystem 
 
 %description		libfbembed
 Multi-process, local client libraries for Firebird SQL RDBMS
@@ -134,6 +130,7 @@ iconv	-f	ISO-8859-1	-t	utf-8	-c	./doc/RE
 %patch2
 %patch1
 %patch0
+%patch3
 
 %build
 
@@ -206,6 +203,7 @@ mkdir	-p	%{buildroot}%{fbroot}/bin-class
 mkdir	-p	%{buildroot}%{fbroot}/UDF-classic
 mkdir	-p	%{buildroot}%{fbroot}/bin-superserver
 mkdir	-p	%{buildroot}%{fbroot}/UDF-superserver
+mkdir	-p	%{buildroot}%{_bindir} 
 
 cp	%{_builddir}/%{pkgname}/gen/buildroot-classic%{fbroot}/examples/empbuild/employee.fdb		%{buildroot}%{_localstatedir}/lib/%{name}/data/employee.fdb
 cp	%{_builddir}/%{pkgname}/gen/buildroot-classic%{fbroot}/help/help.fdb		%{buildroot}%{fbroot}/help/help.fdb
@@ -270,6 +268,15 @@ cp	%{_builddir}/%{pkgname}/gen/buildroot
 cp	%{_builddir}/%{pkgname}/gen/buildroot-superserver%{fbroot}/misc/%{name}.init.d.mandrake	%{buildroot}%{_initrddir}/%{name}
 sed	"s at chkconfig: 345 at chkconfig: -@"	-i	%{buildroot}%{_initrddir}/%{name}	
 
+sed	"s@%%{fbroot}@%{fbroot}@g"	%{SOURCE4}	>	%{_builddir}/%{pkgname}/doc/README.Fedora
+ln	-s	%{_var}/run/%{name}	.%{fbroot}/run
+ln	-s	%{fbroot}/bin/isql	.%{_bindir}/fbsql
+ln	-s	%{fbroot}/bin/gbak	.%{_bindir}/gbak
+ln	-s	%{fbroot}/bin/gfix	.%{_bindir}/gfix
+ln	-s	%{fbroot}/bin/gsec	.%{_bindir}/gsec
+ln	-s	%{fbroot}/bin/nbackup	.%{_bindir}/nbackup
+ln	-s	%{fbroot}/bin/gstat	.%{_bindir}/gstat
+
  
 %clean
 rm -Rf %{buildroot}
@@ -290,13 +297,13 @@ if test ! -e %{fbroot}/UDF; then
 	ln -s %{fbroot}/UDF{-classic,}
 fi
 if /sbin/service xinetd status >& /dev/null; then
-	/sbin/service xinetd reload
+	/sbin/service xinetd reload &>/dev/null || :
 fi
 
 %preun	classic
 if [ $1 -eq 0 ]; then
 	if /sbin/service xinetd status >& /dev/null; then
-		/sbin/service xinetd reload
+		/sbin/service xinetd reload &>/dev/null || :
 	fi
 	if [ "$(readlink %{fbroot}/bin 2> /dev/null)" = "%{fbroot}/bin-classic" ]; then
 		rm -f %{fbroot}/bin
@@ -359,7 +366,9 @@ fi
 
 %post	-p /sbin/ldconfig
 
-%postun	-p /sbin/ldconfig
+%postun	
+/sbin/ldconfig
+rm -Rf	%{_var}/run/%{name}
 
 %files 
 %defattr(0644,root,root,0755)
@@ -374,14 +383,14 @@ fi
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %attr (0660,%{name},%{name}) %{_sysconfdir}/%{name}/security2.fdb
 %{fbroot}/security2.fdb
-%config(noreplace) %{_sysconfdir}/%{name}/fbintl.conf
-%config(noreplace) %{_sysconfdir}/%{name}/aliases.conf
-%config(noreplace) %{_sysconfdir}/%{name}/firebird.conf
+%config(noreplace) %attr (0664,%{name},%{name}) %{_sysconfdir}/%{name}/fbintl.conf
+%config(noreplace) %attr (0664,%{name},%{name}) %{_sysconfdir}/%{name}/aliases.conf
+%config(noreplace) %attr (0664,%{name},%{name}) %{_sysconfdir}/%{name}/firebird.conf
 %{fbroot}/aliases.conf
 %{fbroot}/firebird.conf
 %{fbroot}/intl/fbintl.conf
 %{fbroot}/firebird.log
-%attr(0660,%{name},%{name})  %{_localstatedir}/log/%{name}/%{name}.log
+%attr(0664,%{name},%{name})  %{_localstatedir}/log/%{name}/%{name}.log
 %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
 %{fbroot}/*.msg
 %{fbroot}/help
@@ -392,11 +401,22 @@ fi
 %config(noreplace) %{_sysconfdir}/profile.d/firebird.sh
 %defattr(0755,root,root,0750)
 %{fbroot}/intl/fbintl
+%defattr(0755,root,root,0755)
+%{_bindir}/fbsql
+%{_bindir}/gbak
+%{_bindir}/gsec
+%{_bindir}/gfix
+%{_bindir}/nbackup
+%{_bindir}/gstat
+%dir %attr(0755,%{name},%{name}) %{_var}/run/%{name}
+%defattr(0755,root,root,0755)
+%{fbroot}/run
 
 %files	filesystem
-%defattr(0755,%{name},%{name},0755)
-%dir %{fbroot}
+%defattr(0644,root,root,0755)
+%doc	doc/README.Fedora
 %defattr(0755,root,root,0755)
+%dir %{fbroot}
 %dir %{fbroot}/lib
 
 %files doc
@@ -454,7 +474,6 @@ fi
 %doc doc/license/IDPL.txt
 %doc doc/license/README.license.usage.txt
 %defattr(0644,root,root,0755)
-%dir %attr(0755,%{name},%{name}) %{_var}/run/%{name}
 %dir %{fbroot}/bin-superserver
 %dir %{fbroot}/UDF-superserver
 %defattr(0755,root,root,0755)
@@ -466,6 +485,12 @@ fi
 
 
 %changelog
+* Tue May 12 2009  Philippe Makowski <makowski at firebird-fr.eu.org> 2.1.2.18118.0-7
+- patch to change lock files location and avoid %%{fbroot} owned by firebird user (rh #500219)
+- add README.fedora
+- add symlinks in /usr/bin
+- change xinetd reload (rh #500219)
+
 * Sat May 02 2009  Philippe Makowski <makowski at firebird-fr.eu.org> 2.1.2.18118.0-6
 - add filesystem-subpackage
 - remove common subpackage and use the main instead




More information about the fedora-extras-commits mailing list