Mailinglist Archive: opensuse-ruby (83 mails)

< Previous Next >
Re: [opensuse-ruby] Revised gem packaging
  • From: Adam Spiers <aspiers@xxxxxxxx>
  • Date: Mon, 5 Nov 2012 13:15:42 +0000
  • Message-id: <20121105131542.GC24068@pacific.linksys.moosehall>
Stephan Kulow (coolo@xxxxxxx) wrote:
On 03.11.2012 15:01, Adam Spiers wrote:
Stephan Kulow (coolo@xxxxxxx) wrote:
Am 02.11.2012 13:40, schrieb Adam Spiers:

Ah, that's handy. So if the OBS does not have a limitation on
multiple versions of a package co-existing in a single project, I'm
even more mystified why there was ever a need to introduce the

Name: rubygem-foo-1_1

style of naming ...

Because that was used to implement foo ~> 1.1.2

But isn't that already supported via the automatic provides:

Provides: rubygem-foo-1_1 = 1.1.3

and the corresponding automatic requires:

Requires: rubygem-foo-1_1 >= 1.1.2

There is no such automatic requires.

It would have been more helpful to say which requires *are* automatic,
or even better to document how all this works in the wiki instead of
wasting both our time with all my stupid questions :-/

Your original post said "wrote a gemspec to rpm converter to have
requires and provides in rpm automatic without gem2rpm run" but didn't
say where this mechanism lives. Eventually I tracked it down to
/usr/lib/rpm/{rubygemsdeps.rb,fileattrs/rubygems.attr} in ruby-common
from devel:languages:ruby, so now I can see for myself how it works.
I updated accordingly.

However there is still an unresolved issue:

ruby-common-1.9.3 is provided by the main 12.2 OSS repo, which
overrides ruby-common-1.0 from d:l:r. So when I try to build from a
.spec generated by gem2rpm, it fails with:

unresolvable: nothing provides ruby-macros >= 1, nothing provides
rubygem(rdoc) > 3.10

Here is the context:

$ osc buildinfo openSUSE_12.2
<buildinfo project="systemsmanagement:crowbar:2.0"
repository="openSUSE_12.2" package="rubygem-rainbows"
<error>unresolvable: nothing provides ruby-macros &gt;= 1, nothing
provides rubygem(rdoc) &gt; 3.10</error>
<path project="systemsmanagement:crowbar:2.0" repository="openSUSE_12.2"
<path project="openSUSE:12.2" repository="standard" />
<path project="systemsmanagement:chef" repository="openSUSE_12.2" />
<path project="devel:languages:ruby" repository="openSUSE_12.2" />

How do I fix that?
To unsubscribe, e-mail: opensuse-ruby+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-ruby+owner@xxxxxxxxxxxx

< Previous Next >
List Navigation
Follow Ups