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