Bug 847482
Summary: | The latest update of ruby-libs created lots of new dependencies | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Václav Mocek <next.little.owl> |
Component: | ruby | Assignee: | Vít Ondruch <vondruch> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 17 | CC: | bkabrda, jeremy, mads, mmorsi, mtasaka, sergey.mihailov, tagoh, vanmeeuwen+fedora, vondruch |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-08-22 21:01:18 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: | |||
Bug Depends On: | 752785 | ||
Bug Blocks: |
Description
Václav Mocek
2012-08-11 23:53:38 UTC
This is not a bug in Ruby, but vim packaging. Please see Bug 752785. It is a vim "feature" that it has a hard dependency to ruby-libs, but the dependencies of vim-enhanced-7.3.556-1.fc17 are satisfied by ruby-libs-1.9.3.194-13.fc17 without pulling in other ruby packages. Now we get: [root@dev-mk ~]# rpm -qa vim* *ruby*|sort ruby-libs-1.9.3.194-13.fc17.i686 vim-common-7.3.556-1.fc17.i686 vim-enhanced-7.3.556-1.fc17.i686 vim-filesystem-7.3.556-1.fc17.i686 vim-minimal-7.3.556-1.fc17.i686 vim-X11-7.3.556-1.fc17.i686 [root@dev-mk ~]# yum update Loaded plugins: langpacks, merge-conf, refresh-packagekit Resolving Dependencies --> Running transaction check ---> Package ruby-libs.i686 0:1.9.3.194-13.fc17 will be updated ---> Package ruby-libs.i686 0:1.9.3.194-14.fc17 will be an update --> Processing Dependency: ruby(rubygems) >= 1.8.23 for package: ruby-libs-1.9.3.194-14.fc17.i686 --> Running transaction check ---> Package rubygems.noarch 0:1.8.24-1.fc17 will be installed --> Processing Dependency: rubygem(rdoc) >= 3.9.4 for package: rubygems-1.8.24-1.fc17.noarch --> Processing Dependency: rubygem(io-console) >= 0.3 for package: rubygems-1.8.24-1.fc17.noarch --> Processing Dependency: /usr/bin/ruby for package: rubygems-1.8.24-1.fc17.noarch --> Running transaction check ---> Package ruby.i686 0:1.9.3.194-14.fc17 will be installed --> Processing Dependency: rubygem(bigdecimal) >= 1.1.0 for package: ruby-1.9.3.194-14.fc17.i686 ---> Package rubygem-io-console.i686 0:0.3-14.fc17 will be installed ---> Package rubygem-rdoc.noarch 0:3.12-3.fc17 will be installed --> Processing Dependency: rubygem(json) < 2 for package: rubygem-rdoc-3.12-3.fc17.noarch --> Processing Dependency: rubygem(json) >= 1.4 for package: rubygem-rdoc-3.12-3.fc17.noarch --> Processing Dependency: ruby(irb) for package: rubygem-rdoc-3.12-3.fc17.noarch --> Running transaction check ---> Package ruby-irb.noarch 0:1.9.3.194-14.fc17 will be installed ---> Package rubygem-bigdecimal.i686 0:1.1.0-14.fc17 will be installed ---> Package rubygem-json.i686 0:1.6.5-1.fc17 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================ Package Arch Version Repository Size ============================================================ Updating: ruby-libs i686 1.9.3.194-14.fc17 updates 2.6 M Installing for dependencies: ruby i686 1.9.3.194-14.fc17 updates 1.0 M ruby-irb noarch 1.9.3.194-14.fc17 updates 72 k rubygem-bigdecimal i686 1.1.0-14.fc17 updates 69 k rubygem-io-console i686 0.3-14.fc17 updates 42 k rubygem-json i686 1.6.5-1.fc17 fedora 467 k rubygem-rdoc noarch 3.12-3.fc17 fedora 218 k rubygems noarch 1.8.24-1.fc17 fedora 174 k Transaction Summary ============================================================ Install ( 7 Dependent packages) Upgrade 1 Package Total download size: 4.6 M That is a change that might be necessary and thus OK in a major update, but it should be avoided in a stable update if at all possible. It seems like ruby-libs has grown a Requires: ruby(rubygems) >= %{rubygems_version} I guess it would be better to have Conflicts: ruby(rubygems) < %{rubygems_version} - if it is necessary at all. Reopening. *** Bug 847428 has been marked as a duplicate of this bug. *** It was bug in Ruby packaging (Bug 845011) and bug needs to be fixed. I am sorry that nobody noticed/pointed it earlier. The change introduced a circular dependency between these 8 packages, and there is now no way ruby-libs can be used without the ruby package. It might be a lesser evil right now from some point of view, but it looks a lot like a bug to me. I could to some extent understand if this was closed as WONTFIX and the 3 ruby packages were merged. Having one upstream source split up in multiple mutually dependent sub packages is misleading and bad packaging. The circular dependency is inevitable. RubyGems depends on Ruby while Ruby needs RubyGems. It is how it is. Merging everything into one package is probably not ideal. What is the advantage of having separate ruby subpackages if they can't be installed separately? I consider one package more ideal than having multiple subpackages for no reason. It seems strange that two different upstreams have a mutual dependency, but if that is how it is, then so be it. Well, it seems that the proper fixing requires changes on Vim's side. I am not happy with that, but thank you for your effort. (In reply to comment #7) Well, in current situation, the ruby package could be dropped. But RubyGems has its own upstream and separate release schedule, although they are bundled with Ruby. Also, they are separate package. Uh, actually, the ruby-libs could be merged into ruby. Or different possibility would be to split rubygems package somehow, to remove the executable from it for example. But neither of this will improve the situation IMO. Well, maybe the easiest solution is to just "touch" %_libdir/ruby/rubygems.rb. If rubygems is installed, rubygems.rb will be loaded from /usr/share/rubygems first (because of current load path). When rubygems is not installed, empty %_libdir/ruby/rubygems.rb will be loaded. Even with this situation ruby -e "puts 1 + 2" or ruby -e "puts RUBY_VERSION" still work, and the test case bug 845011 is still okay. (In reply to comment #11) I don't like it. RubyGems have to be installed. That is current expectation for Ruby 1.9. (In reply to comment #12) > (In reply to comment #11) > I don't like it. But as this bug show, there are much more people who don't like the current state. Going to revert Bug 845011 to solve this. Sorry guys for the mess. ruby-1.9.3.194-15.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ruby-1.9.3.194-15.fc17 Package ruby-1.9.3.194-15.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing ruby-1.9.3.194-15.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-11893/ruby-1.9.3.194-15.fc17 then log in and leave karma (feedback). ruby-1.9.3.194-15.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |