Control: tags 791848 + patch
Control: tags 791848 + pending
Control: tags 803439 + patch
Control: tags 803439 + pending

Dear maintainer,

Chris Knadle has prepared an NMU for zeroc-ice (versioned as
3.5.1-6.3) and I've uploaded it to DELAYED/2. Please feel free to
tell me if I should delay it longer.

Regards.

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Little Walter: Juke
diff -Nru zeroc-ice-3.5.1/debian/changelog zeroc-ice-3.5.1/debian/changelog
--- zeroc-ice-3.5.1/debian/changelog	2015-10-28 17:01:03.000000000 +0100
+++ zeroc-ice-3.5.1/debian/changelog	2015-11-21 08:41:17.000000000 +0100
@@ -1,3 +1,25 @@
+zeroc-ice (3.5.1-6.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/control:
+    - Remove build-depends on hardening-wrapper
+  * debian/libzeroc-ice35v5.lintian-overrides:
+    - Fix override for v5 rename
+  * debian/patches:
+    - Add two patches from upstream git to fix build with ruby2.2:
+          ice-6228-fix-build-with-ruby2.2_1.patch
+          ice-6228-fix-build-with-ruby2.2_2.patch
+      Closes: #791848.
+    - Add patch to switch package to using dpkg-buildflags, as there is a
+      Breaks: in binutils on hardening-wrapper.  See #802579.
+          add-dpkg-buildflags.patch
+  * debian/rules:
+    - Remove lines for hardening-wrapper
+  * Upload will trigger rebuild after update to dh-strip-nondeterminism,
+    should fix bug reported by piuparts.  Closes: #803439.
+
+ -- Christopher Knadle <chris.kna...@coredump.us>  Thu, 19 Nov 2015 20:35:26 -0500
+
 zeroc-ice (3.5.1-6.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru zeroc-ice-3.5.1/debian/control zeroc-ice-3.5.1/debian/control
--- zeroc-ice-3.5.1/debian/control	2015-09-14 12:15:35.000000000 +0200
+++ zeroc-ice-3.5.1/debian/control	2015-11-20 05:39:06.000000000 +0100
@@ -4,7 +4,6 @@
 Maintainer: Francisco Moya <p...@debian.org>
 Uploaders: Cleto Martín <cl...@debian.org>
 Build-Depends: debhelper (>= 9),
-	       hardening-wrapper,
  	       libdb++-dev,
 	       libmcpp-dev (>= 2.7.1),
 	       libreadline-gplv2-dev,
diff -Nru zeroc-ice-3.5.1/debian/libzeroc-ice35v5.lintian-overrides zeroc-ice-3.5.1/debian/libzeroc-ice35v5.lintian-overrides
--- zeroc-ice-3.5.1/debian/libzeroc-ice35v5.lintian-overrides	2013-10-18 23:45:49.000000000 +0200
+++ zeroc-ice-3.5.1/debian/libzeroc-ice35v5.lintian-overrides	2015-11-21 07:45:06.000000000 +0100
@@ -1,2 +1,2 @@
-# libzeroc-ice35 also contains version number
-libzeroc-ice35: package-name-doesnt-match-sonames
+# libzeroc-ice35v5 also contains version number
+libzeroc-ice35v5: package-name-doesnt-match-sonames
diff -Nru zeroc-ice-3.5.1/debian/patches/add-dpkg-buildflags.patch zeroc-ice-3.5.1/debian/patches/add-dpkg-buildflags.patch
--- zeroc-ice-3.5.1/debian/patches/add-dpkg-buildflags.patch	1970-01-01 01:00:00.000000000 +0100
+++ zeroc-ice-3.5.1/debian/patches/add-dpkg-buildflags.patch	2015-11-21 06:45:03.000000000 +0100
@@ -0,0 +1,66 @@
+Description: switches to build hardening via dpkg-buildlfags.
+ zeroc-ice fails to build with hardening-wrapper due to a Breaks:  in binutils
+ on hardening-wrapper.  See #802579.  Additionally lintian considers a
+ build-depends on hardening-wrapper to be an Error, and there is other signs
+ that it is deprecated, so the only reasonable way to fix the build is to
+ switch the package to using dpkg-buildflags.
+Author: Christopher Knadle <chris.kna...@cordump.us>
+Last-Updated: 2015-11-21
+
+--- a/cpp/config/Make.rules.Linux
++++ b/cpp/config/Make.rules.Linux
+@@ -33,6 +33,11 @@
+ 
+ ifeq ($(CXX),g++)
+ 
++    # Add Debian hardening via dpkg-buildflags
++    CPPFLAGS += $(shell dpkg-buildflags --get CPPFLAGS)
++    CXXARCHFLAGS += $(shell dpkg-buildflags --get CXXFLAGS)
++    CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
++
+     ifneq ($(SUSE_i586),)
+         CXXARCHFLAGS	+= -march=i586
+     endif
+@@ -110,6 +115,9 @@
+ 
+    LDPLATFORMFLAGS	+= -rdynamic
+ 
++   # Add Debian hardening via dpkg-buildflags
++   LDPLATFORMFLAGS	+= $(shell dpkg-buildflags --get LDFLAGS)
++
+ endif
+ 
+ ifeq ($(CXX),icpc)
+--- a/php/config/Make.rules.php
++++ b/php/config/Make.rules.php
+@@ -136,7 +136,7 @@
+     runpath_libdir      := $(embedded_runpath_prefix)/lib$(lp64suffix)
+ endif
+ 
+-CPPFLAGS		=
++CPPFLAGS		= $(shell dpkg-buildflags --get CPPFLAGS)
+ ICECPPFLAGS		= -I$(slicedir)
+ SLICE2PHPFLAGS		= $(ICECPPFLAGS)
+ LDFLAGS			= $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
+--- a/py/config/Make.rules
++++ b/py/config/Make.rules
+@@ -135,7 +135,7 @@
+    runpath_libdir	:= $(embedded_runpath_prefix)/$(libsubdir)
+ endif
+ 
+-CPPFLAGS		=
++CPPFLAGS		= $(shell dpkg-buildflags --get CPPFLAGS)
+ ICECPPFLAGS		= -I$(slicedir)
+ SLICE2PYFLAGS		= $(ICECPPFLAGS)
+ LDFLAGS			= $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
+--- a/rb/config/Make.rules
++++ b/rb/config/Make.rules
+@@ -166,7 +166,7 @@
+     runpath_libdir	:= $(embedded_runpath_prefix)/$(libsubdir)
+ endif
+ 
+-CPPFLAGS		=
++CPPFLAGS		= $(shell dpkg-buildflags --get CPPFLAGS)
+ ICECPPFLAGS		= -I$(slicedir)
+ SLICE2RBFLAGS		= $(ICECPPFLAGS)
+ LDFLAGS			= $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
diff -Nru zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_1.patch zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_1.patch
--- zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_1.patch	1970-01-01 01:00:00.000000000 +0100
+++ zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_1.patch	2015-11-21 06:48:44.000000000 +0100
@@ -0,0 +1,108 @@
+Description: patch [1 of 2] to fix the build with ruby2.2
+Origin: https://github.com/zeroc-ice/ice/commit/5bd52c249b9cb99125d38a1060dcf160c2ca0b91
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791848
+From 5bd52c249b9cb99125d38a1060dcf160c2ca0b91 Mon Sep 17 00:00:00 2001
+From: Jose <j...@zeroc.com>
+Date: Mon, 9 Feb 2015 20:20:50 +0100
+Subject: Fixed (ICE-6288) - Ruby extension does not compile with Ruby 2.2.0
+Last-Updated: 2015-11-21
+
+---
+ rb/src/IceRuby/Config.h | 81 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 81 insertions(+)
+
+diff --git a/rb/src/IceRuby/Config.h b/rb/src/IceRuby/Config.h
+index d0649dd..f7b0bef 100644
+--- a/rb/src/IceRuby/Config.h
++++ b/rb/src/IceRuby/Config.h
+@@ -36,6 +36,87 @@
+ 
+ 
+ #include <ruby.h>
++#include <ruby/version.h>
++
++#if defined(RUBY_API_VERSION_CODE) && RUBY_API_VERSION_CODE >= 20200
++//
++// Since ruby 2.2.0 the macros to convert Bignum to long are 
++// not public. We define here our own version.
++//
++# ifndef BDIGIT
++#  if SIZEOF_INT*2 <= SIZEOF_LONG_LONG
++#   define BDIGIT unsigned int
++#   define SIZEOF_BDIGIT SIZEOF_INT
++#   define BDIGIT_DBL unsigned LONG_LONG
++#  elif SIZEOF_INT*2 <= SIZEOF_LONG
++#   define BDIGIT unsigned int
++#   define SIZEOF_BDIGIT SIZEOF_INT
++#   define BDIGIT_DBL unsigned long
++#  elif SIZEOF_SHORT*2 <= SIZEOF_LONG
++#   define BDIGIT unsigned short
++#   define SIZEOF_BDIGIT SIZEOF_SHORT
++#   define BDIGIT_DBL unsigned long
++#  else
++#   define BDIGIT unsigned short
++#   define SIZEOF_BDIGIT (SIZEOF_LONG/2)
++#   define SIZEOF_ACTUAL_BDIGIT SIZEOF_LONG
++#   define BDIGIT_DBL unsigned long
++#  endif
++# endif
++# ifndef SIZEOF_ACTUAL_BDIGIT
++#  define SIZEOF_ACTUAL_BDIGIT SIZEOF_BDIGIT
++# endif
++
++# define BIGNUM_EMBED_LEN_NUMBITS 3
++# ifndef BIGNUM_EMBED_LEN_MAX
++#  if (SIZEOF_VALUE*3/SIZEOF_ACTUAL_BDIGIT) < (1 << BIGNUM_EMBED_LEN_NUMBITS)-1
++#    define BIGNUM_EMBED_LEN_MAX (SIZEOF_VALUE*3/SIZEOF_ACTUAL_BDIGIT)
++#  else
++#    define BIGNUM_EMBED_LEN_MAX ((1 << BIGNUM_EMBED_LEN_NUMBITS)-1)
++#  endif
++# endif
++
++struct RBignum {
++    struct RBasic basic;
++    union {
++        struct {
++            size_t len;
++            BDIGIT *digits;
++        } heap;
++        BDIGIT ary[BIGNUM_EMBED_LEN_MAX];
++    } as;
++};
++
++# define BIGNUM_SIGN_BIT FL_USER1
++/* sign: positive:1, negative:0 */
++# define BIGNUM_SIGN(b) ((RBASIC(b)->flags & BIGNUM_SIGN_BIT) != 0)
++# define BIGNUM_SET_SIGN(b,sign) \
++  ((sign) ? (RBASIC(b)->flags |= BIGNUM_SIGN_BIT) \
++          : (RBASIC(b)->flags &= ~BIGNUM_SIGN_BIT))
++# define BIGNUM_POSITIVE_P(b) BIGNUM_SIGN(b)
++# define BIGNUM_NEGATIVE_P(b) (!BIGNUM_SIGN(b))
++
++# define BIGNUM_EMBED_FLAG FL_USER2
++# define BIGNUM_EMBED_LEN_MASK (FL_USER5|FL_USER4|FL_USER3)
++# define BIGNUM_EMBED_LEN_SHIFT (FL_USHIFT+BIGNUM_EMBED_LEN_NUMBITS)
++# define BIGNUM_LEN(b) \
++    ((RBASIC(b)->flags & BIGNUM_EMBED_FLAG) ? \
++     (long)((RBASIC(b)->flags >> BIGNUM_EMBED_LEN_SHIFT) & \
++            (BIGNUM_EMBED_LEN_MASK >> BIGNUM_EMBED_LEN_SHIFT)) : \
++     RBIGNUM(b)->as.heap.len)
++/* LSB:BIGNUM_DIGITS(b)[0], MSB:BIGNUM_DIGITS(b)[BIGNUM_LEN(b)-1] */
++# define BIGNUM_DIGITS(b) \
++    ((RBASIC(b)->flags & BIGNUM_EMBED_FLAG) ? \
++     RBIGNUM(b)->as.ary : \
++     RBIGNUM(b)->as.heap.digits)
++# define BIGNUM_LENINT(b) rb_long2int(BIGNUM_LEN(b))
++
++# define RBIGNUM(obj) (R_CAST(RBignum)(obj))
++
++# define RBIGNUM_LEN(v) BIGNUM_LEN(v)
++# define RBIGNUM_DIGITS(v) BIGNUM_DIGITS(v)
++# define SIZEOF_BDIGITS SIZEOF_BDIGIT
++#endif
+ 
+ //
+ // The Ruby header file win32/win32.h defines a number of macros for
+-- 
+2.6.2
+
diff -Nru zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_2.patch zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_2.patch
--- zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_2.patch	1970-01-01 01:00:00.000000000 +0100
+++ zeroc-ice-3.5.1/debian/patches/ice-6228-fix-build-with-ruby2.2_2.patch	2015-11-21 06:48:53.000000000 +0100
@@ -0,0 +1,258 @@
+Description: patch [2 of 2] to fix the build with ruby2.2
+Origin: https://github.com/zeroc-ice/ice/commit/e55ff293f56d18810e73c1495c0a93c2372735cc
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791848
+From e55ff293f56d18810e73c1495c0a93c2372735cc Mon Sep 17 00:00:00 2001
+From: Jose <j...@zeroc.com>
+Date: Tue, 10 Feb 2015 11:24:32 +0100
+Subject: Simplify fix for (ICE-6288) to not depend on ruby internals
+Last-Updated: 2015-11-21
+
+---
+ rb/src/IceRuby/Config.h | 102 ------------------------------------------------
+ rb/src/IceRuby/Util.cpp |  99 +++++++++++++++++++++-------------------------
+ 2 files changed, 45 insertions(+), 156 deletions(-)
+
+diff --git a/rb/src/IceRuby/Config.h b/rb/src/IceRuby/Config.h
+index f7b0bef..82e755a 100644
+--- a/rb/src/IceRuby/Config.h
++++ b/rb/src/IceRuby/Config.h
+@@ -36,87 +36,6 @@
+ 
+ 
+ #include <ruby.h>
+-#include <ruby/version.h>
+-
+-#if defined(RUBY_API_VERSION_CODE) && RUBY_API_VERSION_CODE >= 20200
+-//
+-// Since ruby 2.2.0 the macros to convert Bignum to long are 
+-// not public. We define here our own version.
+-//
+-# ifndef BDIGIT
+-#  if SIZEOF_INT*2 <= SIZEOF_LONG_LONG
+-#   define BDIGIT unsigned int
+-#   define SIZEOF_BDIGIT SIZEOF_INT
+-#   define BDIGIT_DBL unsigned LONG_LONG
+-#  elif SIZEOF_INT*2 <= SIZEOF_LONG
+-#   define BDIGIT unsigned int
+-#   define SIZEOF_BDIGIT SIZEOF_INT
+-#   define BDIGIT_DBL unsigned long
+-#  elif SIZEOF_SHORT*2 <= SIZEOF_LONG
+-#   define BDIGIT unsigned short
+-#   define SIZEOF_BDIGIT SIZEOF_SHORT
+-#   define BDIGIT_DBL unsigned long
+-#  else
+-#   define BDIGIT unsigned short
+-#   define SIZEOF_BDIGIT (SIZEOF_LONG/2)
+-#   define SIZEOF_ACTUAL_BDIGIT SIZEOF_LONG
+-#   define BDIGIT_DBL unsigned long
+-#  endif
+-# endif
+-# ifndef SIZEOF_ACTUAL_BDIGIT
+-#  define SIZEOF_ACTUAL_BDIGIT SIZEOF_BDIGIT
+-# endif
+-
+-# define BIGNUM_EMBED_LEN_NUMBITS 3
+-# ifndef BIGNUM_EMBED_LEN_MAX
+-#  if (SIZEOF_VALUE*3/SIZEOF_ACTUAL_BDIGIT) < (1 << BIGNUM_EMBED_LEN_NUMBITS)-1
+-#    define BIGNUM_EMBED_LEN_MAX (SIZEOF_VALUE*3/SIZEOF_ACTUAL_BDIGIT)
+-#  else
+-#    define BIGNUM_EMBED_LEN_MAX ((1 << BIGNUM_EMBED_LEN_NUMBITS)-1)
+-#  endif
+-# endif
+-
+-struct RBignum {
+-    struct RBasic basic;
+-    union {
+-        struct {
+-            size_t len;
+-            BDIGIT *digits;
+-        } heap;
+-        BDIGIT ary[BIGNUM_EMBED_LEN_MAX];
+-    } as;
+-};
+-
+-# define BIGNUM_SIGN_BIT FL_USER1
+-/* sign: positive:1, negative:0 */
+-# define BIGNUM_SIGN(b) ((RBASIC(b)->flags & BIGNUM_SIGN_BIT) != 0)
+-# define BIGNUM_SET_SIGN(b,sign) \
+-  ((sign) ? (RBASIC(b)->flags |= BIGNUM_SIGN_BIT) \
+-          : (RBASIC(b)->flags &= ~BIGNUM_SIGN_BIT))
+-# define BIGNUM_POSITIVE_P(b) BIGNUM_SIGN(b)
+-# define BIGNUM_NEGATIVE_P(b) (!BIGNUM_SIGN(b))
+-
+-# define BIGNUM_EMBED_FLAG FL_USER2
+-# define BIGNUM_EMBED_LEN_MASK (FL_USER5|FL_USER4|FL_USER3)
+-# define BIGNUM_EMBED_LEN_SHIFT (FL_USHIFT+BIGNUM_EMBED_LEN_NUMBITS)
+-# define BIGNUM_LEN(b) \
+-    ((RBASIC(b)->flags & BIGNUM_EMBED_FLAG) ? \
+-     (long)((RBASIC(b)->flags >> BIGNUM_EMBED_LEN_SHIFT) & \
+-            (BIGNUM_EMBED_LEN_MASK >> BIGNUM_EMBED_LEN_SHIFT)) : \
+-     RBIGNUM(b)->as.heap.len)
+-/* LSB:BIGNUM_DIGITS(b)[0], MSB:BIGNUM_DIGITS(b)[BIGNUM_LEN(b)-1] */
+-# define BIGNUM_DIGITS(b) \
+-    ((RBASIC(b)->flags & BIGNUM_EMBED_FLAG) ? \
+-     RBIGNUM(b)->as.ary : \
+-     RBIGNUM(b)->as.heap.digits)
+-# define BIGNUM_LENINT(b) rb_long2int(BIGNUM_LEN(b))
+-
+-# define RBIGNUM(obj) (R_CAST(RBignum)(obj))
+-
+-# define RBIGNUM_LEN(v) BIGNUM_LEN(v)
+-# define RBIGNUM_DIGITS(v) BIGNUM_DIGITS(v)
+-# define SIZEOF_BDIGITS SIZEOF_BDIGIT
+-#endif
+ 
+ //
+ // The Ruby header file win32/win32.h defines a number of macros for
+@@ -161,25 +80,4 @@ typedef VALUE(*ICE_RUBY_ENTRY_POINT)(...);
+ #   define RFLOAT_VALUE(v) RFLOAT(v)->value
+ #endif
+ 
+-#ifndef RBIGNUM_LEN
+-#   define RBIGNUM_LEN(v) RBIGNUM(v)->len
+-#endif
+-
+-//
+-// The definition of RBIGNUM_DIGITS in 1.8.7p248+ causes a compilation error (see bug 4653),
+-// so we undefine it and use our own definition below. Note that the macro HAVE_RUBY_RUBY_H
+-// is only defined in Ruby 1.9.
+-//
+-#ifndef HAVE_RUBY_RUBY_H
+-#   undef RBIGNUM_DIGITS
+-#endif
+-
+-#ifndef RBIGNUM_DIGITS
+-#   define RBIGNUM_DIGITS(v) ((BDIGIT*)RBIGNUM(v)->digits)
+-#endif
+-
+-#ifndef RBIGNUM_SIGN
+-#   define RBIGNUM_SIGN(v) RBIGNUM(v)->sign
+-#endif
+-
+ #endif
+diff --git a/rb/src/IceRuby/Util.cpp b/rb/src/IceRuby/Util.cpp
+index e7cfed1..aa2487b 100644
+--- a/rb/src/IceRuby/Util.cpp
++++ b/rb/src/IceRuby/Util.cpp
+@@ -308,73 +308,64 @@
+ #endif
+ }
+ 
++namespace
++{
++
++template <typename T> 
++struct RubyCallArgs
++{
++    VALUE val;
++    T ret;
++};
++
++//
++// Wrapper function to call rb_num2long with rb_protect
++//
++VALUE
++rb_num2long_wrapper(VALUE val)
++{
++    RubyCallArgs<long>* data = (RubyCallArgs<long>*)val;
++    data->ret = rb_num2long(data->val);
++    return val;
++}
++
++//
++// Wrapper function to call rb_num2ll with rb_protect
++//
++VALUE
++rb_num2ll_wrapper(VALUE val)
++{
++    RubyCallArgs<Ice::Long>* data = (RubyCallArgs<Ice::Long>*)val;
++    data->ret = rb_num2ll(data->val);
++    return val;
++}
++
++}
++
+ long
+ IceRuby::getInteger(VALUE val)
+ {
+-    if(!FIXNUM_P(val) && TYPE(val) != T_BIGNUM)
+-    {
+-        val = callRuby(rb_Integer, val);
+-    }
+-    if(FIXNUM_P(val))
+-    {
+-        return FIX2LONG(val);
+-    }
+-    else if(TYPE(val) == T_BIGNUM)
++    RubyCallArgs<long> arg= {val, -1};
++    int error = 0;
++    rb_protect(rb_num2long_wrapper, (VALUE)&arg, &error);
++    if(error)
+     {
+-        Ice::Long l = getLong(val);
+-        if(l >= static_cast<Ice::Long>(INT_MIN) && l <= static_cast<Ice::Long>(INT_MAX))
+-        {
+-            return static_cast<long>(l);
+-        }
++        throw RubyException(rb_eTypeError, "unable to convert value to an int");
+     }
+-    throw RubyException(rb_eTypeError, "unable to convert value to an integer");
++    return arg.ret;
+ }
+ 
+-#define BITSPERDIG (SIZEOF_BDIGITS*CHAR_BIT)
+-#define BIGUP(x) ((BDIGIT_DBL)(x) << BITSPERDIG)
+-
+ Ice::Long
+ IceRuby::getLong(VALUE val)
+ {
+-    //
+-    // The rb_num2ll function raises exceptions, but we can't call it using callProtected
+-    // because its return type is long long and not VALUE.
+-    //
+-    volatile VALUE v = callRuby(rb_Integer, val);
+-    if(NIL_P(v))
++    RubyCallArgs<Ice::Long> arg= {val, -1};
++    int error = 0;
++    rb_protect(rb_num2ll_wrapper, (VALUE)&arg, &error);
++    if(error)
+     {
+         throw RubyException(rb_eTypeError, "unable to convert value to a long");
+     }
+-    if(FIXNUM_P(v))
+-    {
+-        return FIX2LONG(v);
+-    }
+-    else
+-    {
+-        assert(TYPE(v) == T_BIGNUM);
+-        long len = RBIGNUM_LEN(v);
+-        if(len > SIZEOF_LONG_LONG/SIZEOF_BDIGITS)
+-        {
+-            throw RubyException(rb_eRangeError, "bignum too big to convert into long");
+-        }
+-        BDIGIT *ds = RBIGNUM_DIGITS(v);
+-        BDIGIT_DBL num = 0;
+-        while(len--)
+-        {
+-            num = BIGUP(num);
+-            num += ds[len];
+-        }
+-        Ice::Long l = static_cast<Ice::Long>(num);
+-        if(l < 0 && (RBIGNUM_SIGN(v) || l != LLONG_MIN))
+-        {
+-            throw RubyException(rb_eRangeError, "bignum too big to convert into long");
+-        }
+-        if (!RBIGNUM_SIGN(v))
+-        {
+-            return -l;
+-        }
+-        return l;
+-    }
++    return arg.ret;
+ }
+ 
+ bool
+-- 
+2.6.2
+
diff -Nru zeroc-ice-3.5.1/debian/patches/series zeroc-ice-3.5.1/debian/patches/series
--- zeroc-ice-3.5.1/debian/patches/series	2015-09-12 20:32:43.000000000 +0200
+++ zeroc-ice-3.5.1/debian/patches/series	2015-11-20 11:24:36.000000000 +0100
@@ -16,3 +16,6 @@
 rubyarchhdrdir.patch
 java8-compatibility.patch
 slice2py-submodules-fix.patch
+ice-6228-fix-build-with-ruby2.2_1.patch
+ice-6228-fix-build-with-ruby2.2_2.patch
+add-dpkg-buildflags.patch
diff -Nru zeroc-ice-3.5.1/debian/rules zeroc-ice-3.5.1/debian/rules
--- zeroc-ice-3.5.1/debian/rules	2015-09-12 20:28:45.000000000 +0200
+++ zeroc-ice-3.5.1/debian/rules	2015-11-20 11:23:46.000000000 +0100
@@ -6,9 +6,6 @@
 DEB_DH_INSTALL_SOURCEDIR := debian/tmp
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
-# hardening-wrapper
-export DEB_BUILD_HARDENING=1
-
 # Support parallel=<n> in DEB_BUILD_OPTIONS
 ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
   USE_CPUS := $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))

Attachment: signature.asc
Description: Digital Signature

Reply via email to