[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#683860: marked as done (unblock: ruby-ffi/1.0.11debian-5)



Your message dated Tue, 14 Aug 2012 18:36:48 +0100
with message-id <1344965808.9266.4.camel@jacala.jungle.funky-badger.org>
and subject line Re: Bug#683860: unblock: ruby-ffi/1.0.11debian-5
has caused the Debian Bug report #683860,
regarding unblock: ruby-ffi/1.0.11debian-5
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
683860: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683860
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package ruby-ffi

version -3.1 got into testing because a problem in the toolchain made so
that the tests were not run during the build, even thoug they failed in
armhf (#656809)

Version -4 was uploaded to unstable before the freeze, and fixed this
toolchain problem so that the tests got run during the build again.
Since these tests failed (only) on armhf, -4 didn't got into testing yet.

-5, just uploaded to unstable, fixes a known issue with calls to
variadic functions involving floating point arguments using libffi on
armhf. This makes the tests pass again on armhf, and therefore the build
succeeds (i.e. #656809 is closed with this upload, and the package
already built fine on armhf by now).

I am attaching the debdiff between the version in testing and the one
in unstable. The only change to the runtime is that one-line patch that
fixes the variadic function calls with floating point numbers thing, so
I believe that it should be OK to unblock this version.

unblock ruby-ffi/1.0.11debian-5

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=pt_BR.utf8, LC_CTYPE=pt_BR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
Antonio Terceiro <terceiro@debian.org>
diff -Nru ruby-ffi-1.0.11debian/debian/changelog ruby-ffi-1.0.11debian/debian/changelog
--- ruby-ffi-1.0.11debian/debian/changelog	2012-05-20 22:13:03.000000000 -0300
+++ ruby-ffi-1.0.11debian/debian/changelog	2012-08-04 16:44:18.000000000 -0300
@@ -1,3 +1,24 @@
+ruby-ffi (1.0.11debian-5) unstable; urgency=low
+
+  * debian/patches/0001-Fix-call-to-variadic-functions.patch: fixes calls to
+    variadic functions with floating point arguments, which currently only
+    breaks on armhf (Closes: #656809), but would also break on other
+    architectures with similar ABI for variadic functions.
+
+ -- Antonio Terceiro <terceiro@debian.org>  Sat, 04 Aug 2012 16:42:56 -0300
+
+ruby-ffi (1.0.11debian-4) unstable; urgency=low
+
+  * Bump standards version
+  * Bump build dependency on gem2deb to >= 0.3.0~
+  * debian/ruby-tests-rb: re-enable tests
+  * debian/patches/disable-rake-compiler.patch: disable rake-compiler
+    requirement in Rakefile, not needed.
+  * debian/rules: generate gemspec with rake before dh_auto_install (added
+    rake as build dependency)
+
+ -- Antonio Terceiro <terceiro@debian.org>  Sat, 30 Jun 2012 10:47:57 -0300
+
 ruby-ffi (1.0.11debian-3.1) unstable; urgency=low
 
   * Non maintainer upload.
diff -Nru ruby-ffi-1.0.11debian/debian/control ruby-ffi-1.0.11debian/debian/control
--- ruby-ffi-1.0.11debian/debian/control	2011-12-25 22:16:14.000000000 -0200
+++ ruby-ffi-1.0.11debian/debian/control	2012-06-30 10:43:49.000000000 -0300
@@ -4,8 +4,8 @@
 Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
 Uploaders: Antonio Terceiro <terceiro@debian.org>, Micah Anderson <micah@debian.org>
 DM-Upload-Allowed: yes
-Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.2.7~), libffi-dev, ruby-rspec
-Standards-Version: 3.9.2
+Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.3.0~), libffi-dev, ruby-rspec, rake
+Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/pkg-ruby-extras/ruby-ffi.git
 Vcs-Browser: http://git.debian.org/?p=pkg-ruby-extras/ruby-ffi.git;a=summary
 Homepage: http://wiki.github.com/ffi/ffi
diff -Nru ruby-ffi-1.0.11debian/debian/patches/0001-Fix-call-to-variadic-functions.patch ruby-ffi-1.0.11debian/debian/patches/0001-Fix-call-to-variadic-functions.patch
--- ruby-ffi-1.0.11debian/debian/patches/0001-Fix-call-to-variadic-functions.patch	1969-12-31 21:00:00.000000000 -0300
+++ ruby-ffi-1.0.11debian/debian/patches/0001-Fix-call-to-variadic-functions.patch	2012-08-04 16:41:28.000000000 -0300
@@ -0,0 +1,36 @@
+From ef717f8e16e5d20ad376ed99d11780bacacff16f Mon Sep 17 00:00:00 2001
+From: Antonio Terceiro <terceiro@softwarelivre.org>
+Date: Sat, 4 Aug 2012 16:30:17 -0300
+Subject: [PATCH] Fix call to variadic functions
+
+This changes the call to ffi_prep_cif into a call to ffi_prep_cif_var,
+which is the improved libffi API for calling variadic functions.
+
+Calling variadic functions with floating point arguments with
+ffi_prep_cif currently only breaks in armhf, but could also break on
+other architectures where the ABI for variadic functions is different
+from what you would expect.
+
+For more information, please check the following message to the libffi
+development mailing list:
+http://permalink.gmane.org/gmane.comp.lib.ffi.general/277
+---
+ ext/ffi_c/Variadic.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ext/ffi_c/Variadic.c b/ext/ffi_c/Variadic.c
+index ec5caf4..65b4dd6 100644
+--- a/ext/ffi_c/Variadic.c
++++ b/ext/ffi_c/Variadic.c
+@@ -219,7 +219,7 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues)
+     if (ffiReturnType == NULL) {
+         rb_raise(rb_eArgError, "Invalid return type");
+     }
+-    ffiStatus = ffi_prep_cif(&cif, invoker->abi, paramCount, ffiReturnType, ffiParamTypes);
++    ffiStatus = ffi_prep_cif_var(&cif, invoker->abi, paramCount, paramCount, ffiReturnType, ffiParamTypes);
+     switch (ffiStatus) {
+         case FFI_BAD_ABI:
+             rb_raise(rb_eArgError, "Invalid ABI specified");
+-- 
+1.7.10.4
+
diff -Nru ruby-ffi-1.0.11debian/debian/patches/disable-rake-compiler.patch ruby-ffi-1.0.11debian/debian/patches/disable-rake-compiler.patch
--- ruby-ffi-1.0.11debian/debian/patches/disable-rake-compiler.patch	1969-12-31 21:00:00.000000000 -0300
+++ ruby-ffi-1.0.11debian/debian/patches/disable-rake-compiler.patch	2012-06-30 10:39:42.000000000 -0300
@@ -0,0 +1,23 @@
+Index: ruby-ffi/Rakefile
+===================================================================
+--- ruby-ffi.orig/Rakefile	2012-06-30 10:39:02.121931503 -0300
++++ ruby-ffi/Rakefile	2012-06-30 10:39:40.385929999 -0300
+@@ -1,12 +1,12 @@
+ require 'rubygems'
+ require 'rbconfig'
+ 
+-USE_RAKE_COMPILER = (RUBY_PLATFORM =~ /java/) ? false : true
+-if USE_RAKE_COMPILER
+-  gem 'rake-compiler', '>=0.6.0'
+-  require 'rake/extensiontask'
+-  ENV['RUBY_CC_VERSION'] = '1.8.7:1.9.2'
+-end
++USE_RAKE_COMPILER = false
++# if USE_RAKE_COMPILER
++#   gem 'rake-compiler', '>=0.6.0'
++#   require 'rake/extensiontask'
++#   ENV['RUBY_CC_VERSION'] = '1.8.7:1.9.2'
++# end
+ 
+ require 'date'
+ require 'fileutils'
diff -Nru ruby-ffi-1.0.11debian/debian/patches/series ruby-ffi-1.0.11debian/debian/patches/series
--- ruby-ffi-1.0.11debian/debian/patches/series	2012-05-20 22:11:18.000000000 -0300
+++ ruby-ffi-1.0.11debian/debian/patches/series	2012-08-04 16:42:36.000000000 -0300
@@ -1,3 +1,5 @@
 0001-Add-types.conf-files-for-missing-Debian-architecture.patch
 fix-test-on-sparc
 ftbfs-gcc-4.7.diff
+disable-rake-compiler.patch
+0001-Fix-call-to-variadic-functions.patch
diff -Nru ruby-ffi-1.0.11debian/debian/ruby-tests.rb ruby-ffi-1.0.11debian/debian/ruby-tests.rb
--- ruby-ffi-1.0.11debian/debian/ruby-tests.rb	2012-01-21 17:21:30.000000000 -0200
+++ ruby-ffi-1.0.11debian/debian/ruby-tests.rb	2012-06-30 10:19:39.000000000 -0300
@@ -1,7 +1,7 @@
 # build the test lib for this Ruby version
 system('make -f libtest/GNUmakefile') or raise("Failed to build test library")
 
-require 'rspec'
+require 'rspec/autorun'
 Dir.glob('spec/*/*_spec.rb').each do |spec|
   require spec
 end
diff -Nru ruby-ffi-1.0.11debian/debian/rules ruby-ffi-1.0.11debian/debian/rules
--- ruby-ffi-1.0.11debian/debian/rules	2012-01-22 19:25:00.000000000 -0200
+++ ruby-ffi-1.0.11debian/debian/rules	2012-06-30 10:41:59.000000000 -0300
@@ -15,6 +15,11 @@
 %:
 	dh $@ --buildsystem=ruby --with ruby
 
+override_dh_auto_install:
+	rake gem:spec
+	dh_auto_install
+
 override_dh_auto_clean:
 	dh_auto_clean
 	rm -rf build/
+	$(RM) ffi.gemspec

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
On Sat, 2012-08-04 at 18:33 -0300, Antonio Terceiro wrote:
> Please unblock package ruby-ffi
> 
> version -3.1 got into testing because a problem in the toolchain made so
> that the tests were not run during the build, even thoug they failed in
> armhf (#656809)
> 
> Version -4 was uploaded to unstable before the freeze, and fixed this
> toolchain problem so that the tests got run during the build again.
> Since these tests failed (only) on armhf, -4 didn't got into testing yet.
> 
> -5, just uploaded to unstable, fixes a known issue with calls to
> variadic functions involving floating point arguments using libffi on
> armhf. This makes the tests pass again on armhf, and therefore the build
> succeeds (i.e. #656809 is closed with this upload, and the package
> already built fine on armhf by now).

Unblocked; thanks.

Regards,

Adam

--- End Message ---

Reply to: