Bug 966717

Summary: Package yast2-3.1.173-1.1 from release 20160209 install ruby-2.1 dependencies
Product: [openSUSE] openSUSE Tumbleweed Reporter: Michal Hlavac <miso>
Component: YaST2Assignee: Josef Reidinger <jreidinger>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: dimstar, forgotten_r0Kkjyobya, jreidinger, miso
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Michal Hlavac 2016-02-15 12:08:11 UTC
Package yast2-3.1.173-1.1 from release 20160209 install ruby-2.1 dependecies. Is it necessary?

Log:

The following 8 NEW packages are going to be installed:
  augeas libruby2_1-2_1 rubygem-abstract_method ruby2.1 ruby2.1-rubygem-cfa ruby2.1-rubygem-ruby-augeas ruby2.1-stdlib ruby2.2-rubygem-cheetah
Comment 1 Gabriele Mohr 2016-02-25 11:31:30 UTC
Josef, AFAIK it's correct, isn't it?
Comment 2 Josef Reidinger 2016-02-25 13:04:51 UTC
(In reply to Gabriele Mohr from comment #1)
> Josef, AFAIK it's correct, isn't it?

well, it is not correct as it install ruby-2.1 and also cheetah from ruby 2.2. I expect there is some problem with building some ruby dependencies. 

Dominique: are you aware of any problems with building augeas, rubygem-cfa or rubygem-abstract for ruby 2.2?

Michal: If you enlist you repository list it can bring some light as it can be also caused by using ruby packages from different repositories. In general yast need everything in same ruby version ( but I do not know if there is way to specify it, I am only aware of way how to specify you want specific version of ruby, but yast works from 1.9 to 2.2, so it do not need specific ruby version, just need to have dependencies and ruby runtime in same version ).
Comment 3 Dominique Leuenberger 2016-02-25 13:17:11 UTC
there are not BUILD issues known 

BUT:
> rpm -qR yast2 | grep rubygem
rubygem(abstract_method)
rubygem(cfa)
rubygem(cheetah)

So, on RPM level we claim 'any rubygem(cheetah) will do, and any rubygem(abstract_method) - this info is passed to libzypp/libsolv together with all the others.

As two packages fulfill the request, libsolv chooses 'one path' and does not know of any relationship between any of those packages.

In case of cheetah, the solver has the problem that ruby2.1-rubygem-cheetah is not installable (so it has to choose ruby2.2-rubygem-cheetah to satisfy the request)

Problem: nothing provides rubygem(ruby:2.1.0:abstract_method:1) >= 1.2 needed by ruby2.1-rubygem-cheetah-0.4.0-1.3.x86_64
 Solution 1: do not install ruby2.1-rubygem-cheetah-0.4.0-1.3.x86_64

This in turn seems to be a problem because rubygem-astract_method has never been switched to the new ruby packaging style it seems
Comment 4 Josef Reidinger 2016-02-25 13:24:24 UTC
(In reply to Dominique Leuenberger from comment #3)
> there are not BUILD issues known 
> 
> BUT:
> > rpm -qR yast2 | grep rubygem
> rubygem(abstract_method)
> rubygem(cfa)
> rubygem(cheetah)
> 
> So, on RPM level we claim 'any rubygem(cheetah) will do, and any
> rubygem(abstract_method) - this info is passed to libzypp/libsolv together
> with all the others.

As I mention above I do not know any way how to specify that we need any system ruby version and rubygems of given system ruby version. We already face problems with it. So if you know how to specify it, I will happily fix it.

> 
> As two packages fulfill the request, libsolv chooses 'one path' and does not
> know of any relationship between any of those packages.
> 
> In case of cheetah, the solver has the problem that ruby2.1-rubygem-cheetah
> is not installable (so it has to choose ruby2.2-rubygem-cheetah to satisfy
> the request)
> 
> Problem: nothing provides rubygem(ruby:2.1.0:abstract_method:1) >= 1.2
> needed by ruby2.1-rubygem-cheetah-0.4.0-1.3.x86_64
>  Solution 1: do not install ruby2.1-rubygem-cheetah-0.4.0-1.3.x86_64
> 
> This in turn seems to be a problem because rubygem-astract_method has never
> been switched to the new ruby packaging style it seems

OK, I will fix abstract_method packaging as dmajda leave me as maintainer.
Comment 5 Josef Reidinger 2016-03-07 09:38:25 UTC
fixed in master and will be soon in TW.

Thanks for report
Comment 6 Josef Reidinger 2016-03-07 16:31:24 UTC
*** Bug 968454 has been marked as a duplicate of this bug. ***