Package: firebird3.0 / 3.0.5.33100.ds4-2

Metadata

Package Version Patches format
firebird3.0 3.0.5.33100.ds4-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
upstream/riscv64 support.patch | (download)

configure.ac | 12 12 + 0 - 0 !
src/common/classes/DbImplementation.cpp | 28 15 + 13 - 0 !
src/common/common.h | 4 4 + 0 - 0 !
src/jrd/inf_pub.h | 2 1 + 1 - 0 !
4 files changed, 32 insertions(+), 14 deletions(-)

---
out/riscv64 prefix.patch | (download)

builds/posix/prefix.linux_riscv64 | 28 28 + 0 - 0 !
1 file changed, 28 insertions(+)

 add builds/posix/prefix.linux_riscv64, missing upstream
 It appears the commit adding RiscV64 support
 (1e8e7858db84750a77006d307bf28e9686f9414e) misses the build prefix file
 Here's one submitted by Manuel A. Fernandez Montecelo
out/obsolete syslogd.target.patch | (download)

builds/install/arch-specific/linux/firebird-superserver.service.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 remove reference to obsolete syslog.target
 Syslog is socket-activated, so no need to declare a dependency on it
out/honour buildflags.patch | (download)

builds/posix/Makefile.in | 2 1 + 1 - 0 !
builds/posix/make.defaults | 4 2 + 2 - 0 !
builds/posix/prefix.linux | 2 1 + 1 - 0 !
builds/posix/prefix.linux_amd64 | 2 1 + 1 - 0 !
builds/posix/prefix.linux_generic | 2 1 + 1 - 0 !
extern/btyacc/Makefile | 2 1 + 1 - 0 !
6 files changed, 7 insertions(+), 7 deletions(-)

 improved support for build flags
 The first change makes linking makeHeader use the same CPP/CXX/LD flags as the
 rest of the sources.
 The second change stops btyacc/Makefile from ignoring CFLAGS from the
 environment.
 The third change stops overriding CXXFLAGS
 The result is using hardening flags from the environment when compiling and
 linking.
out/c++ std.patch | (download)

builds/posix/prefix.freebsd | 4 2 + 2 - 0 !
builds/posix/prefix.freebsd_amd64 | 4 2 + 2 - 0 !
builds/posix/prefix.linux_arm | 2 1 + 1 - 0 !
builds/posix/prefix.linux_arm64 | 2 1 + 1 - 0 !
builds/posix/prefix.linux_ia64 | 2 1 + 1 - 0 !
builds/posix/prefix.linux_mips | 2 1 + 1 - 0 !
builds/posix/prefix.linux_mipsel | 2 1 + 1 - 0 !
builds/posix/prefix.linux_powerpc | 2 1 + 1 - 0 !
builds/posix/prefix.linux_powerpc64 | 2 1 + 1 - 0 !
builds/posix/prefix.linux_powerpc64el | 2 1 + 1 - 0 !
builds/posix/prefix.linux_s390x | 2 1 + 1 - 0 !
builds/posix/prefix.linux_sparc32 | 2 1 + 1 - 0 !
12 files changed, 14 insertions(+), 14 deletions(-)

 add -std=gnu++03 and -fno-delete-null-pointer-checks to all build prefix files
 Firebird 3.0.3 adds these to several prefix files, but not all
 The Debian package stopped adding these flags "by hand", leading to several
 architectures failing to build Firebird 3.0.3:
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=arm64&ver=3.0.3.32900.ds4-1&stamp=1517766258&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=armel&ver=3.0.3.32900.ds4-1&stamp=1517767263&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=armhf&ver=3.0.3.32900.ds4-1&stamp=1517767152&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=mips&ver=3.0.3.32900.ds4-1&stamp=1517767223&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=mipsel&ver=3.0.3.32900.ds4-1&stamp=1517768560&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=ppc64el&ver=3.0.3.32900.ds4-1&stamp=1517765884&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=s390x&ver=3.0.3.32900.ds4-1&stamp=1517765834&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=hppa&ver=3.0.3.32900.ds4-1&stamp=1517770256&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=ia64&ver=3.0.3.32900.ds4-1&stamp=1517766796&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=powerpc&ver=3.0.3.32900.ds4-1&stamp=1517765959&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=ppc64&ver=3.0.3.32900.ds4-1&stamp=1517766499&raw=0
  https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=sparc64&ver=3.0.3.32900.ds4-1&stamp=1517766590&raw=0
out/kfreebsd sse4.patch | (download)

builds/posix/prefix.freebsd | 13 10 + 3 - 0 !
builds/posix/prefix.freebsd_amd64 | 13 10 + 3 - 0 !
2 files changed, 20 insertions(+), 6 deletions(-)

 make prefix.freebsd* similar to prefix.linux
 The -msse4 flag is of particular interest, but also the -std=gnu++03

out/no copy from icu.patch | (download)

builds/posix/Makefile.in | 3 2 + 1 - 0 !
src/isql/isql.epp | 28 0 + 28 - 0 !
2 files changed, 2 insertions(+), 29 deletions(-)

 link isql with icu instead of embedding part of it in the source
out/cloop honour build flags.patch | (download)

extern/cloop/Makefile | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 make cloop build honor compiler/linker flags from the environment
out/spelling.patch | (download)

src/common/isc_sync.cpp | 2 1 + 1 - 0 !
src/include/gen/msgs.h | 2 1 + 1 - 0 !
src/jrd/CryptoManager.cpp | 2 1 + 1 - 0 !
src/msgs/history2.sql | 4 2 + 2 - 0 !
src/msgs/messages2.sql | 2 1 + 1 - 0 !
src/msgs/transmsgs.de_DE2.sql | 2 1 + 1 - 0 !
src/msgs/transmsgs.fr_FR2.sql | 2 1 + 1 - 0 !
src/remote/client/interface.cpp | 2 1 + 1 - 0 !
src/remote/protocol.h | 2 1 + 1 - 0 !
9 files changed, 10 insertions(+), 10 deletions(-)

 spelling error (perfrom -> perform)
out/fbserver startup.patch | (download)

src/remote/inet.cpp | 6 6 + 0 - 0 !
src/utilities/guard/guard.cpp | 31 31 + 0 - 0 !
2 files changed, 37 insertions(+)

 fix fbguard to exit to the os only after fbserver is ready
 Exiting right after forking causes a race condition making it possible that
 the service says it is startew, but the fbserver process isn't ready yet to
 serve requests, because it hasn't called listen() yet.
 .
 The patch makes fbserver send SIGUSR1 to the fbguard parent process, which
 waits for SIGUSR1 before it returns the control to the OS.
Bug-Debian: https://bugs.debian.org/859234
out/cross configure.patch | (download)

configure.ac | 51 22 + 29 - 0 !
1 file changed, 22 insertions(+), 29 deletions(-)

 improve cross buildability

 * Rather than checking $build (the architecture we are building on), we should
   be checking $host. Unfortunately, $host tends to lack the vendor part, so we
   need a tricky sed expression for inserting it. For native builds, $host and
   $build are equal.
 * The check for whether sem_init works only aborts the build in case of
   failure. Since the check cannot be performed during cross building, the only
   sane way is to just assume sem_init to work.
 * Replace a pile of AC_RUN_IFELSE with AC_CHECK_SIZEOF and AC_CHECK_ALIGNOF.
   The latter macros have a slower fallback path for cross compilation that use
   compiler bisection to determine the values.


no binary gbaks.patch | (download)

builds/posix/Makefile.in | 20 3 + 17 - 0 !
1 file changed, 3 insertions(+), 17 deletions(-)

 remove usage of binary .gbak files
#  These can't be in Debian-shipped sources
#
#  help.fbk is removed from Debian sources so we remove mentions of it,
#  together with qli, which needs it
deb/march i486.patch | (download)

builds/posix/prefix.freebsd | 2 1 + 1 - 0 !
builds/posix/prefix.linux | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 lower cpu optimization level to i486, which is the lowest
#  Debian supports
packaged boost.patch | (download)

src/include/firebird/Message.h | 24 12 + 12 - 0 !
1 file changed, 12 insertions(+), 12 deletions(-)

 use system-wide boost headers
deb/no suse.init.patch | (download)

configure.ac | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 remove reference to firebird.init.d.suse.in
 That file isnot present in the repackaged source, since it cannot
 be distributed by Debian -- has copyright statement without license.
deb/gen ids.patch | (download)

builds/posix/Makefile.in | 9 0 + 9 - 0 !
1 file changed, 9 deletions(-)

 re-generate ids.h unconditionally
 We want to create all files from their source
deb/cve 2017 11509.patch | (download)

builds/install/misc/firebird.conf.in | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 disable udfs in firebird.conf
 UDFs can be used for remote code execution. see
 https://www.tenable.com/security/research/tra-2017-36 (CVE-2017-11509)
 http://tracker.firebirdsql.org/browse/CORE-5518
out/hppa mod_loader.patch | (download)

src/common/os/posix/mod_loader.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix mod_loader on hppa
 The problem is dlsym returns a function pointer on hppa when passed the name
 of a function symbol.  It points at a function descriptor for the function
 when the plabel bit is set in the pointer.  The descriptor has an entry which
 points at the function after it has been bound.  Otherwise, it points at
 trampoline code to fix up the descriptor.
 .
 In any case, dladdr doesn't do the expected thing when passed a function
 pointer.  It needs the actual address of the function.
 .
 The attached patch fixes the build on hppa-linux.  Another option would be to
 adjust the configure check.
deb/kfreebsd inet6.patch | (download)

src/remote/SockAddr.h | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 teach sockaddr.h about kfreebsd's af_inet6
out/hurd maxpathlen.patch | (download)

src/common/common.h | 17 9 + 8 - 0 !
src/gpre/gpre.h | 1 1 + 0 - 0 !
2 files changed, 10 insertions(+), 8 deletions(-)

 move fallback definition of maxpathlen outside the winnt block
 helps the hurd build move a bit further
 .
 Additionally, include common.h in gpre.h to get the MAXPATHLEN define
 .
 The effor to build firebird on hurd is tracked at
 <https://bugs.debian.org/626931>