2018-04-09 11:47 Manuel A. Fernandez Montecelo:
2018-04-09 02:02 Manuel A. Fernandez Montecelo:
So this will need more work, but please keep the bug open so either
myself or other people can investigate.
I was able to build with the patch attached.
This package is quite important in Debian because Qt depends on it, so
many hundreds of packages or even thousands depend on it indirectly.
We have to keep building a special version of this package every time
that you release a new version or there's a binNMU, or otherwise Qt
might stop compiling, so it's quite a lot of work for us.
Will you please be able to include it in the next uploads?
Another question. I am not sure if this patch that I picked from
upstream will aready appear in 3.0.4 or next versions of 3.x, or it's
only targetted for future major versions that might take years to arrive
in Debian. If you know the reply to this, please tell.
The patch might need some cleanup, but this also depends on when the
upstream patch will enter Debian. It would be nice if this patch from
upstream is included soon and we could rebase the patch, so the delta
carried by Debian is minimal, or even non-existent :-)
Cheers,
--
Manuel A. Fernandez Montecelo <manuel.montez...@gmail.com>
diff -Nru firebird3.0-3.0.3.32900.ds4/debian/changelog
firebird3.0-3.0.3.32900.ds4/debian/changelog
--- firebird3.0-3.0.3.32900.ds4/debian/changelog 2018-04-20
15:42:14.000000000 +0200
+++ firebird3.0-3.0.3.32900.ds4/debian/changelog 2018-05-17
22:33:51.000000000 +0200
@@ -1,3 +1,19 @@
+firebird3.0 (3.0.3.32900.ds4-3+0.riscv64.1) unreleased; urgency=medium
+
+ * Non-maintainer upload.
+ * Add patch from upstream to add riscv64 support:
+ - riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch, with
+ modifications to apply cleanly:
+ + removed hunk fixing typo in "encyption", fixed separately (in another
+ patch of the series applied to the package in Debian)
+ + removed extra tab in the second line after "backEndianess" (there are
+ only two tabs before the last character, a '1' in the line; in the
+ patch from upstream there are 3, so lines don't match)
+ + fixed whitespace in the hunk for configure.ac
+ + refresh
+
+ -- Manuel A. Fernandez Montecelo <m...@debian.org> Thu, 17 May 2018 22:33:51
+0200
+
firebird3.0 (3.0.3.32900.ds4-3) unstable; urgency=medium
* disable UDFs in firebird.conf due to a remote authenticated code execution
diff -Nru
firebird3.0-3.0.3.32900.ds4/debian/patches/riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch
firebird3.0-3.0.3.32900.ds4/debian/patches/riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch
---
firebird3.0-3.0.3.32900.ds4/debian/patches/riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch
1970-01-01 01:00:00.000000000 +0100
+++
firebird3.0-3.0.3.32900.ds4/debian/patches/riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch
2018-05-17 22:32:54.000000000 +0200
@@ -0,0 +1,145 @@
+From 1e8e7858db84750a77006d307bf28e9686f9414e Mon Sep 17 00:00:00 2001
+From: AlexPeshkoff <alexander.peshk...@gmail.com>
+Date: Wed, 21 Mar 2018 15:19:20 +0300
+Subject: [PATCH] Patch for CORE-5779: support for riscv64, also some code
+ fixes related with prior ports
+
+---
+ configure.ac | 12 ++++++++++++
+ src/common/classes/DbImplementation.cpp | 29 ++++++++++++++++-------------
+ src/common/common.h | 4 ++++
+ src/include/gen/msgs.h | 2 +-
+ src/jrd/inf_pub.h | 2 +-
+ 5 files changed, 34 insertions(+), 15 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -251,6 +251,18 @@
+ libdir=/usr/lib64
+ ;;
+
++ riscv64*-*-linux*)
++ MAKEFILE_PREFIX=linux_riscv64
++ INSTALL_PREFIX=linux
++ PLATFORM=LINUX
++ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
++ EDITLINE_FLG=Y
++ SHRLIB_EXT=so
++ STD_EDITLINE=true
++ STD_ICU=true
++ libdir=/usr/lib64
++ ;;
++
+ powerpc64le-*-linux*)
+ MAKEFILE_PREFIX=linux_powerpc64el
+ INSTALL_PREFIX=linux
+--- a/src/common/classes/DbImplementation.cpp
++++ b/src/common/classes/DbImplementation.cpp
+@@ -49,6 +49,7 @@
+ static const UCHAR CpuArm64 = 15;
+ static const UCHAR CpuPowerPc64el = 16;
+ static const UCHAR CpuM68k = 17;
++static const UCHAR CpuRiscV64 = 18;
+
+ static const UCHAR OsWindows = 0;
+ static const UCHAR OsLinux = 1;
+@@ -89,7 +90,8 @@
+ "Alpha",
+ "ARM64",
+ "PowerPC64el",
+- "M68k"
++ "M68k",
++ "RiscV64"
+ };
+
+ const char* operatingSystem[] = {
+@@ -116,22 +118,23 @@
+ // This table lists pre-fb3 implementation codes
+ const UCHAR backwardTable[FB_NELEM(hardware) * FB_NELEM(operatingSystem)] =
+ {
+-// Intel AMD Sparc PPC
PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH
SHEB HPPA Alpha ARM64 PowerPC64el
+-/* Windows */ 50, 68, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0,
+-/* Linux */ 60, 66, 65, 69,
86, 71, 72, 75, 76,
79, 78, 80, 81, 82, 83,
84, 85,
+-/* Darwin */ 70, 73, 0, 63,
77, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0,
+-/* Solaris */ 0, 0, 30, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0,
+-/* HPUX */ 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 31,
0, 0, 0,
+-/* AIX */ 0, 0, 0,
35, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0,
+-/* MVS */ 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0,
+-/* FreeBSD */ 61, 67, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0,
+-/* NetBSD */ 62, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0
++// Intel AMD Sparc PPC
PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH
SHEB HPPA Alpha ARM64 PPC64el M68k RiscV64
++/* Windows */ 50, 68, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* Linux */ 60, 66, 65, 69,
86, 71, 72, 75, 76,
79, 78, 80, 81, 82, 83,
84, 85, 87, 88,
++/* Darwin */ 70, 73, 0, 63,
77, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* Solaris */ 0, 0, 30, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* HPUX */ 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 31,
0, 0, 0, 0, 0,
++/* AIX */ 0, 0, 0, 35,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* MVS */ 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* FreeBSD */ 61, 67, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
++/* NetBSD */ 62, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0
+ };
+
++
+ const UCHAR backEndianess[FB_NELEM(hardware)] =
+ {
+-// Intel AMD Sparc PPC PPC64 MIPSEL MIPS
ARM IA64 s390 s390x SH SHEB HPPA Alpha
ARM64 PowerPC64el M68k
+- 0, 0, 1, 1, 1,
0, 1, 0, 0, 1,
1, 0, 1, 1, 0,
0, 0, 1
++// Intel AMD Sparc PPC PPC64 MIPSEL MIPS
ARM IA64 s390 s390x SH SHEB HPPA Alpha
ARM64 PPC64el M68k RiscV64
++ 0, 0, 1, 1, 1,
0, 1, 0, 0, 1,
1, 0, 1, 1, 0,
0, 0, 1, 0,
+ };
+
+ } // anonymous namespace
+--- a/src/common/common.h
++++ b/src/common/common.h
+@@ -135,6 +135,10 @@
+ #define FB_CPU CpuArm64
+ #endif /* ARM64 */
+
++#ifdef RISCV64
++#define FB_CPU CpuRiscV64
++#endif /* RISCV64 */
++
+ #ifdef sparc
+ #define FB_CPU CpuUltraSparc
+ #define RISC_ALIGNMENT
+--- a/src/jrd/inf_pub.h
++++ b/src/jrd/inf_pub.h
+@@ -245,7 +245,7 @@
+ isc_info_db_impl_linux_ppc64el = 85,
+ isc_info_db_impl_linux_ppc64 = 86,
+ isc_info_db_impl_linux_m68k = 87,
+-
++ isc_info_db_impl_linux_riscv64 = 88,
+
+ isc_info_db_impl_last_value // Leave this LAST!
+ };
+--- /dev/null
++++ b/builds/posix/prefix.linux_riscv64
+@@ -0,0 +1,27 @@
++# The contents of this file are subject to the Interbase Public
++# License Version 1.0 (the "License"); you may not use this file
++# except in compliance with the License. You may obtain a copy
++# of the License at http://www.Inprise.com/IPL.html
++#
++# Software distributed under the License is distributed on an
++# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
++# or implied. See the License for the specific language governing
++# rights and limitations under the License.
++#
++# The Original Code was created by Inprise Corporation
++# and its predecessors. Portions created by Inprise Corporation are
++# Copyright (C) Inprise Corporation.
++#
++# All Rights Reserved.
++# Contributor(s): ______________________________________.
++# Start of file prefix.linux: $(VERSION) $(PLATFORM)
++# 14 Apr 2008 Alan Barclay alan AT escribe.co.uk
++
++
++#LD=@CXX@
++
++#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DLINUX -pipe -MMD -fPIC
++#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall
-Wno-switch
++
++PROD_FLAGS=-O3 -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -fsigned-char
-fmessage-length=0 -std=gnu++03 -fno-delete-null-pointer-checks
++DEV_FLAGS=-ggdb -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -Wall -fsigned-char
-fmessage-length=0 -Wno-non-virtual-dtor
diff -Nru firebird3.0-3.0.3.32900.ds4/debian/patches/series
firebird3.0-3.0.3.32900.ds4/debian/patches/series
--- firebird3.0-3.0.3.32900.ds4/debian/patches/series 2018-04-20
15:40:13.000000000 +0200
+++ firebird3.0-3.0.3.32900.ds4/debian/patches/series 2018-05-17
22:32:54.000000000 +0200
@@ -1,3 +1,4 @@
+riscv64-support.1e8e7858db84750a77006d307bf28e9686f9414e.patch
out/obsolete-syslogd.target.patch
out/honour-buildflags.patch
out/c++-std.patch