Package: ruby-mysql2 / 0.3.16-2

Metadata

Package Version Patches format
ruby-mysql2 0.3.16-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
remove_rpath_compilation_flag.patch | (download)

ext/mysql2/extconf.rb | 29 0 + 29 - 0 !
1 file changed, 29 deletions(-)

 remove rpath from compilation flags
 This patch is required to pass the binary-or-shlib-defines-rpath lintian
 test. To fix this problem, any attempt to add rpath to $LDFLAGS
 inside of ext/mysql2/extconf.rb is patched out
remove_rubygems_from_examples.patch | (download)

examples/eventmachine.rb | 2 0 + 2 - 0 !
examples/threaded.rb | 1 0 + 1 - 0 !
2 files changed, 3 deletions(-)

 remove rubygems from examples
 This patch modifies the examples so that they
 do not use rubygems, and don't modify the LOAD_PATH. The
 library will be installed in a place where ruby can find it,
 and the relative path ../lib is not valid anymore.
avoid_openssl_loop.patch | (download)

ext/mysql2/client.c | 20 12 + 8 - 0 !
1 file changed, 12 insertions(+), 8 deletions(-)

 use /dev/null in invalidate_fd to avoid infinite loop in openssl
 Thanks to Andy Bakun / @thwarted for identifying the issue and
 suggesting the /dev/null workaround.
correct_mysql_init.patch | (download)

ext/mysql2/client.c | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 added call to mysql_library_init during initialization of the gem
      This call must be performed before trying to call mysql_init from
      multiple threads
      Reference: http://dev.mysql.com/doc/refman/5.1/en/mysql-init.html
      Minimal reproduction of the problem if mysql_library_init is not called
    
        require 'mysql2'
    
        def connect
          Mysql2::Client.new()
        end
    
        threads = [0,1].map {
          Thread.new { connect }
        }
        threads.map(&:join)
        puts "OK!"