Hello community, here is the log from the commit of package firebird for openSUSE:Factory checked in at 2012-05-29 11:37:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/firebird (Old) and /work/SRC/openSUSE:Factory/.firebird.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firebird", Maintainer is "" Changes: -------- New Changes file: --- /dev/null 2012-05-03 01:24:41.895590051 +0200 +++ /work/SRC/openSUSE:Factory/.firebird.new/firebird-classic.changes 2012-05-29 11:37:24.000000000 +0200 @@ -0,0 +1,410 @@ +------------------------------------------------------------------- +Fri May 25 07:52:40 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.25488 + * CORE-3611: Wrong data while retrieving from CTEs (or derived + tables) with same column names + * CORE-3557: AV in engine when preparing query against dropping + table (a post-fix) + * add interpreter specification to generated scripts + * fix broken isql history with libedit 3.0 + * CORE-3612: send errors to stderr +- firebird-2.5.1-shebang.patch: + delete (committed to upstream) +- remove extern/SfIO from the source tarball: while it is probably + covered by an open source license (EPL), the file stdio.h itself + contains only an unfriendly copyright notice without any + reference to the license; as it is needed only on Solaris, it + seems easier to simply remove it +- use standardized tags for licence + +------------------------------------------------------------------- +Fri May 18 15:54:44 UTC 2012 - [email protected] + +- spec file formatting +- add copyright to spec file + +------------------------------------------------------------------- +Fri May 18 12:48:15 UTC 2012 - [email protected] + +- Switching to new Firebird version (2.5) and spec file. This + obsoletes the previous changes file from version 2.1. + +------------------------------------------------------------------- +Mon May 14 09:12:39 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.25481 + * CORE-3539: TRACE: add ability for logging ERRORs that occur in + runtime (lock conflicts, PK/UK/FK violations et al) + * Trace errors raised by failed ON TRANSACTION ROLLBACK and ON + DISCONNECT triggers + * CORE-3598: TRACE: add statistics of actions that were after + transaction finished + * CORE-3814: SuperClassic server crashes when performing a + database shutdown (FW=OFF) + * fix regression introduced by patch for CORE-3777 + * CORE-3844: Validation not detects one specific case of index + corruption + * CORE-3841: Corrupted database after inserting rows + * CORE-3839: Values disappearing from index + * CORE-3845 : Interruption of 'heavy query' leads to 0 ms (zero + duration) in it`s statistics in trace log + +------------------------------------------------------------------- +Tue May 8 19:25:18 UTC 2012 - [email protected] + +- firebird-2.5.2-isqlalign.patch: + replace locale based patch with backport from firebird 3.0 +- firebird-2.5.2-gpidfile.patch: + allow creating a pidfile for fbguard as well +- firebird-2.5.2-init.patch: + use killproc and guard pidfile for "stop" branch + +------------------------------------------------------------------- +Wed May 2 06:31:23 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.25472 + * CORE-3819: Wrong service name to port address resolution in + database connection string + * CORE-3825: If an autocommit transaction (i.e. transaction + started with isc_tpb_autocommit option) run DDL using EXECUTE + STATEMENT it will produce a bugcheck 287 (Too many savepoints) + * Make the conf. parameter DummyPacketInterval more accurate + * CORE-3834: Usage of a NATURAL JOIN with a derived table crashes + the server +- temporary fix for "stop" branch of init script + +------------------------------------------------------------------- +Mon Apr 16 12:43:28 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26467 + * CORE-3806: Wrong data returned if a sub-query or a computed + field refers to the base table in the ORDER BY clause + * CORE-3807: Error "Invalid expression in the select list" can be + unexpectedly raised if a string literal is used inside a GROUP + BY clause in a multi-byte connection + * CORE-3686: Incorrect (zero) values are reported for "acquire + blocks" and "mutex wait" counters in the fb_lock_print output + * CORE-3810 : isql: zero divide + coredump when use "-pag 0" + command switch & set heading on inside .sql script + * Rolled back the optimization committed recently due to the + found regressions + * CORE-3812 : Connection lost to database during massive dropping + and altering primary keys of tables + * Do not ignore possible OS level errors even if they seem + unlikely to happen + +------------------------------------------------------------------- +Mon Apr 2 12:11:12 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26456 + * CORE-2286: Selecting from MON$CALL_STACK within a Trigger or SP + sometimes return 0 rows + * CORE-3569: CHAR(32767) present in XSQLVAR with length 32765 + * CORE-3195: Concatenation to CHAR(32766/7) impossible + * CORE-3625: MON$IO_STATS doesn't report page writes performed + asynchronously (at the AST level) + * CORE-3092: ROW_COUNT is not cleared before the singleton INSERT + statement + * CORE-1992: bad BLR -- invalid stream for union select + * untracked AV due to CORE-3649 + * Undo patch for CORE-3468 + * CORE-3791: Performance degrades when actively working with + databases bigger than the available RAM amount + * CORE-3770: fbtracemgr loads CPU up to ~55% when no activity is + present + * CORE-3799: with caller privileges option don't work with + autonomous transaction option + * CORE-3801: Warnings could be put twice in status-vector + * CORE-3802: Firebird runs out of memory while restoring database + backup + +------------------------------------------------------------------- +Mon Mar 12 14:03:41 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26436 + * CORE-2457: UNICODE_CI internal gds software consistency + check + * CORE-3762: gsec returns 0 return code on some errors + * CORE-3649: gbak deletes backup file even if error happens + when it's already successfully closed + * CORE-3777: Conversion error from string when using GROUP BY + * CORE-3721: Multiuser server startup (/etc/init.d) script + picks up the ISC_ variables if set +- remove dependency of firebird-devel on firebird + +------------------------------------------------------------------- +Wed Feb 29 07:58:49 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26429 + * CORE-3761: Conversion error when using a blob as an argument + for the EXCEPTION statement + * CORE-3778: AV at connection shutdown + * CORE-1997: Broken foreign key handling for multi-segmented + index using multi-level collations + * CORE-2457: UNICODE_CI internal gds software consistency check + +------------------------------------------------------------------- +Wed Feb 15 09:26:30 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26425 + * CORE-3750: Error increasing limits on posix + +------------------------------------------------------------------- +Mon Jan 30 08:31:29 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26424 + * CORE-3732: Segfault when closing attachment to database + * CORE-3730: isc_dsql_exec_immed2() loses input parameter value with + RETURNING clause + * CORE-3733: GBAK fails to fix system generators while restoring + * CORE-3736: WITH LOCK clause is allowed for users with read-only + rights on some table, thus blocking others from updating this table + * Stop db triggers in qli +- declare BuildRoot only when needed (< 1130) +- define version in one place rather than two + +------------------------------------------------------------------- +Mon Jan 16 14:52:15 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26417 + * add system indices to avoid full table scans on system tables + * CORE-3722: IS NOT DISTINCT FROM NULL doesn't use index + * CORE-3727: Support C preprocessor flags in firebird build system + * CORE-3599: Don't allow to drop RDB$ADMIN role +- removed obsolete firebird-2.5.2-libs.patch (in upstream now) + +------------------------------------------------------------------- +Mon Jan 2 15:03:57 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26411 + * CORE-3862: Multiple update installs can cause problems + * CORE-3697: String truncation error when selecting from a VIEW with + UNION inside + * CORE-3683: Wrong results if the recursive query contains an embedded + GROUP BY clause + * CORE-3671: JVM Access Violation when using Firebird Embedded + * CORE-3238: Make GEN_UUID return a compliant RFC-4122 binary UUID + and introduce CHAR_TO_UUID2 and UUID_TO_CHAR2 to convert UUIDs + from/to string also complying with the RFC + * CORE-3677: Stop utilities to export entrypoints + * CORE-3646: Segmentation fault in Linux + * CORE-3658: FBSVCMGR connects to server as OS user name rather than + value of ISC_USER environment variable + +------------------------------------------------------------------- +Wed Dec 14 12:43:09 UTC 2011 - [email protected] + ++++ 213 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.firebird.new/firebird-classic.changes --- /work/SRC/openSUSE:Factory/firebird/firebird.changes 2012-04-20 15:13:43.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.firebird.new/firebird.changes 2012-05-29 11:37:24.000000000 +0200 @@ -2 +2 @@ -Mon Apr 16 12:23:03 UTC 2012 - [email protected] +Fri May 25 07:52:40 UTC 2012 - [email protected] @@ -4 +4,16 @@ -- Remove merged patch Firebird-edit_fix.diff. +- update to upstream version 2.5.2.25488 + * CORE-3611: Wrong data while retrieving from CTEs (or derived + tables) with same column names + * CORE-3557: AV in engine when preparing query against dropping + table (a post-fix) + * add interpreter specification to generated scripts + * fix broken isql history with libedit 3.0 + * CORE-3612: send errors to stderr +- firebird-2.5.1-shebang.patch: + delete (committed to upstream) +- remove extern/SfIO from the source tarball: while it is probably + covered by an open source license (EPL), the file stdio.h itself + contains only an unfriendly copyright notice without any + reference to the license; as it is needed only on Solaris, it + seems easier to simply remove it +- use standardized tags for licence @@ -7 +22 @@ -Thu Mar 15 19:04:47 UTC 2012 - [email protected] +Fri May 18 15:54:44 UTC 2012 - [email protected] @@ -9 +24,2 @@ -- Add firebird-gcc47.patch: Fix build with gcc 4.7. +- spec file formatting +- add copyright to spec file @@ -12,4 +28,191 @@ -Wed Jan 4 12:31:00 UTC 2012 - [email protected] -- new upstream version (2.1.4.18393.0) -- Remove Firebird-edit_fix.diff -- Added gcc-4.5.patch +Fri May 18 12:48:15 UTC 2012 - [email protected] + +- Switching to new Firebird version (2.5) and spec file. This + obsoletes the previous changes file from version 2.1. + +------------------------------------------------------------------- +Mon May 14 09:12:39 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.25481 + * CORE-3539: TRACE: add ability for logging ERRORs that occur in + runtime (lock conflicts, PK/UK/FK violations et al) + * Trace errors raised by failed ON TRANSACTION ROLLBACK and ON + DISCONNECT triggers + * CORE-3598: TRACE: add statistics of actions that were after + transaction finished + * CORE-3814: SuperClassic server crashes when performing a + database shutdown (FW=OFF) + * fix regression introduced by patch for CORE-3777 + * CORE-3844: Validation not detects one specific case of index + corruption + * CORE-3841: Corrupted database after inserting rows + * CORE-3839: Values disappearing from index + * CORE-3845 : Interruption of 'heavy query' leads to 0 ms (zero + duration) in it`s statistics in trace log + +------------------------------------------------------------------- +Tue May 8 19:25:18 UTC 2012 - [email protected] + +- firebird-2.5.2-isqlalign.patch: + replace locale based patch with backport from firebird 3.0 +- firebird-2.5.2-gpidfile.patch: + allow creating a pidfile for fbguard as well +- firebird-2.5.2-init.patch: + use killproc and guard pidfile for "stop" branch + +------------------------------------------------------------------- +Wed May 2 06:31:23 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.25472 + * CORE-3819: Wrong service name to port address resolution in + database connection string + * CORE-3825: If an autocommit transaction (i.e. transaction + started with isc_tpb_autocommit option) run DDL using EXECUTE + STATEMENT it will produce a bugcheck 287 (Too many savepoints) + * Make the conf. parameter DummyPacketInterval more accurate + * CORE-3834: Usage of a NATURAL JOIN with a derived table crashes + the server +- temporary fix for "stop" branch of init script + +------------------------------------------------------------------- +Mon Apr 16 12:43:28 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26467 + * CORE-3806: Wrong data returned if a sub-query or a computed + field refers to the base table in the ORDER BY clause + * CORE-3807: Error "Invalid expression in the select list" can be + unexpectedly raised if a string literal is used inside a GROUP + BY clause in a multi-byte connection + * CORE-3686: Incorrect (zero) values are reported for "acquire + blocks" and "mutex wait" counters in the fb_lock_print output + * CORE-3810 : isql: zero divide + coredump when use "-pag 0" + command switch & set heading on inside .sql script + * Rolled back the optimization committed recently due to the + found regressions + * CORE-3812 : Connection lost to database during massive dropping + and altering primary keys of tables + * Do not ignore possible OS level errors even if they seem + unlikely to happen + +------------------------------------------------------------------- +Mon Apr 2 12:11:12 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26456 + * CORE-2286: Selecting from MON$CALL_STACK within a Trigger or SP + sometimes return 0 rows + * CORE-3569: CHAR(32767) present in XSQLVAR with length 32765 + * CORE-3195: Concatenation to CHAR(32766/7) impossible + * CORE-3625: MON$IO_STATS doesn't report page writes performed + asynchronously (at the AST level) + * CORE-3092: ROW_COUNT is not cleared before the singleton INSERT + statement + * CORE-1992: bad BLR -- invalid stream for union select + * untracked AV due to CORE-3649 + * Undo patch for CORE-3468 + * CORE-3791: Performance degrades when actively working with + databases bigger than the available RAM amount + * CORE-3770: fbtracemgr loads CPU up to ~55% when no activity is + present + * CORE-3799: with caller privileges option don't work with + autonomous transaction option + * CORE-3801: Warnings could be put twice in status-vector + * CORE-3802: Firebird runs out of memory while restoring database + backup + +------------------------------------------------------------------- +Mon Mar 12 14:03:41 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26436 + * CORE-2457: UNICODE_CI internal gds software consistency + check + * CORE-3762: gsec returns 0 return code on some errors + * CORE-3649: gbak deletes backup file even if error happens + when it's already successfully closed + * CORE-3777: Conversion error from string when using GROUP BY + * CORE-3721: Multiuser server startup (/etc/init.d) script + picks up the ISC_ variables if set +- remove dependency of firebird-devel on firebird + +------------------------------------------------------------------- +Wed Feb 29 07:58:49 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26429 + * CORE-3761: Conversion error when using a blob as an argument + for the EXCEPTION statement + * CORE-3778: AV at connection shutdown + * CORE-1997: Broken foreign key handling for multi-segmented + index using multi-level collations + * CORE-2457: UNICODE_CI internal gds software consistency check + +------------------------------------------------------------------- +Wed Feb 15 09:26:30 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26425 + * CORE-3750: Error increasing limits on posix + +------------------------------------------------------------------- +Mon Jan 30 08:31:29 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26424 + * CORE-3732: Segfault when closing attachment to database + * CORE-3730: isc_dsql_exec_immed2() loses input parameter value with + RETURNING clause + * CORE-3733: GBAK fails to fix system generators while restoring + * CORE-3736: WITH LOCK clause is allowed for users with read-only + rights on some table, thus blocking others from updating this table + * Stop db triggers in qli +- declare BuildRoot only when needed (< 1130) +- define version in one place rather than two + +------------------------------------------------------------------- +Mon Jan 16 14:52:15 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26417 + * add system indices to avoid full table scans on system tables + * CORE-3722: IS NOT DISTINCT FROM NULL doesn't use index + * CORE-3727: Support C preprocessor flags in firebird build system + * CORE-3599: Don't allow to drop RDB$ADMIN role +- removed obsolete firebird-2.5.2-libs.patch (in upstream now) + +------------------------------------------------------------------- +Mon Jan 2 15:03:57 UTC 2012 - [email protected] + +- update to upstream version 2.5.2.26411 + * CORE-3862: Multiple update installs can cause problems + * CORE-3697: String truncation error when selecting from a VIEW with + UNION inside + * CORE-3683: Wrong results if the recursive query contains an embedded + GROUP BY clause + * CORE-3671: JVM Access Violation when using Firebird Embedded + * CORE-3238: Make GEN_UUID return a compliant RFC-4122 binary UUID + and introduce CHAR_TO_UUID2 and UUID_TO_CHAR2 to convert UUIDs + from/to string also complying with the RFC + * CORE-3677: Stop utilities to export entrypoints + * CORE-3646: Segmentation fault in Linux + * CORE-3658: FBSVCMGR connects to server as OS user name rather than ++++ 277 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firebird/firebird.changes ++++ and /work/SRC/openSUSE:Factory/.firebird.new/firebird.changes Old: ---- 01_firebird Firebird-2.1.4.18393-0.tar.bz2 README.openSUSE firebird-gcc-icu.patch firebird-gcc-warnings-fixes.patch firebird-gcc47.patch firebird-logrotate firebird-mcpu-to-mtune.patch firebird.conf firebird_lock-file-location.patch gcc-4.5.patch New: ---- Firebird-2.5.2.26488-0.tar.bz2 firebird-2.5.1-chown.patch firebird-2.5.1-config.patch firebird-2.5.1-disable.patch firebird-2.5.2-gpidfile.patch firebird-2.5.2-init.patch firebird-2.5.2-isqlalign.patch firebird-2.5.2-pkgconfig.patch firebird-classic.changes firebird-classic.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ firebird-classic.spec ++++++ # # spec file for package firebird-classic # # Copyright (c) 2012 SUSE LINUX Products 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.2.26488 %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.bz2 Url: http://www.firebirdsql.org/ BuildRequires: gcc-c++ BuildRequires: libedit-devel BuildRequires: libicu-devel BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: pkg-config Requires(pre): pwdutils Requires: %{bname} = %{version} Provides: %{bname}-server Summary: Classic architecture binaries for SQL database server License: SUSE-IDPL-1.0, SUSE-IBPL-1.0 Group: Productivity/Databases/Servers Patch1: %{bname}-2.5.1-chown.patch Patch2: %{bname}-2.5.2-gpidfile.patch Patch3: %{bname}-2.5.2-init.patch Patch5: %{bname}-2.5.1-disable.patch Patch6: %{bname}-2.5.1-config.patch Patch7: %{bname}-2.5.2-pkgconfig.patch Patch11: %{bname}-2.5.2-isqlalign.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 -n %{pkgversion} %patch1 %patch2 -p1 %patch3 %patch5 %patch6 %patch7 %patch11 -p1 %build ./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}/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 ++++++ firebird.spec ++++++ ++++ 736 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firebird/firebird.spec ++++ and /work/SRC/openSUSE:Factory/.firebird.new/firebird.spec ++++++ Firebird-2.1.4.18393-0.tar.bz2 -> Firebird-2.5.2.26488-0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/firebird/Firebird-2.1.4.18393-0.tar.bz2 /work/SRC/openSUSE:Factory/.firebird.new/Firebird-2.5.2.26488-0.tar.bz2 differ: char 11, line 1 ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.IKrsLo/_old 2012-05-29 11:37:27.000000000 +0200 +++ /var/tmp/diff_new_pack.IKrsLo/_new 2012-05-29 11:37:27.000000000 +0200 @@ -1,7 +1,6 @@ +firebird + +/usr/lib(64)?/libib_util.so libfbclient2 - +/usr/lib(64)?/libfbclient.so* - +/usr/lib(64)?/firebird/lib/libfbclient.so* - +/usr/lib(64)?/libigds.so* + +/usr/lib(64)?/libfbclient.* libfbembed2 - +/usr/lib(64)?/libfbembed.so* - +/usr/lib(64)?/firebird/lib/libfbembed.so* + +/usr/lib(64)?/libfbembed.* ++++++ firebird-2.5.1-chown.patch ++++++ diff -up builds/install/arch-specific/linux/misc/makeInstallImage.sh.in.orig-chown builds/install/arch-specific/linux/misc/makeInstallImage.sh.in --- builds/install/arch-specific/linux/misc/makeInstallImage.sh.in.orig-chown 2010-10-13 17:35:13.000000000 +0200 +++ builds/install/arch-specific/linux/misc/makeInstallImage.sh.in 2011-05-17 10:38:04.500019633 +0200 @@ -28,10 +28,15 @@ # This script builds an image of the installed system into # the gen/buildroot directory. -if [ "`whoami`" != "root" ]; then - echo 'You must be root to build package' - exit 1 -fi +#if [ "`whoami`" != "root" ]; then +# echo 'You must be root to build package' +# exit 1 +#fi + +function chown +{ + : +} # Making an assumption that this program is being run in the gen directory BuildRootDir=.. ++++++ firebird-2.5.1-config.patch ++++++ diff -up builds/install/misc/firebird.conf.in.orig-config builds/install/misc/firebird.conf.in --- builds/install/misc/firebird.conf.in.orig-config 2011-09-19 11:19:53.000000000 +0200 +++ builds/install/misc/firebird.conf.in 2011-09-29 10:53:08.938861246 +0200 @@ -92,6 +92,7 @@ # Type: string (special format) # #DatabaseAccess = Full +DatabaseAccess = Restrict /srv/firebird # ---------------------------- ++++++ firebird-2.5.1-disable.patch ++++++ diff -up builds/install/arch-specific/linux/misc/firebird.xinetd.in.orig-xinetd builds/install/arch-specific/linux/misc/firebird.xinetd.in --- builds/install/arch-specific/linux/misc/firebird.xinetd.in.orig-xinetd 2011-09-19 11:19:52.000000000 +0200 +++ builds/install/arch-specific/linux/misc/firebird.xinetd.in 2011-09-27 17:16:19.940917686 +0200 @@ -7,11 +7,12 @@ service @FB_SERVICE_NAME@ { - disable = no + disable = yes flags = REUSE + protocol = tcp socket_type = stream wait = no - user = root + user = firebird # These lines cause problems with Windows XP SP2 clients # using default firewall configuration (SF#1065511) # log_on_success += USERID ++++++ firebird-2.5.2-gpidfile.patch ++++++ From: Michal Kubecek <[email protected]> Date: Tue, 8 May 2012 21:13:41 +0200 Subject: fbguard: allow creating a guard pidfile To better cooperate with killproc, add option -gpidfile to create a pidfile with fbguard PID. --- src/utilities/guard/guard.cpp | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/src/utilities/guard/guard.cpp b/src/utilities/guard/guard.cpp index 8387605..7d4ab74 100644 --- a/src/utilities/guard/guard.cpp +++ b/src/utilities/guard/guard.cpp @@ -97,6 +97,7 @@ int CLIB_ROUTINE main( int argc, char **argv) bool daemon = false; const TEXT* prog_name = argv[0]; const TEXT* pidfilename = 0; + const TEXT* gpidfilename = 0; int guard_exit_code = 0; const TEXT* const* const end = argc + argv; @@ -122,9 +123,13 @@ int CLIB_ROUTINE main( int argc, char **argv) case 'P': pidfilename = *argv++; break; + case 'G': + gpidfilename = *argv++; + break; default: fprintf(stderr, - "Usage: %s [-signore | -onetime | -forever (default)] [-daemon] [-pidfile filename]\n", + "Usage: %s [-signore | -onetime | -forever (default)] [-daemon]\n" + " [-pidfile filename] [-gpidfile filename]\n", prog_name); exit(-1); break; @@ -232,6 +237,22 @@ int CLIB_ROUTINE main( int argc, char **argv) } } + if (gpidfilename) + { + FILE *gpf = fopen(gpidfilename, "w"); + if (gpf) + { + unsigned guard_pid = getpid(); + fprintf(gpf, "%d", guard_pid); + fclose(gpf); + } + else + { + gds__log("%s: guardian could not open %s for writing, error %d\n", + prog_name, gpidfilename, errno); + } + } + // wait for child to die, and evaluate exit status bool shutdown_child = true; if (!shutting_down) @@ -302,6 +323,9 @@ int CLIB_ROUTINE main( int argc, char **argv) if (pidfilename) { remove(pidfilename); } + if (gpidfilename) { + remove(gpidfilename); + } UTIL_ex_unlock(fd_guard); exit(guard_exit_code); } // main -- 1.7.7 ++++++ firebird-2.5.2-init.patch ++++++ diff -up builds/install/arch-specific/linux/misc/firebird.init.d.suse.in.orig-init builds/install/arch-specific/linux/misc/firebird.init.d.suse.in --- builds/install/arch-specific/linux/misc/firebird.init.d.suse.in.orig-init 2012-03-07 13:09:25.000000000 +0100 +++ builds/install/arch-specific/linux/misc/firebird.init.d.suse.in 2012-05-08 21:23:26.442458020 +0200 @@ -17,6 +17,7 @@ # Required-Stop: # Default-Start: 2 3 5 # Default-Stop: 0 1 6 +# Short-Description: Firebird SQL server # Description: Start the Firebird database server. ### END INIT INFO @@ -42,6 +43,7 @@ test "$START_FIREBIRD" = yes || exit 0 FIREBIRD=@FB_CONFDIR@ FBRunUser=firebird +FBRunGroup=firebird INSTANCE=default makeFbDir() { @@ -54,14 +56,15 @@ makeFbDir() { chmod $mode $mDir fi fi - chown $FBRunUser:$FBRunUser $mDir + chown $FBRunUser:$FBRunGroup $mDir } -runDir=/var/run/firebird -makeFbDir $runDir +runDir=@FB_GUARDDIR@ +makeFbDir $runDir 0755 lockDir=/tmp/firebird makeFbDir $lockDir 0770 pidfile="$runDir/$INSTANCE.pid" +gpidfile="$runDir/${INSTANCE}-guard.pid" export FIREBIRD @@ -115,7 +118,8 @@ case "$1" in # NOTE: startproc return 0, even if service is # already running to match LSB spec. - startproc -u $FBRunUser $FBSBIN/fbguard -pidfile $pidfile -forever + startproc -u $FBRunUser $FBSBIN/fbguard -forever \ + -pidfile $pidfile -gpidfile $gpidfile # Remember status and be verbose rc_status -v @@ -125,13 +129,7 @@ case "$1" in ## Stop daemon with killproc(8) and if this fails ## set echo the echo return value. - ## I had to use generic approach here - I can't test on suse. AP. - if [ -f $pidfile ] - then - kill `cat $pidfile` - sleep 1 - fi - + killproc -p $gpidfile ${FBSBIN}/fbguard # Remember status and be verbose rc_status -v ++++++ firebird-2.5.2-isqlalign.patch ++++++ From: asfernandes <asfernandes@de594faa-8d1b-4a0c-9a6a-a7de5f8bf859> Date: Tue, 5 Apr 2011 21:30:27 +0000 Subject: Fixed CORE-3431 - ISQL pads UTF-8 data incorrectly. git-svn-id: https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/trunk@52676 de594faa-8d1b-4a0c-9a6a-a7de5f8bf859 Conflicts: src/isql/isql.epp --- src/isql/isql.epp | 153 +++++++++++++++++++++++++++++++++++++++++++++-------- src/isql/isql.h | 1 + 2 files changed, 132 insertions(+), 22 deletions(-) diff --git a/src/isql/isql.epp b/src/isql/isql.epp index db01282..8cde5d8 100644 --- a/src/isql/isql.epp +++ b/src/isql/isql.epp @@ -128,6 +128,8 @@ using MsgFormat::SafeArg; #include "../isql/InputDevices.h" #include "../isql/OptionsBase.h" +#include "../intl/charsets.h" +#include <unicode/utf8.h> DATABASE DB = COMPILETIME "yachts.lnk"; @@ -242,6 +244,98 @@ const switch_info switches[] = }; +namespace IcuUtil +{ + // Duplicate from ICU to not need to link ISQL with it. It's used by U8_NEXT_UNSAFE. + static const uint8_t utf8_countTrailBytes[256] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, + 3, 3, 3, /* illegal in Unicode */ + 4, 4, 4, 4, /* illegal in Unicode */ + 5, 5, /* illegal in Unicode */ + 0, 0 /* illegal bytes 0xfe and 0xff */ + }; + + // Return the number of characters of a string. + static unsigned charLength(SSHORT sqlsubtype, unsigned len, const char* str) + { + if (sqlsubtype != CS_UNICODE_FSS && sqlsubtype != CS_UTF8) + return len; + + unsigned charLen = 0; + unsigned i = 0; + + while (i < len) + { + UChar32 c; + U8_NEXT_UNSAFE(str, i, c); + ++charLen; + } + + return charLen; + } + + // Pads a string to a specified column width. + static void pad(char* buffer, SSHORT sqlsubtype, unsigned len, const char* str, unsigned width, + bool right) + { + if (sqlsubtype != CS_UNICODE_FSS && sqlsubtype != CS_UTF8) + { + // Truncate if necessary. + if (len > width) + len = width; + + sprintf(buffer, (right ? "%*.*s" : "%-*.*s"), width, len, str); + return; + } + + unsigned i = 0; + + while (i < len && width > 0) + { + UChar32 c; + U8_NEXT_UNSAFE(str, i, c); + --width; + } + + if (right) + { + while (width-- > 0) + *buffer++ = ' '; + } + + memcpy(buffer, str, i); + buffer += i; + + if (!right) + { + while (width-- > 0) + *buffer++ = ' '; + } + + *buffer = '\0'; + } +} + + static inline bool commit_trans(isc_tr_handle* x) { if (isc_commit_transaction (isc_status, x)) { @@ -578,6 +672,7 @@ int ISQL_main(int argc, char* argv[]) TEXT tabname[WORDLENGTH]; tabname[0] = '\0'; isqlGlob.db_SQL_dialect = 0; + isqlGlob.att_charset = 0; // Output goes to stdout by default isqlGlob.Out = stdout; @@ -5857,6 +5952,7 @@ void ISQL_get_version(bool call_by_create_db) isc_info_ods_version, isc_info_ods_minor_version, isc_info_db_sql_dialect, + frb_info_att_charset, Version_info ? isc_info_firebird_version: isc_info_end, isc_info_end }; @@ -6013,6 +6109,10 @@ void ISQL_get_version(bool call_by_create_db) } break; + case frb_info_att_charset: + isqlGlob.att_charset = gds__vax_integer(p, length); + break; + default: isqlGlob.printf("Internal error: Unexpected isc_info_value %d%s", item, NEWLINE); @@ -7640,15 +7740,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const int length) sprintf(p, "%-*s ", length, buff2); ISQL_FREE(buff2); } - else if (List) { + else if (List) isqlGlob.printf("%s%s", string, NEWLINE); - } else { - // Truncate if necessary - if (length < var->sqllen) - string[length] = '\0'; - sprintf(p, "%-*s ", length, var->sqldata); + IcuUtil::pad(p, var->sqlsubtype, strlen(var->sqldata), var->sqldata, length, false); + strcat(p, " "); } break; @@ -7736,15 +7833,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const int length) } ISQL_FREE(buff2); } - else if (List) { + else if (List) isqlGlob.printf("%s%s", avary->vary_string, NEWLINE); - } else { - // Truncate if necessary - if (length < avary->vary_length) - avary->vary_length = length; - sprintf(p, "%-*.*s ", length, (int) avary->vary_length, avary->vary_string); + IcuUtil::pad(p, var->sqlsubtype, avary->vary_length, avary->vary_string, length, false); + strcat(p, " "); } break; } @@ -8182,16 +8276,20 @@ static void process_header(const XSQLDA* sqlda, const int pad[], TEXT header[], for (const XSQLVAR* const end = var + sqlda->sqld; var < end; var++, i++) { const SSHORT type = var->sqltype & ~1; - if (type == SQL_TEXT || type == SQL_VARYING) - sprintf(p, "%-*.*s ", pad[i], pad[i], var->aliasname); - else - sprintf(p, "%*s ", pad[i], var->aliasname); + + IcuUtil::pad(p, isqlGlob.att_charset, var->aliasname_length, var->aliasname, pad[i], + (type != SQL_TEXT && type != SQL_VARYING)); + strcat(p, " "); + + p += strlen(p); + // Separators need not go on forever no more than a line - size_t limit = strlen(p); - for (size_t j = 1; j < limit && j < 80; j++) + unsigned limit = IcuUtil::charLength(isqlGlob.att_charset, var->aliasname_length, var->aliasname); + limit = MAX(limit, pad[i]) + 1; + + for (unsigned j = 1; j < limit && j < 80; j++) *p2++ = '='; *p2++ = BLANK; - p += limit; } *p2 = '\0'; } @@ -8430,7 +8528,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ USHORT data_length, disp_length, alignment; data_length = disp_length = alignment = var->sqllen; - SSHORT namelength = var->aliasname_length; + SSHORT namelength = IcuUtil::charLength(isqlGlob.att_charset, var->aliasname_length, var->aliasname); // Minimum display length should not be less than that needed // for displaying null @@ -8472,6 +8570,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ // OCTETS data is displayed in hex if (var->sqlsubtype == 1) disp_length = 2 * var->sqllen; + else if (var->sqlsubtype == 4) + disp_length /= 4; break; case SQL_VARYING: data_length += sizeof(USHORT) + 1; @@ -8479,6 +8579,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ // OCTETS data is displayed in hex if (var->sqlsubtype == 1) disp_length = 2 * var->sqllen; + else if (var->sqlsubtype == 4) + disp_length /= 4; break; case SQL_SHORT: disp_length = SHORT_LEN; @@ -8509,7 +8611,10 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ // This is the print width of each column - pad[i] = (disp_length > namelength ? disp_length : namelength); + if (disp_length < namelength) + disp_length = namelength; + + pad[i] = disp_length; // Is there a collist entry, then use that width, but only for text if (type == SQL_TEXT || type == SQL_VARYING) @@ -8518,8 +8623,11 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ pad[i] = global_Col_default; } + if ((type == SQL_TEXT || type == SQL_VARYING) && var->sqlsubtype == 4) + disp_length *= 4; + // The total line length - linelength += pad[i] + 1; + linelength += disp_length + 1; // Allocate space in buffer for data @@ -8527,6 +8635,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[ var->sqldata = (SCHAR*) buffer + offset; offset += data_length; } + return linelength; } diff --git a/src/isql/isql.h b/src/isql/isql.h index e076c3c..9d350e4 100644 --- a/src/isql/isql.h +++ b/src/isql/isql.h @@ -362,6 +362,7 @@ public: // from isql.epp USHORT major_ods; USHORT minor_ods; + USHORT att_charset; void printf(const char* buffer, ...); void prints(const char* buffer); }; -- 1.7.7 ++++++ firebird-2.5.2-pkgconfig.patch ++++++ diff -up builds/install/arch-specific/linux/classic/fbembed.pc.in.orig-pc builds/install/arch-specific/linux/classic/fbembed.pc.in --- builds/install/arch-specific/linux/classic/fbembed.pc.in.orig-pc 2011-11-29 09:05:40.657958483 +0100 +++ builds/install/arch-specific/linux/classic/fbembed.pc.in 2011-11-29 09:11:59.873852393 +0100 @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@FB_LIBDIR@ +includedir=@FB_INCDIR@ + +Name: fbembed +Description: Firebird embedded client library +Version: @FIREBIRD_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lfbclient diff -up builds/install/arch-specific/linux/super/fbclient.pc.in.orig-pc builds/install/arch-specific/linux/super/fbclient.pc.in --- builds/install/arch-specific/linux/super/fbclient.pc.in.orig-pc 2011-11-29 09:05:40.657958483 +0100 +++ builds/install/arch-specific/linux/super/fbclient.pc.in 2011-11-29 09:12:04.660753104 +0100 @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@FB_LIBDIR@ +includedir=@FB_INCDIR@ + +Name: fbclient +Description: Firebird client library +Version: @FIREBIRD_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lfbclient diff -up configure.in.orig-pc configure.in --- configure.in.orig-pc 2011-08-02 17:50:56.000000000 +0200 +++ configure.in 2011-11-29 09:05:40.657958483 +0100 @@ -1290,6 +1290,12 @@ case "$PLATFORM" in gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/misc/rc.config.firebird.in gen/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/misc/linuxLibrary.sh.in] ,[chmod a+x gen/install/scripts/*.sh gen/install/*sh 2>/dev/null]) + if test $FIREBIRD_ARCH_TYPE = super; then + AC_CONFIG_FILES([gen/install/misc/fbclient.pc:${INSTALL_SRC_DIR}/fbclient.pc.in]) + fi + if test $FIREBIRD_ARCH_TYPE = classic; then + AC_CONFIG_FILES([gen/install/misc/fbembed.pc:${INSTALL_SRC_DIR}/fbembed.pc.in]) + fi ;; HPUX) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
