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

Reply via email to