Date: Sun, 21 Oct 2007 02:01:22 GMT From: Motomichi Matsuzaki <mzaki@e-mail.ne.jp> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/117367: databases/ruby-dbd_pg is not ready to use Message-ID: <200710210201.l9L21M1H066245@www.freebsd.org> Resent-Message-ID: <200710210210.l9L2A0TQ070883@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 117367 >Category: ports >Synopsis: databases/ruby-dbd_pg is not ready to use >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Oct 21 02:10:00 UTC 2007 >Closed-Date: >Last-Modified: >Originator: Motomichi Matsuzaki >Release: 6.2-RELEASE w/ latest ports >Organization: >Environment: FreeBSD localhost 6.2-RELEASE-p4 FreeBSD 6.2-RELEASE-p4 #0: Thu Apr 26 15:04:52 UTC 2007 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/SMP amd64 >Description: databases/ruby-dbd_pg is a database driver for PostgreSQL in Ruby DBI. As mentioned in the Ruby DBI project site (http://ruby-dbi.rubyforge.org/), programmers can access databases in a vendor independent manner using Ruby DBI. Generally said, programmers must load "dbi" interface library only. But in the current databases/ruby-dbd_pg modified months ago, we have to load another library "rubygems", because the backend library databases/ruby-postgres have changed to be installed through RubyGem packaging framework. This introduced inconsistency between driver libraries (DBDs) and portability problems into DBI-based ruby scripts. The port should be fixed as to be used independent from "rubygems". >How-To-Repeat: mzaki$ ruby -e 'require "dbi"; DBI.connect("dbi:Pg:dbname=template1", "pgsql") {|dbh| puts dbh.select_one("SELECT 85 * 771")}' /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344:in `load_driver': Could not load driver (no such file to load -- postgres) (DBI::InterfaceError) from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:227:in `_get_full_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:213:in `connect' from -e:1 To work correctly, loading "rubygems" is required: mzaki$ ruby -e 'require "dbi"; require "rubygems"; DBI.connect("dbi:Pg:dbname=template1", "pgsql") {|dbh| puts dbh.select_one("SELECT 85 * 771")}' 65535 In case of databases/ruby-dbd_sqlite, for comparison: mzaki$ ruby -e 'require "dbi"; DBI.connect("dbi:SQLite:hoge.db") {|dbh| puts dbh.select_one("SELECT 85 * 771")}' 65535 >Fix: ruby-postgres port should be installed independently from rubygem framework. Roll back repocopying databases/ruby-postgres to databases/rubygem-postgres. Then databases/ruby-dbd_pg should depend on databases/ruby-postgres, not on databases/rubygem-postgres. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710210201.l9L21M1H066245>