Bug 1114071

Summary: ruby-libs conflicts with rubygem-pysch
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: rubyAssignee: Vít Ondruch <vondruch>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: rawhideCC: bkabrda, jstribny, mmorsi, mtasaka, s, tagoh, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ruby-2.1.4-24.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-10 06:32:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Orion Poplawski 2014-06-27 16:00:20 UTC
Description of problem:

Transaction check error:
  file /usr/lib64/ruby/vendor_ruby/psych.so from install of ruby-libs-2.1.2-23.fc21.x86_64 conflicts with file from package rubygem-psych-2.0.3-19.fc21.x86_64
  file /usr/share/ruby/vendor_ruby/psych from install of ruby-libs-2.1.2-23.fc21.x86_64 conflicts with file from package rubygem-psych-2.0.3-19.fc21.x86_64
  file /usr/share/ruby/vendor_ruby/psych.rb from install of ruby-libs-2.1.2-23.fc21.x86_64 conflicts with file from package rubygem-psych-2.0.3-19.fc21.x86_64

Comment 1 Vít Ondruch 2014-06-27 17:00:33 UTC
Interesting. This bug was probably introduced by "fix" for bug 988490. Until that fix, vendor_ruby folders were empty, but due the fix, they now contain the files which should not be owned by ruby-libs. So this is the change to narrow the bug:

$ git diff
diff --git a/ruby.spec b/ruby.spec
index db7f6ff..72a5e84 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -625,8 +625,8 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS"
 # local system administrator.
 %exclude %{ruby_sitelibdir}
 %exclude %{ruby_sitearchdir}
-%{ruby_vendorlibdir}
-%{ruby_vendorarchdir}
+%dir %{ruby_vendorlibdir}
+%dir %{ruby_vendorarchdir}
 
 # List all these files explicitly to prevent surprises
 # Platform independent libraries.

However, I am wondering:

1) What was changed that nobody noticed such error earlier? Might it be YUM vs DNF issue?

2) Does the patch actually allows you to install new version of Ruby? Here is the scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=7084171

Comment 2 Mamoru TASAKA 2014-06-30 01:17:11 UTC
(In reply to Vít Ondruch from comment #1)
> Interesting. This bug was probably introduced by "fix" for bug 988490. Until
> that fix, vendor_ruby folders were empty, but due the fix, they now contain
> the files which should not be owned by ruby-libs. So this is the change to
> narrow the bug:

...

> However, I am wondering:
> 
> 1) What was changed that nobody noticed such error earlier? Might it be YUM
> vs DNF issue?

- Well, because simple "yum upgrade" succeeds (even after ruby-2.1.2-23.fc21
  build) (at least for me), it is natural that no one "notice" this.
  Note that I wrote "yum upgrade", not "yum upgrade ruby <only>", i.e
  when trying to upgrade both ruby-libs and rubygem-pysch, upgrade succeeds
  as expected (at least for me).

  The problem here is perhaps when trying to upgrade ruby(-libs) "only".
  New  ruby-2.1.2-23.fc21 builds pysch "2.0.5", while the old 
  ruby-2.1.1-19.fc21 builds pysch "2.0.3, so the point where symlink in
  ruby-libs points to differ between them, so conflict occurs.

  So (as far as I am not wrong), upgrading related pkgs alltogether will
  make it succeed.

> 2) Does the patch actually allows you to install new version of Ruby? Here
> is the scratch build:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=7084171

Comment 3 Fedora Update System 2014-10-31 09:13:08 UTC
ruby-2.1.4-24.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/ruby-2.1.4-24.fc21

Comment 4 Fedora Update System 2014-11-01 16:36:51 UTC
Package ruby-2.1.4-24.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ruby-2.1.4-24.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-14096/ruby-2.1.4-24.fc21
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2014-11-10 06:32:00 UTC
ruby-2.1.4-24.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.