Bug 631701

Summary: ruby-libs depends on old libreadline.so.5
Product: Red Hat Enterprise Linux 6 Reporter: Alex Jia <ajia>
Component: rubyAssignee: Vít Ondruch <vondruch>
Status: CLOSED WONTFIX QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0CC: eng-i18n-bugs, llim, mtasaka
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-01 15:18:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alex Jia 2010-09-08 08:26:49 UTC
Description of problem:
Ruby-libs depends on old libreadline.so.5 share library, but readline package provides new libreadline.so.6 in RHEL6.0 RC, so we can't successfully install ruby-libs package, finally, I can't also successfully install ruby.

Version-Release number of selected component (if applicable):
# uname -a
Linux dhcp-66-92-184.nay.redhat.com 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1
01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.0 (Santiago)

# ls ruby-*
ruby-1.8.7.299-4.el6.x86_64.rpm       ruby-qmf-0.7.946106-5.el6.x86_64.rpm
ruby-libs-1.8.7.299-4.el6.i686.rpm    ruby-qpid-0.7.946106-2.el6.x86_64.rpm
ruby-libs-1.8.7.299-4.el6.x86_64.rpm

# ls readline-*
readline-6.0-3.el6.i686.rpm    readline-devel-6.0-3.el6.i686.rpm
readline-6.0-3.el6.x86_64.rpm  readline-devel-6.0-3.el6.x86_64.rpm


How reproducible:
always

Steps to Reproduce:
# cd /media/RHEL_6.0\ x86_64\ Disc\ 1/Packages/

# rpm -qRp ruby-1.8.7.299-4.el6.x86_64.rpm | grep ruby-libs
ruby-libs = 1.8.7.299-4.el6

# rpm -qRp ruby-libs-1.8.7.299-4.el6.x86_64.rpm | grep libreadline
libreadline.so.5()(64bit)  

# rpm -q readline
readline-6.0-3.el6.x86_64

# rpm -ql readline-6.0-3.el6.x86_64 | grep libreadline
/lib64/libreadline.so.6
/lib64/libreadline.so.6.0

  
Actual results:
# rpm -ivh ruby-libs-1.8.7.299-4.el6.x86_64.rpm
error: Failed dependencies:
	libreadline.so.5()(64bit) is needed by ruby-libs-1.8.7.299-4.el6.x86_64


Expected results:
Resolve ruby-libs package dependant relationship    


Additional info:

Comment 2 Jim Meyering 2010-09-08 09:34:37 UTC
Thanks for the report.
We'll have to reconcile that with the following from ruby.spec:

   * Thu Jul 23 2009 Mamoru Tasaka <mtasaka.u-tokyo.ac.jp> - 1.8.6.369-2
   - Make sure that readline.so is linked against readline 5 because
     Ruby is under GPLv2

Comment 3 Jim Meyering 2010-09-10 14:02:45 UTC
FYI, there's significant discussion on this topic here:

    http://redmine.ruby-lang.org/issues/show/2032

Comment 4 Jim Meyering 2010-09-20 06:01:59 UTC
That was resolved (in 1.9 at least) on Sept 16, 2010 by ruby's license change
http://redmine.ruby-lang.org/repositories/revision/ruby-19?rev=29262

    from a dual license with GPLv2
    to a dual license with 2-clause BSDL.

which *is* listed as being GPL-compatible:

    http://www.gnu.org/licenses/license-list.html

Currently, COPYING on the ruby_1_8_7 branch has not been updated.

Comment 7 Mamoru TASAKA 2011-01-27 16:24:27 UTC
From this:
http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-8-7-p330-released/
the upstream seem to be saying that they won't change the license
of ruby 1.8.7.x, so ruby in RHEL6 should still use readline 5.

Comment 8 Vít Ondruch 2011-02-01 15:17:09 UTC
1) Thank you Mamoru, apparently you are right. I'm going to revert back to readline5.

2) It seems to me that bug is misunderstanding. While it is true that Ruby depends on readline 5, it is also true that all dependencies are satisfied. It is necessary to install compat-readline5 package instead of readline. Yum can solve these dependencies for you.

# rpm -qlp compat-readline5-5.2-17.1.el6.x86_64.rpm | grep libreadline.so.5
varování: compat-readline5-5.2-17.1.el6.x86_64.rpm: Hlavička V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
/lib64/libreadline.so.5
/lib64/libreadline.so.5.2