Bug#678515: #678515: ruby-mysql vs ruby1.9 encodings vs redmine

2012-08-05 Thread Antonio Terceiro
tags 678515 + pending patch
thanks

Hi Dmitry,

Dmitry Borodaenko escreveu isso aĆ­:
 Hi All,
 
 I'm somewhat puzzled about this bug. The root cause of the problem
 appears to be that ruby-mysql doesn't support Ruby 1.9 string encodings,
 and it is abandoned upstream, so a quick fix from upstream isn't likely.
 
 The proposed solution is to package Mysql2 gem, and this is where things
 get complicated.
[...]
 Based on all this (including all the assumptions I've made above), the
 most sensible way forward is rather long and winding:
 
 1. Package MySQL2 0.3.11 as ruby-mysql2.
 2. Reassign #678515 back to redmine-mysql.
 3. Raise new normal bugs against ruby-graffiti, jekyll, and
 ruby-opennebula to update its Depends.
 4. Raise new upstream normal bug against oar to replace Ruby/DBI with
 Sequel.
 5. Raise new serious bugs against ruby-mysql and ruby-dbd-mysql to warn
 off future would-be dependers and remove these package as soon as their
 reverse-dependencies are sorted.

This sounds like a good plan.

However, I don't think we will be able to do that for Wheezy this late
into the release cycle, and ~1 month inside the freeze.

ruby-mysql is deprecated, yes, but IMO we will have to live with it for
Wheezy.

I've spent some time on this issue today, and searching on the internet
I've found this:

https://github.com/lsegal/mysql-ruby

This is a fork of ruby-mysql that implements encoding support. This
encoding support is actually a single patch:

https://github.com/lsegal/mysql-ruby/commit/b7e4613559f0a741935ad375f07f9411c2107bb7

I've adapted this patch, applied it to the package and tested on a
wheezy VM where I had reproduced the problem with redmine and mysql
before. After I installed this new package and restarted apache, redmine
worked fine with UTF-8 data.

The fixed package is on git:
http://anonscm.debian.org/gitweb/?p=pkg-ruby-extras/ruby-mysql.git;a=commitdiff;h=86f0e699f562857287d21a8e288811553b7c64ae

I can upload this fix, if you agree.

But for Jessie (Wheezy+1), I am all for droping ruby-mysql and doing
what you suggested.

-- 
Antonio Terceiro terce...@debian.org


signature.asc
Description: Digital signature


Bug#678515: #678515: ruby-mysql vs ruby1.9 encodings vs redmine

2012-07-29 Thread Dmitry Borodaenko
Hi All,

I'm somewhat puzzled about this bug. The root cause of the problem
appears to be that ruby-mysql doesn't support Ruby 1.9 string encodings,
and it is abandoned upstream, so a quick fix from upstream isn't likely.

The proposed solution is to package Mysql2 gem, and this is where things
get complicated.

Weirdest but possibly easiest problem is that bug comments say that
Mysql2 0.2.x should be used instead of the latest upstream 0.3.x,
because the latter doesn't include activerecord-mysql2-adapter which has
migrated into rails 3.1. Can anyone confirm how this reconciles with the
ruby-rails-3.2 package? Is redmine still not compatible with rails3?

I don't think packaging an old version of Mysql2 is a good solution, if
that's the only way to get remine work with mysql under ruby1.9, I'm
inclined to package latest Mysql2 and then reassign this bug back to
redmine so that it can be made to work with Mysql2 0.3.x.

And this is where we get to the second problem: we shouldn't have two
mutually incompatible sets of Ruby MySQL bindings in Debian.

A quick search through the packages shows that there's not that many
direct and indirect reverse dependencies of ruby-mysql.

ruby-dbd-mysql:

Can be safely removed if its own reverse dependencies can be satisfied
by Mysql2.

ruby-graffiti, jekyll:

They use Sequel which supports Mysql2.

ruby-opennebula:

No straight answer in documentation but it seems to support Mysql2.

oar-admin/oar-web-status

OAR uses DBI, so it will need a port to Sequel before it can drop its
dependency on ruby-dbd-mysql.

Based on all this (including all the assumptions I've made above), the
most sensible way forward is rather long and winding:

1. Package MySQL2 0.3.11 as ruby-mysql2.
2. Reassign #678515 back to redmine-mysql.
3. Raise new normal bugs against ruby-graffiti, jekyll, and
ruby-opennebula to update its Depends.
4. Raise new upstream normal bug against oar to replace Ruby/DBI with
Sequel.
5. Raise new serious bugs against ruby-mysql and ruby-dbd-mysql to warn
off future would-be dependers and remove these package as soon as their
reverse-dependencies are sorted.

Objections, ideas?

--
Dmitry Borodaenko


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#678515: #678515: ruby-mysql vs ruby1.9 encodings vs redmine

2012-07-29 Thread Jordon Bedwell
Hi

On 07/29/2012 06:58 AM, Dmitry Borodaenko wrote:
 I'm somewhat puzzled about this bug. The root cause of the problem
 appears to be that ruby-mysql doesn't support Ruby 1.9 string encodings,
 and it is abandoned upstream, so a quick fix from upstream isn't likely.

 Weirdest but possibly easiest problem is that bug comments say that
 Mysql2 0.2.x should be used instead of the latest upstream 0.3.x,
 because the latter doesn't include activerecord-mysql2-adapter which has
 migrated into rails 3.1. Can anyone confirm how this reconciles with the
 ruby-rails-3.2 package? Is redmine still not compatible with rails3?

No, MySQL2 old-stable does not need to be used at all, Redmine is
compatible with Rails 3.2 [1] via the 2.x branch [which is stable as the
1.4 branch.]  Actually it would probably make management and bug
handling a bit easier, read below for more.

[1] https://github.com/redmine/redmine/blob/master/Gemfile#L3

 I don't think packaging an old version of Mysql2 is a good solution, if
 that's the only way to get remine work with mysql under ruby1.9, I'm
 inclined to package latest Mysql2 and then reassign this bug back to
 redmine so that it can be made to work with Mysql2 0.3.x.

There really is no need.  If one keeps the old MySQL active for now
until rdepends of it die or get updated and then just upgrades Redmine
to 2.x, which supports both MySQL on 1.8 and MySQL2 on 1.9 [with no
version dependencies] then all should be well IMO, but 1.8 is as good as
dead to some, and so are some versions of Rails (even if they get
security updates for now.)

This should rid of quite a few old packages that keep hindering, but
that outlook is subjective and optimistic since I can't assume what the
maintainers will do.

What I mean by all that is... Just adding MySQL2 latest and Redmine
latest should solve the problem IMO and the rest will resolve itself as
1.8 finally dies for good and Rails 2.3 dies for good too.

 A quick search through the packages shows that there's not that many
 direct and indirect reverse dependencies of ruby-mysql.
 ruby-graffiti, jekyll:
 
 They use Sequel which supports Mysql2.
 Objections, ideas?

I really think Redmine should be pushed to the 2.x branch which would
fix this bug, but I assume people will object to that because they might
have a lot invested in 1.4 and I don't assume there is an easy way to
manage everyones upgrades in a straight forward manner, but when we
upgraded here the path was pretty easy [2]

[2] http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org