Package: libdbi-ruby1.8
Version: 0.1.1-1
Severity: normal
Tags: patch

$ ruby -e 'require "dbi";puts(DBI.available_drivers())'
$ dpkg --listfiles libdbd-odbc-ruby1.8 | grep ODBC.rb
/usr/lib/ruby/1.8/DBD/ODBC/ODBC.rb
$ dpkg --listfiles libdbi-ruby1.8 | grep dbi.rb
/usr/lib/ruby/1.8/dbi.rb
$ diff -u dbi.rb.orig dbi.rb
--- dbi.rb.orig 2007-11-06 18:06:54.000000000 -0800
+++ dbi.rb      2007-11-06 18:07:24.000000000 -0800
@@ -238,7 +238,7 @@
       # 'dbi:driver:' format.
       def available_drivers
          drivers = []
-         path = File.dirname(File.dirname(__FILE__)) + "/" + DBD::DIR
+         path = File.dirname(__FILE__) + "/" + DBD::DIR
          Find.find(path){ |f|
             if File.file?(f)
                driver = File.basename(f, ".rb")
$

Without the patch, the code looks in the dirname of the dirname of
/usr/lib/ruby/1.8/dbi.rb, which is /usr/lib/ruby, for a directory called
"DBD".  That directory is one level lower - in the "1.8" sub-directory.
Perhaps libdbd-odbc-ruby1.8 should be installing its driver in
/usr/lib/ruby but that didn't sound likely to me.  libdbd-mysql-ruby1.8
behaves like the ODBC driver.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable'), (50, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored:
LC_ALL set to en_US.UTF-8)

Versions of packages libdbi-ruby1.8 depends on:
ii  libruby1.8                    1.8.5-4    Libraries necessary to run
Ruby 1.

libdbi-ruby1.8 recommends no packages.

-- no debconf information
--- dbi.rb.orig 2007-11-06 18:06:54.000000000 -0800
+++ dbi.rb      2007-11-06 18:07:24.000000000 -0800
@@ -238,7 +238,7 @@
       # 'dbi:driver:' format.
       def available_drivers
          drivers = []
-         path = File.dirname(File.dirname(__FILE__)) + "/" + DBD::DIR
+         path = File.dirname(__FILE__) + "/" + DBD::DIR
          Find.find(path){ |f|
             if File.file?(f)
                driver = File.basename(f, ".rb")

Reply via email to