Hello community,

here is the log from the commit of package firebird.15185 for 
openSUSE:Leap:15.1:Update checked in at 2020-12-03 12:27:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.1:Update/firebird.15185 (Old)
 and      /work/SRC/openSUSE:Leap:15.1:Update/.firebird.15185.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "firebird.15185"

Thu Dec  3 12:27:43 2020 rev:1 rq:851783 version:3.0.7.33374

Changes:
--------
New Changes file:

--- /dev/null   2020-11-18 17:46:03.679371574 +0100
+++ 
/work/SRC/openSUSE:Leap:15.1:Update/.firebird.15185.new.5913/firebird.changes   
    2020-12-03 12:27:44.851970856 +0100
@@ -0,0 +1,997 @@
+-------------------------------------------------------------------
+Sat Oct 31 19:57:48 UTC 2020 - Michal Kubeček <[email protected]>
+
+- update to upstream version 3.0.7
+  * better diagnostic for the 'Missing security context' error
+    (CORE-6362)
+  * disconnect from the security database when missing plugin data
+    structures cause an error (CORE-6339)
+  * multiple important bug fixes
+
+-------------------------------------------------------------------
+Sat Oct 17 11:52:16 UTC 2020 - Michal Kubeček <[email protected]>
+
+- update to upstream version 3.0.6
+  * add better transaction control in isql (CORE-4933)
+  * increase parse speed of long queries (CORE-6274)
+  * improve performance when using SRP plugin (CORE-6237)
+- refresh
+  * work-around-g-problem-in-SLE11.patch
+
+-------------------------------------------------------------------
+Tue Jun 23 08:39:13 UTC 2020 - Michal Kubecek <[email protected]>
+
+- minor specfile cleanup
+
+-------------------------------------------------------------------
+Sun Jun 21 10:40:08 UTC 2020 - Andreas Stieger <[email protected]>
+
+- update to 3.0.5:
+  * Improve the engine providers compatibility across Firebird
+    versions
+  * Make it possible for the AuthClient plugin to access the
+    authentication block from DPB
+  * Implement option to restore compressed .nbk files without
+    explicitly decompressing them
+
+-------------------------------------------------------------------
+Wed Nov 21 07:39:56 UTC 2018 - [email protected]
+
+- update to upstream version 3.0.4
+  * add support for SRP authentication using SHA-256
+  * ODS (database file format) version raised to 12.2 on some
+    architectures (including i586, not x86_64); new version will be
+    able to open existing ODS 12.0 created on the same architecture
+    but for database transfer between architectures, backup/restore
+    is always recommended
+  * context variables WIRE_COMPRESSED and WIRE_ENCRYPTED were added
+    to the SYSTEM namespace to report compression and encryption
+    status, respectively, of the current connection (CORE-5913)
+  * enhanced reporting of errors when dynamic library fails to load
+    (CORE-5908)
+  * include funciton name when UDF causes "Arithmetic exception,
+    numeric overflow, or string truncation" error (CORE-5876)
+  * context variables LOCALTIME and LOCALTIMESTAMP (synonyms for
+    CURRENT_TIME and CURRENT_TIMESTAMP) for compatibility with 4.0
+    (CORE-5853)
+  * read-only restriction for system tables was relaxed to permit
+    CREATE, ALTER and DROP operations on their indexes (CORE-5746)
+  * fix unauthorized BLOB access vulnerability (CORE-5801)
+  * for a full list of bugfixes and improvements see
+    
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-general.html#rnfb30-general-v304
+- drop patches included in new upstream release:
+  Make-it-build-with-icu60.patch
+  An-attempt-to-fix-CORE-5764-need-feedback-on-snapsho.patch
+  Fixed-a-code-somewhy-accepted-by-gcc6.patch
+- refresh patches:
+  work-around-g-problem-in-SLE11.patch
+  use-C-98-on-SLE11.patch
+
+-------------------------------------------------------------------
+Wed Jul  4 11:44:02 UTC 2018 - [email protected]
+
+- replace unicode-handle-the-ICU-version-hack-from-SuSE.patch
+  with more general upstream solution:
+  * An-attempt-to-fix-CORE-5764-need-feedback-on-snapsho.patch
+  * Fixed-a-code-somewhy-accepted-by-gcc6.patch
+- unicode-handle-new-SUSE-ICU-version-hack.patch:
+  search also for "suse%d.%d" soname pattern to fix build after
+  upcoming ICU update (bsc#1095425)
+
+-------------------------------------------------------------------
+Wed Mar 28 06:54:09 UTC 2018 - [email protected]
+
+- move firebitd.xinetd back to firebird-server subpackage on SLE15
+- provide /etc/xinetd.d directory on Tumbleweed and Leap 15.0 as
+  xinetd is no longer guaranteed to be present there; this solution
+  (suggested by Dimstar) is less painful than either having
+  firebird-server depend on xinetd or splitting a new subpackage
+  firebird-server-classic.
+
+-------------------------------------------------------------------
+Fri Mar 23 11:32:28 UTC 2018 - [email protected]
+
+- patch xinetd config file unconditionally; previous change would
+  result in unpatched xinetd config file installed on Tumbleweed
+  so that the service would be enabled by default and firebird
+  binary run as root
+
+-------------------------------------------------------------------
+Thu Mar 22 09:57:02 UTC 2018 - [email protected]
+
+- Move xinetd file to /usr/share/misc/firebird on SLE15/Leap15/TW
+  (bsc#1084459).
+- Do no ship xinetd file on SLE15 (bsc#1084459).
+
+-------------------------------------------------------------------
+Sat Mar  3 17:51:56 UTC 2018 - [email protected]
+
+- update to upstream version 3.0.3
+  * fix conflicting constants; programs using * fb_info_crypt_state
+    constant must be recompiled
+  * provide crypto key name via fb_info_crypt_key item in
+    Attachment::getInfo()
+  * improve handling of concurrent ALTER DATABASE statements
+  * make sure ORDER BY with equivalent expressions are equivalent
+    and use the same plan
+  * avoid serialization of isc_attach_database calls issued by
+    EXECUTE STATEMENT
+  * show date and time of analysis in gstat output
+  * show database info in sweep error message
+  * provide compression details and encryption status of the
+    connection in Attachment::getInfo() API call
+  * fix RDB$RELATION_TYPE when restoring ODS < 11.1 database
+  * the optimizer can now estimate the actual record compression
+    ratio
+  * various performance improvements
+  * various bug fixes, for a list, see release notes at
+    
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-bug.html
+- drop patches included in new upstream version:
+  Backported-fix-for-CORE-5549-Errors-building-running.patch
+  Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch
+  Fixed-CORE-5567-Direct-system-table-modifications-ar.patch
+  Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch
+  Workaround-for-CORE-5566-Server-crashes-while-restor.patch
+- unicode-handle-the-ICU-version-hack-from-SuSE.patch:
+  rework to handle ICU >= 60 (as many versions as upstream)
+- drop firebird-icu60.patch
+  obsoleted by update of the unicode patch
+- Make-it-build-with-icu60.patch
+  upstream post-3.0.3 commit for ICU >= 59 compatibility
+- use-C-98-on-SLE11.patch
+  compatibility patch for SLE11 where gcc 4.3 does not support
+  -stc=gnu++03 (applied only on SLE11)
+
+-------------------------------------------------------------------
+Thu Jan  4 13:29:21 UTC 2018 - [email protected]
+
+- Add firebird-icu60.patch: Fix build with icu 60.x.
+
+-------------------------------------------------------------------
+Fri Jun 30 12:05:54 UTC 2017 - [email protected]
+
+- update to upstream version 3.0.2
+  * allow to to filter out info and warnings from the trace log
+  * enhance control capability when sharing the database crypt key
+    between Superserver attachments
+  * the physical numbers of frequently used data pages are now
+    cached to reduce the number of fetches of pointer pages
+  * in SuperServer mode, read-only transaction will no longer force
+    write the Header\TIP page content to disk immediately after
+    a change
+  * make the database name available to an encryption plug-in
+  * enable nesting of keys in a plug-in configuration
+  * build linux code with --enable-binreloc
+  * trace: provide a filter to INCLUDE / EXCLUDE errors by their
+    mnemonical names
+  * port for ancient Motorola 68000 CPU platform
+  * allow SELECT expressions as valid operands for the BETWEEN
+    predicate
+  * many bug fixes; for a list, see
+    
https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-bug.html#bug-302
+- Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch:
+  drop (included in 3.0.2)
+- Backported-fix-for-CORE-5549-Errors-building-running.patch:
+  fix errors when building/running on non-SSE CPU (CORE-5549)
+- Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch:
+  fix crash on frequent load/unload of UDF (CORE-5562)
+- Workaround-for-CORE-5566-Server-crashes-while-restor.patch:
+  workaround for server crash when restoring a backup while shadow
+  file already exists (CORE-5566)
+- Fixed-CORE-5567-Direct-system-table-modifications-ar.patch:
+  fix the possibility to directly modivy system tables (CORE-5567)
+- drop "--disable-binreloc", no longer needed
+- add a check to fail in prep phase if extern/SfIO wasn't removed
+  (bsc#763446)
+
+-------------------------------------------------------------------
+Sat Feb 18 06:32:57 CET 2017 - [email protected]
+
+- Add missing insserv PreReq
+
+-------------------------------------------------------------------
+Tue Feb  7 10:58:14 UTC 2017 - [email protected]
+
+- Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch
+  security vulnerability fix for bypassing 'Restrict UDF' value of
+  UdfAccess config directive (bsc#1023990)                                     
 
++++ 800 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:Leap:15.1:Update/.firebird.15185.new.5913/firebird.changes

New:
----
  50-server.conf
  Firebird-3.0.7.33374-0.tar.xz
  Provide-sized-global-delete-operators-when-compiled-.patch
  README.SUSE
  add-pkgconfig-files.patch
  baselibs.conf
  disable-xinetd-service-by-default.patch
  fbguard-allow-creating-a-guard-pidfile.patch
  firebird-clean-tar.sh
  firebird.changes
  firebird.spec
  unicode-handle-new-SUSE-ICU-version-hack.patch
  use-C-98-on-SLE11.patch
  use-killproc-in-stop-branch-of-SuSE-init-script.patch
  work-around-g-problem-in-SLE11.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ firebird.spec ++++++
#
# spec file for package firebird
#
# Copyright (c) 2020 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#


%define up_stage 0

Name:           firebird
Version:        3.0.7.33374
Release:        0
Summary:        Database system (common files)
License:        SUSE-IDPL-1.0 AND SUSE-IBPL-1.0
Group:          Productivity/Databases/Servers
URL:            https://www.firebirdsql.org/
# https://github.com/FirebirdSQL/firebird/releases/ - fetch and run 
firebird-clean-tar.sh
Source:         Firebird-%{version}-%{up_stage}.tar.xz
Source1:        README.SUSE
Source2:        50-server.conf
Source3:        firebird-clean-tar.sh
Source999:      baselibs.conf
BuildRequires:  autoconf >= 2.67
BuildRequires:  gcc-c++
BuildRequires:  libedit-devel
BuildRequires:  libicu-devel
BuildRequires:  libtommath-devel
BuildRequires:  libtool
BuildRequires:  ncurses-devel
BuildRequires:  pkg-config
BuildRequires:  xz
BuildRequires:  zlib-devel
Requires(pre):  pwdutils
Requires(pre):  %insserv_prereq

%if 0%{?suse_version} < 1130
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%endif

Patch1:         fbguard-allow-creating-a-guard-pidfile.patch
Patch2:         use-killproc-in-stop-branch-of-SuSE-init-script.patch
Patch3:         disable-xinetd-service-by-default.patch
Patch4:         add-pkgconfig-files.patch
Patch5:         Provide-sized-global-delete-operators-when-compiled-.patch
Patch6:         unicode-handle-new-SUSE-ICU-version-hack.patch
# work around problems with old g++
Patch91:        work-around-g-problem-in-SLE11.patch
Patch92:        use-C-98-on-SLE11.patch

%description
This package provides common files needed by both client and server
installations of Firebird RDBMS.

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 -q -n Firebird-%{version}-%{up_stage}
# check for files with unclear licensing (bsc#763446)
if [ -d extern/SfIO ]; then
    echo "please repack the tarball without extern/SfIO directory (see 
bsc#763446)" >&2
    exit 1
fi
# --
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
# --
# work around a problem with old g++
%if 0%{?suse_version} < 1140
%patch91 -p1
%patch92 -p1
%endif

%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks"
./autogen.sh --prefix=%{_prefix} \
  --with-system-editline \
  --with-fbbin=%{_bindir} \
  --with-fbsbin=%{_sbindir} \
  --with-fbconf=%{_sysconfdir}/%{name} \
  --with-fblib=%{_libdir} \
  --with-fbinclude=%{_includedir} \
  --with-fbdoc=%{_docdir}/%{name} \
  --with-fbudf=%{_libdir}/%{name}/udf \
  --with-fbsample=%{_docdir}/%{name}/sample \
  --with-fbsample-db=%{_localstatedir}/lib/%{name}/sample \
  --with-fbhelp=%{_libdir}/%{name}/lib \
  --with-fbintl=%{_libdir}/%{name}/intl \
  --with-fbmisc=%{_datadir}/%{name}/misc \
  --with-fbsecure-db=%{_localstatedir}/lib/%{name}/secdb \
  --with-fbmsg=%{_libdir}/%{name}/lib \
  --with-fblog=%{_localstatedir}/log/%{name} \
  --with-fbglock=%{_localstatedir}/run/%{name} \
  --with-fbplugins=%{_libdir}/%{name}/plugins
make %{?_smp_mflags}
cd gen
make %{?_smp_mflags} -f Makefile.install buildRoot
chmod -R u+w buildroot%{_docdir}/%{name}
cat >>buildroot%{_sysconfdir}/%{name}/firebird.conf <<EOT

# allow additional config files
include \$(dir_conf)/firebird.conf.d/*.conf
EOT

%install
chmod u+rw,a+rx gen/buildroot/usr/include/firebird/impl
cp -r gen/buildroot/* %{buildroot}/
mkdir -p %{buildroot}%{_initddir}
install -m 755 gen/install/misc/firebird.init.d.suse \
  %{buildroot}%{_initddir}/firebird
mkdir -p %{buildroot}%{_libdir}/pkgconfig
cp -v gen/install/misc/*.pc %{buildroot}%{_libdir}/pkgconfig/
cd %{buildroot}
mkdir -p .%{_libdir}/%{name}/utils
mv -v .%{_sbindir}/*.sh .%{_libdir}/%{name}/utils/
mv -v .%{_sbindir}/fb_config .%{_libdir}/%{name}/utils/
rm -vf .%{_libdir}/libicu*.so
mv -vi .%{_bindir}/isql .%{_bindir}/isql-fb
mv -vi .%{_bindir}/gstat .%{_bindir}/gstat-fb
mv -vi .%{_includedir}/ibase.h .%{_includedir}/%{name}/
mv -vi .%{_includedir}/iberror.h .%{_includedir}/%{name}/
mv -vi .%{_includedir}/ib_util.h .%{_includedir}/%{name}/
rm -vf .%{_includedir}/*.h
chmod -R u+w .%{_docdir}/%{name}
rm -vf .%{_datadir}/%{name}/misc/firebird.init.*
rm -vf .%{_datadir}/%{name}/misc/rc.config.firebird
%if 0%{?suse_version} < 1500 || 0%{?is_opensuse}
mkdir -p .%{_sysconfdir}/xinetd.d
mv -v .%{_datadir}/%{name}/misc/firebird.xinetd \
  .%{_sysconfdir}/xinetd.d/%{name}
%endif
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}/
chmod -R go+rX .%{_datadir}/%{name}/misc
cp -vi %{SOURCE1} .%{_docdir}/%{name}/
mkdir -p .%{_sysconfdir}/%{name}/firebird.conf.d
cp -v %{SOURCE2} .%{_sysconfdir}/%{name}/firebird.conf.d/
mkdir -p srv/%{name}
ln -s %{_initddir}/firebird usr/sbin/rcfirebird

%files
%defattr(-,root,root)
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/firebird.conf
%dir %{_sysconfdir}/%{name}/firebird.conf.d
%dir %{_libdir}/%{name}
%dir %{_datadir}/%{name}
%{_libdir}/%{name}/intl
%{_libdir}/%{name}/lib
%{_libdir}/%{name}/plugins/libEngine12.so
%{_datadir}/%{name}/misc
%if 0%{?suse_version} >= 1500 && !0%{?is_opensuse}
%exclude %{_datadir}/%{name}/misc/firebird.xinetd
%endif
%{_docdir}/%{name}/IDPLicense.txt
%{_docdir}/%{name}/IPLicense.txt
%{_docdir}/%{name}/README.SUSE
%dir %{_localstatedir}/lib/%{name}
%dir %{_localstatedir}/lib/%{name}/secdb
%attr(0750,firebird,firebird) %{_localstatedir}/log/%{name}
%dir %attr(0750,firebird,firebird) /srv/firebird

%pre
getent group firebird >/dev/null || groupadd -r firebird || :
getent passwd firebird >/dev/null \
  || %{_sbindir}/useradd -r -g firebird -c 'Firebird SQL server' \
       -d /srv/firebird firebird \
  || :
exit 0

# ----------------------------------------------------------------------------

%package server
Summary:        Server files of Firebird RDBMS
Group:          Productivity/Databases/Servers
Requires:       %{name} = %{version}
Recommends:     %{name}-utils
# replaces these two from Leap 42.x and older
Provides:       firebird-classic = %{version}
Provides:       firebird-superserver = %{version}
Obsoletes:      firebird-classic < 3
Obsoletes:      firebird-superserver < 3

%description server
This package provides files needed to run Firebird RDBMS as a 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 server
%defattr(-,root,root)
%{_sbindir}/fb_lock_print
%{_sbindir}/fbguard
%{_sbindir}/firebird
%{_sbindir}/rcfirebird
%config(noreplace) %{_sysconfdir}/%{name}/databases.conf
%config(noreplace) %{_sysconfdir}/%{name}/fbtrace.conf
%config(noreplace) %{_sysconfdir}/%{name}/plugins.conf
%config(noreplace) %{_sysconfdir}/%{name}/firebird.conf.d/50-server.conf
%if 0%{?suse_version} < 1500 || 0%{?is_opensuse}
%if 0%{?suse_version} >= 1500
%dir %{_sysconfdir}/xinetd.d
%endif
%config(noreplace) %{_sysconfdir}/xinetd.d/%{name}
%else
%{_datadir}/%{name}/misc/firebird.xinetd
%endif
%exclude %{_libdir}/%{name}/plugins/libEngine12.so
%{_libdir}/%{name}/plugins
%{_libdir}/%{name}/udf
%{_libdir}/%{name}/utils
%attr(0600,firebird,firebird) %config(noreplace) 
%{_localstatedir}/lib/%{name}/secdb/security3.fdb
%attr(755,root,root) %{_initddir}/firebird

%post server
%restart_on_update %{_initddir}/firebird

%preun server
%stop_on_removal %{_initddir}/firebird

%postun server
%restart_on_update %{_initddir}/firebird
%insserv_cleanup

# ----------------------------------------------------------------------------

%package utils
Summary:        Firebird RDBMS management utilities
Group:          Productivity/Databases/Servers
Requires:       %{name} = %{version}
# split out of firebird after 42.x
Provides:       %{name}-superserver:%{_bindir}/gbak

%description utils
This package provides for Firebird RDBMS management.

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 utils
%defattr(-,root,root)
%{_bindir}/fbsvcmgr
%{_bindir}/fbtracemgr
%{_bindir}/gbak
%{_bindir}/gfix
%{_bindir}/gpre
%{_bindir}/gsec
%{_bindir}/gsplit
%{_bindir}/gstat-fb
%{_bindir}/isql-fb
%{_bindir}/nbackup
%{_bindir}/qli

# ----------------------------------------------------------------------------

%package -n libfbclient2
Summary:        Firebird RDBMS client library
Group:          System/Libraries
Requires:       %{name} >= 3.0
Requires:       libib_util
Provides:       libfbembed2_5 = %{version}
Obsoletes:      libfbembed2_5 < 3

%description -n libfbclient2
Shared client library for Firebird SQL server. Can be used both to
connect to remote servers and to access local databases in embedded
mode.

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 libfbclient2
%defattr(-,root,root)
%{_libdir}/libfbclient.so.*

%post -n libfbclient2 -p /sbin/ldconfig

%postun -n libfbclient2
/sbin/ldconfig

# ----------------------------------------------------------------------------

%package -n libfbclient-devel
Summary:        Development files for Firebird RDBMS client library
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       libfbclient2 = %{version}
Suggests:       %{name}-examples
Provides:       libfbclient2-devel = %{version}
Obsoletes:      libfbclient2-devel < 3
Provides:       firebird-devel = %{version}
Obsoletes:      firebird-devel < 3
# temporary workaround for LibreOffice build
# once FB3 is in Factory, libreoffice buildrequires will be fixed
# and this can be removed
Provides:       libfbembed-devel

%description -n libfbclient-devel
This package is needed for development of client applications accessing
Firebird RDBMS.

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 libfbclient-devel
%defattr(-,root,root)
%exclude %{_includedir}/%{name}/ib_util.h
%{_includedir}/%{name}
%{_libdir}/libfbclient.so
%{_libdir}/pkgconfig/fbclient.pc

# ----------------------------------------------------------------------------

%package -n libib_util
Summary:        Firebird RDBMS UDF support library
Group:          System/Libraries
Requires:       %{name} = %{version}

%description -n libib_util
Library providing utility functions for Firebird RDBMS user defined
functions (UDF).

Note: this library may be also loaded via dlopen() by Engine12
plugin as it's also needed for embedded connections (as long as UDFs
are used).

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 libib_util
%defattr(-,root,root)
%{_libdir}/libib_util.so

%post -n libib_util -p /sbin/ldconfig

%postun -n libib_util
/sbin/ldconfig

# ----------------------------------------------------------------------------

%package -n libib_util-devel
Summary:        Development files for Firebird RDBMS
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       libfbclient2 = %{version}
Requires:       libib_util = %{version}
Suggests:       %{name}-examples
Provides:       firebird-devel:%{_includedir}/firebird/ib_util.h

%description -n libib_util-devel
This package provides header files for libib_util, support library for
user defined functions (UDF) for Firebird RDBMS.

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 libib_util-devel
%defattr(-,root,root)
%{_includedir}/%{name}/ib_util.h

# ----------------------------------------------------------------------------

%package doc
Summary:        Documentation for Firebird RDBMS
Group:          Documentation/Other
Requires:       %{name} = %{version}
%if 0%{?suse_version} > 1110
BuildArch:      noarch
%endif

%description doc
Documentation for Firebird RDBMS.

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 doc
%defattr(-,root,root)
%{_docdir}/%{name}
%exclude %{_docdir}/%{name}/sample
%exclude %{_docdir}/%{name}/IDPLicense.txt
%exclude %{_docdir}/%{name}/IPLicense.txt
%exclude %{_docdir}/%{name}/README.SUSE

# ----------------------------------------------------------------------------

%package examples
Summary:        Example files for Firebird RDBMS
Group:          Documentation/Other
Requires:       %{name} = %{version}

%description examples
This package provides an example database and API usage examples for
Firebird RDBMS.

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 examples
%defattr(-,root,root)
%{_docdir}/%{name}/sample
%dir %{_localstatedir}/lib/%{name}/sample
%attr(0640,firebird,firebird) %{_localstatedir}/lib/%{name}/sample/*

# ----------------------------------------------------------------------------

%changelog
++++++ 50-server.conf ++++++
# Default value Full of DatabaseAccess directive is not very suitable
# for server installations allowing TCP access; restrict the access
# to a directory where databases are supposed to live
DatabaseAccess = Restrict /srv/firebird
++++++ Provide-sized-global-delete-operators-when-compiled-.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Mon, 25 Apr 2016 08:55:36 +0200
Subject: Provide sized global delete operators when compiled in C++14 mode
Patch-mainline: submitted
Git-commit: 038f9fbf559e56032e4cb49eb7ce4c3ead23fda9
References: bsc#964466 CORE-5099

---
 src/common/classes/alloc.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/common/classes/alloc.h b/src/common/classes/alloc.h
index b1026ce2aac4..fda5bfebb0cc 100644
--- a/src/common/classes/alloc.h
+++ b/src/common/classes/alloc.h
@@ -331,6 +331,16 @@ inline void operator delete[](void* mem, 
Firebird::MemoryPool& pool ALLOC_PARAMS
        MemoryPool::globalFree(mem);
 }
 
+#if __cplusplus >= 201402L
+inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) throw()
+{
+       MemoryPool::globalFree(mem);
+}
+inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) throw()
+{
+       MemoryPool::globalFree(mem);
+}
+#endif
 #ifdef DEBUG_GDS_ALLOC
 
 #ifdef __clang__
-- 
2.8.2

++++++ README.SUSE ++++++
This file focuses on topics specific to openSUSE / SLE packages. For
generic Firebird introduction, read Firebird 3 Quickstart and Release
Notes documents (both provided in firebird-doc package).


1. Upgrade from version 2.5
---------------------------

Firebird 3 brings some incompatible changes which make fully automated
upgrade of existing 2.5 setups impossible.

First, new database file format (On-disk structure, ODS) is used. To
migrate existing databases, backup them with gbak before the upgrade and
restore after the upgrade.

Second, new authentication scheme is used by default so that old
security databases (with users and passwords) cannot be migrated. You
can either create a new security database from scratch as described in

  
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-initsec.html

or migrate the old one (without passwords) as described in

  
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-upgrade-secdb.html

Both sections are also available in firebird-doc package in file

  /usr/share/doc/packages/firebird/ReleaseNotes.pdf

Chapter 12 "Compatibility Issues" of release notes also lists other
possible incompatibilities and is worth reading for anyone upgrading
from Firebird 2.5 to 3.0 for the first time.


2. Packaging
------------

Package firebird contains only common files needed both for client and
server installations. The rest is divided into subpackages:

  firebird-server     - server functionality
  libfbclient2        - client library (both remote and embedded)
  libib_util          - utility functions for UDF
  firebird-utils      - management utilities
  firebird-doc        - documentation
  libfbclient-devel   - devel files for libfbclient2
  libib_util-devel    - devel files for libib_util
  firebird-examples   - example database and API examples

Two of Firebird utilities - isql and gstat - have names colliding with
tools from other packages. They have been renamed to isql-fb and
gstat-fb respectively.

Unlike in pre-3.0 versions, Firebird 3 provides one executable which can
handle all three threading modes (Classic, SuperClassic and SuperServer)
depending on ServerMode directive in firebird.conf. The client library
libfbclient2 can now be used both to connect to remote servers and to
access local database files in embedded mode. 

By default, the server listens on TCP port 3050 to both IPv4 and IPv6
connections. This can be configured using RemoteBindAddress,
RemoteServicePort and IPv6V6Only directives.


3. Configuration
----------------

Unlike in Firebird 2.5, no default sysdba password is set by default.
Before using Firebird 3.0, one needs to initialize the security database
as described in

  
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-initsec.html

(or section "Initializing the Security Database" of release notes
provided in /usr/share/doc/packages/firebird/ReleaseNotes.pdf (package
firebird-doc).

Config files are in /etc/firebird. Default config files are mostly the
same as upstream defaults, the only difference is default value of
DatabaseAccess directive. As upstream default "Full" can be considered
a security flaw, SUSE packages use "Restrict /srv/firebird". To use
a database in different location, either modify the DatabaseAccess
directive or define an alias for it in aliases.conf.


4. Starting the server
----------------------

Set the ServerMode directive in firebird.conf to your preferred
operating mode. Then start the server:

- SuperServer or SuperClassic:

  * once: /etc/init.d/firebird start
  * always: insserv firebird

- Classic:

  * in /etc/xinetd.d/firebird, change value of "disable" to "yes"
  * check if xinetd is running and reload its configuration or start it

++++++ add-pkgconfig-files.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Tue, 12 Jun 2012 14:32:44 +0200
Subject: add pkgconfig files

---
 builds/install/arch-specific/linux/misc/fbclient.pc.in | 10 ++++++++++
 configure.ac                                           |  1 +
 2 files changed, 11 insertions(+)
 create mode 100644 builds/install/arch-specific/linux/misc/fbclient.pc.in

diff --git a/builds/install/arch-specific/linux/misc/fbclient.pc.in 
b/builds/install/arch-specific/linux/misc/fbclient.pc.in
new file mode 100644
index 000000000000..d49fdc5821c5
--- /dev/null
+++ b/builds/install/arch-specific/linux/misc/fbclient.pc.in
@@ -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}/firebird
+Libs: -L${libdir} -lfbclient
diff --git a/configure.ac b/configure.ac
index 3e65f10d2a34..c7abfa06d468 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1215,6 +1215,7 @@ case "$PLATFORM" in
         
gen/install/misc/firebird.init.d.gentoo:builds/install/arch-specific/linux/firebird.init.d.gentoo.in
         
gen/install/misc/firebird.init.d.slackware:builds/install/arch-specific/linux/firebird.init.d.slackware.in
         
gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/rc.config.firebird.in
+        
gen/install/misc/fbclient.pc:builds/install/arch-specific/linux/misc/fbclient.pc.in
         
gen/Release/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/linuxLibrary.sh.in
         
gen/install/misc/[email protected]:builds/install/arch-specific/linux/firebird-classic.service.in
         
gen/install/misc/firebird-classic.socket:builds/install/arch-specific/linux/firebird-classic.socket.in
-- 
2.8.1

++++++ baselibs.conf ++++++
libib_util
    +/usr/lib(64)?/libib_util.so
libfbclient2
    +/usr/lib(64)?/libfbclient.*
++++++ disable-xinetd-service-by-default.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Tue, 12 Jun 2012 14:09:14 +0200
Subject: disable xinetd service by default

In default xinetd service file, disable the service by default.
Also start the server as user firebird, not root.
---
 builds/install/arch-specific/linux/firebird.xinetd.in | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/builds/install/arch-specific/linux/firebird.xinetd.in 
b/builds/install/arch-specific/linux/firebird.xinetd.in
index 3f3c46819cb0..aca87f8fc19f 100644
--- a/builds/install/arch-specific/linux/firebird.xinetd.in
+++ b/builds/install/arch-specific/linux/firebird.xinetd.in
@@ -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
-- 
2.8.1

++++++ fbguard-allow-creating-a-guard-pidfile.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 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/src/utilities/guard/guard.cpp b/src/utilities/guard/guard.cpp
index 2727bdf25756..60f9b090241a 100644
--- a/src/utilities/guard/guard.cpp
+++ b/src/utilities/guard/guard.cpp
@@ -91,6 +91,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;
@@ -116,9 +117,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;
@@ -213,6 +218,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)
@@ -283,6 +304,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
-- 
2.8.1

++++++ firebird-clean-tar.sh ++++++
#!/usr/bin/env bash
#
# Remove documentation files from source archives 
# 
# Copyright (c) Andreas Stieger <[email protected]>
#
# 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.
#
set -ev

FIREBIRD_VERSION=`rpm -q --queryformat "%{version}\n" --specfile firebird.spec 
| head -n1`
FIREBIRD_VERSION=${FIREBIRD_VERSION}-0

bzip2 -dkv Firebird-${FIREBIRD_VERSION}.tar.bz2
tar -v --wildcards --delete -f Firebird-${FIREBIRD_VERSION}.tar \
        "Firebird-${FIREBIRD_VERSION}/extern/SfIO"
xz -9 -v Firebird-${FIREBIRD_VERSION}.tar

++++++ unicode-handle-new-SUSE-ICU-version-hack.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Wed, 4 Jul 2018 13:36:57 +0200
Subject: unicode: handle new SUSE ICU version hack
Patch-mainline: Never, SUSE specific
References: bsc#1095425

Right after upstream adopted changes allowing compatibility with the way
openSUSE names ICU libraries, openSUSE came with another hack: to
distinguish ICU libraries built with U_CHARSET_IS_UTF8=0 from those built
with upstream default (1), openSUSE packages added "suse" to soname as
the change affects library ABI.

Add "suse%d.%d" to soname patterns tested when searching for ICU libraries.
---
 src/common/unicode_util.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/src/common/unicode_util.cpp
+++ b/src/common/unicode_util.cpp
@@ -343,7 +343,7 @@ static ModuleLoader::Module* formatAndLoad(const char* 
templateName,
        // ICU has several schemas for placing version into file name
        const char* patterns[] =
        {
-               "%d", "%d_%d", "%d%d", NULL
+               "suse%d.%d", "%d", "%d_%d", "%d%d", NULL
        };
 
        PathName s, filename;
++++++ use-C-98-on-SLE11.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Sat, 3 Mar 2018 17:45:37 +0100
Subject: use C++98 on SLE11
Patch-mainline: Never, SLE11 compatibility hack

The gcc version in SLE11 (4.3) doesn't recognize -std=gnu++03 yet. Use
older gnu++98 (C++98 with GNU extensions) instead.
---
 builds/posix/prefix.linux         | 2 +-
 builds/posix/prefix.linux_amd64   | 2 +-
 builds/posix/prefix.linux_generic | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

--- a/builds/posix/prefix.linux
+++ b/builds/posix/prefix.linux
@@ -19,7 +19,7 @@
 # 2 Oct 2002, Nickolay Samofatov - Major cleanup
 
 COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC 
-fmessage-length=0 -fno-delete-null-pointer-checks
-CXXFLAGS=-std=gnu++03
+CXXFLAGS=-std=gnu++98
 OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer
 WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas 
-Wno-unused-variable -Wno-narrowing
 
--- a/builds/posix/prefix.linux_amd64
+++ b/builds/posix/prefix.linux_amd64
@@ -19,7 +19,7 @@
 # 2 Oct 2002, Nickolay Samofatov - Major cleanup
 
 COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD 
-fPIC -fmessage-length=0 -fno-delete-null-pointer-checks
-CXXFLAGS=-std=gnu++03
+CXXFLAGS=-std=gnu++98
 OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer
 WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas 
-Wno-unused-variable -Wno-invalid-offsetof -Wno-narrowing 
-Wno-unused-local-typedefs
 
--- a/builds/posix/prefix.linux_generic
+++ b/builds/posix/prefix.linux_generic
@@ -19,7 +19,7 @@
 # 2 Oct 2002, Nickolay Samofatov - Major cleanup
 
 COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL 
-fno-delete-null-pointer-checks
-CXXFLAGS=-std=gnu++03
+CXXFLAGS=-std=gnu++98
 
 PROD_FLAGS=-ggdb -O3 $(COMMON_FLAGS)
 DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS) -Wno-non-virtual-dtor
++++++ use-killproc-in-stop-branch-of-SuSE-init-script.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Tue, 12 Jun 2012 14:07:38 +0200
Subject: use killproc in stop branch of SuSE init script

In "stop" branch of SuSE init script, use killproc and fbguard
pidfile.
---
 .../arch-specific/linux/firebird.init.d.suse.in       | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/builds/install/arch-specific/linux/firebird.init.d.suse.in 
b/builds/install/arch-specific/linux/firebird.init.d.suse.in
index 5f3e33cd26b8..b5787ebdde09 100644
--- a/builds/install/arch-specific/linux/firebird.init.d.suse.in
+++ b/builds/install/arch-specific/linux/firebird.init.d.suse.in
@@ -43,6 +43,7 @@ test "$START_FIREBIRD" = yes || exit 0
 
 FIREBIRD=@FB_CONFDIR@
 FBRunUser=firebird
+FBRunGroup=firebird
 INSTANCE=default
 
 makeFbDir() {
@@ -55,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
 
@@ -116,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
@@ -126,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
-- 
2.8.1

++++++ work-around-g-problem-in-SLE11.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Wed, 29 Jun 2016 08:42:27 +0200
Subject: work around g++ problem in SLE11
Patch-mainline: Never, workaround for a bug in old g++

SLE11 version of g++ requires full template parameters when referencing
a base class constructor. As Firebird 3 code uses only class name in
several places, patch it to add full base class specification if built
on SLE11 (or anything older than OpenSuSE 11.4).

Another problem is the MAX_TRA_NUMBER constant: old g++ requires it to
be explicitely marked with LL suffix if it exceeds the range of long int.
---
 src/common/StatusHolder.h        |  4 ++--
 src/common/classes/alloc.cpp     |  6 +++---
 src/include/firebird/Interface.h |  4 ++--
 src/jrd/Mapping.cpp              |  4 ++--
 src/jrd/constants.h              |  2 +-
 src/jrd/trace/TraceObjects.h     |  4 ++--
 src/yvalve/YObjects.h            |  2 +-
 src/yvalve/why.cpp               | 19 ++++++++++---------
 8 files changed, 23 insertions(+), 22 deletions(-)

--- a/src/common/StatusHolder.h
+++ b/src/common/StatusHolder.h
@@ -141,7 +141,7 @@ class DynamicStatusVector : public 
DynamicVector<ISC_STATUS_LENGTH>
 {
 public:
        DynamicStatusVector()
-               : DynamicVector(*getDefaultMemoryPool())
+               : DynamicVector<ISC_STATUS_LENGTH>(*getDefaultMemoryPool())
        { }
 
        ISC_STATUS load(const IStatus* status);
@@ -254,7 +254,7 @@ class StatusHolder : public BaseStatus<StatusHolder>
 {
 public:
        StatusHolder()
-               : BaseStatus(*getDefaultMemoryPool()), m_raised(false)
+               : BaseStatus<StatusHolder>(*getDefaultMemoryPool()), 
m_raised(false)
        { }
 
        ISC_STATUS save(IStatus* status);
--- a/src/common/classes/alloc.cpp
+++ b/src/common/classes/alloc.cpp
@@ -502,7 +502,7 @@ public:
        {
                MemBlock* rc = new(memory) MemBlock(size);
 
-               MemBaseHunk::newBlock(size);
+               MemBaseHunk<MemSmallHunk>::newBlock(size);
 
                return rc;
        }
@@ -537,7 +537,7 @@ private:
 
 public:
        MemMediumHunk(MemMediumHunk** top, size_t spaceAllocated)
-               : MemBaseHunk(spaceAllocated, hdrSize()),
+               : MemBaseHunk<MemMediumHunk>(spaceAllocated, hdrSize()),
                  prev(NULL),
                  useCount(0)
        {
@@ -564,7 +564,7 @@ public:
        {
                MemBlock* rc = new(memory) MemBlock(size, this);
 
-               MemBaseHunk::newBlock(size);
+               MemBaseHunk<MemMediumHunk>::newBlock(size);
                incrUsage();
 
                return rc;
--- a/src/include/firebird/Interface.h
+++ b/src/include/firebird/Interface.h
@@ -300,7 +300,7 @@ namespace Firebird
        {
        public:
                CheckStatusWrapper(IStatus* aStatus)
-                       : BaseStatusWrapper(aStatus)
+                       : BaseStatusWrapper<CheckStatusWrapper>(aStatus)
                {
                }
 
@@ -314,7 +314,7 @@ namespace Firebird
        {
        public:
                ThrowStatusWrapper(IStatus* aStatus)
-                       : BaseStatusWrapper(aStatus)
+                       : BaseStatusWrapper<ThrowStatusWrapper>(aStatus)
                {
                }
 
--- a/src/jrd/Mapping.cpp
+++ b/src/jrd/Mapping.cpp
@@ -909,11 +909,11 @@ class DbHandle : public AutoPtr<IAttachment, 
SimpleRelease>
 {
 public:
        DbHandle()
-               : AutoPtr()
+               : AutoPtr<IAttachment, SimpleRelease>()
        { }
 
        DbHandle(IAttachment* att)
-               : AutoPtr(att)
+               : AutoPtr<IAttachment, SimpleRelease>(att)
        {
                if (att)
                        att->addRef();
--- a/src/jrd/constants.h
+++ b/src/jrd/constants.h
@@ -444,7 +444,7 @@ const int DDL_TRIGGER_DROP_MAPPING                          
= 47;
 #define PASSWORD_SWITCH "PASSWORD"
 
 // The highest transaction number possible
-const TraNumber MAX_TRA_NUMBER = 0x0000FFFFFFFFFFFF;   // ~2.8 * 10^14
+const TraNumber MAX_TRA_NUMBER = 0x0000FFFFFFFFFFFFLL; // ~2.8 * 10^14
 
 // Number of streams, conjuncts, indices that will be statically allocated
 // in various arrays. Larger numbers will have to be allocated dynamically
--- a/src/jrd/trace/TraceObjects.h
+++ b/src/jrd/trace/TraceObjects.h
@@ -147,7 +147,7 @@ class TraceBLRStatementImpl : public 
BLRPrinter<TraceBLRStatementImpl>
 {
 public:
        TraceBLRStatementImpl(const jrd_req* stmt, Firebird::PerformanceInfo* 
perf) :
-               BLRPrinter(stmt->getStatement()->blr.begin(), 
stmt->getStatement()->blr.getCount()),
+               
BLRPrinter<TraceBLRStatementImpl>(stmt->getStatement()->blr.begin(), 
stmt->getStatement()->blr.getCount()),
                m_stmt(stmt),
                m_perf(perf)
        {}
@@ -165,7 +165,7 @@ class TraceFailedBLRStatement : public 
BLRPrinter<TraceFailedBLRStatement>
 {
 public:
        TraceFailedBLRStatement(const unsigned char* blr, unsigned length) :
-               BLRPrinter(blr, length)
+               BLRPrinter<TraceFailedBLRStatement>(blr, length)
        {}
 
        ISC_INT64 getStmtID()           { return 0; }
--- a/src/yvalve/YObjects.h
+++ b/src/yvalve/YObjects.h
@@ -286,7 +286,7 @@ public:
 
 private:
        YTransaction(YTransaction* from)
-               : YHelper(from->next),
+               : YHelper<YTransaction, 
Firebird::ITransactionImpl<YTransaction, Firebird::CheckStatusWrapper> 
>(from->next),
                  attachment(from->attachment.get()),
                  childBlobs(getPool()),
                  childCursors(getPool()),
--- a/src/yvalve/why.cpp
+++ b/src/yvalve/why.cpp
@@ -3751,7 +3751,8 @@ YHelper<Impl, Intf>::YHelper(NextInterface* aNext)
 
 
 YEvents::YEvents(YAttachment* aAttachment, IEvents* aNext, IEventCallback* 
aCallback)
-       : YHelper(aNext), attachment(aAttachment), callback(aCallback)
+       : YHelper<YEvents, Firebird::IEventsImpl<YEvents, 
Firebird::CheckStatusWrapper> >(aNext),
+         attachment(aAttachment), callback(aCallback)
 {
        aAttachment->childEvents.add(this);
 }
@@ -3809,7 +3810,7 @@ void YEvents::cancel(CheckStatusWrapper* status)
 
 
 YRequest::YRequest(YAttachment* aAttachment, IRequest* aNext)
-       : YHelper(aNext),
+       : YHelper<YRequest, Firebird::IRequestImpl<YRequest, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(aAttachment),
          userHandle(NULL)
 {
@@ -3950,7 +3951,7 @@ void YRequest::free(CheckStatusWrapper* status)
 
 
 YBlob::YBlob(YAttachment* aAttachment, YTransaction* aTransaction, IBlob* 
aNext)
-       : YHelper(aNext),
+       : YHelper<YBlob, Firebird::IBlobImpl<YBlob, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(aAttachment),
          transaction(aTransaction)
 {
@@ -4076,7 +4077,7 @@ int YBlob::seek(CheckStatusWrapper* status, int mode, int 
offset)
 
 
 YStatement::YStatement(YAttachment* aAttachment, IStatement* aNext)
-       : YHelper(aNext),
+       : YHelper<YStatement, Firebird::IStatementImpl<YStatement, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(aAttachment), cursor(NULL), input(true), output(false)
 {
        attachment.get()->childStatements.add(this);
@@ -4464,7 +4465,7 @@ FB_BOOLEAN IscStatement::fetch(CheckStatusWrapper* 
status, IMessageMetadata* out
 
 
 YResultSet::YResultSet(YAttachment* anAttachment, YTransaction* aTransaction, 
IResultSet* aNext)
-       : YHelper(aNext),
+       : YHelper<YResultSet, Firebird::IResultSetImpl<YResultSet, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(anAttachment),
          transaction(aTransaction),
          statement(NULL)
@@ -4475,7 +4476,7 @@ YResultSet::YResultSet(YAttachment* anAttachment, 
YTransaction* aTransaction, IR
 
 YResultSet::YResultSet(YAttachment* anAttachment, YTransaction* aTransaction,
                        YStatement* aStatement, IResultSet* aNext)
-       : YHelper(aNext),
+       : YHelper<YResultSet, Firebird::IResultSetImpl<YResultSet, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(anAttachment),
          transaction(aTransaction),
          statement(aStatement)
@@ -4701,7 +4702,7 @@ void YResultSet::close(CheckStatusWrapper* status)
 
 
 YTransaction::YTransaction(YAttachment* aAttachment, ITransaction* aNext)
-       : YHelper(aNext),
+       : YHelper<YTransaction, Firebird::ITransactionImpl<YTransaction, 
Firebird::CheckStatusWrapper> >(aNext),
          attachment(aAttachment),
          childBlobs(getPool()),
          childCursors(getPool()),
@@ -4966,7 +4967,7 @@ YTransaction* YTransaction::enterDtc(CheckStatusWrapper* 
status)
 
 
 YAttachment::YAttachment(IProvider* aProvider, IAttachment* aNext, const 
PathName& aDbPath)
-       : YHelper(aNext),
+       : YHelper<YAttachment, Firebird::IAttachmentImpl<YAttachment, 
Firebird::CheckStatusWrapper> >(aNext),
          provider(aProvider),
          dbPath(getPool(), aDbPath),
          childBlobs(getPool()),
@@ -5543,7 +5544,7 @@ void YAttachment::getNextTransaction(CheckStatusWrapper* 
status, ITransaction* t
 
 
 YService::YService(IProvider* aProvider, IService* aNext, bool utf8)
-       : YHelper(aNext),
+       : YHelper<YService, Firebird::IServiceImpl<YService, 
Firebird::CheckStatusWrapper> >(aNext),
          provider(aProvider),
          utf8Connection(utf8)
 {
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/[email protected]

Reply via email to