> I'm using the following repository :
http://download.opensuse.org/repositories/home:/eclipseagent:/puppet/...
>
> And I'm having a weird error when I try to update puppet-dashboard :
> Problem: nothing provides ruby(abi) = 1.8.7 needed by
> puppet-dashboard-1.2.7-6.1.noarch
>
> My ruby (1.8.7.p357-2.3.1.i586) seems up-to-date and I didn't have this
> message when I installed 1.2.6
> Any idea what I'm missing ?
There is no (RPM) package installed on your system that declares it
provides version 1.8.7 of feature "ruby(abi)". You can investigate
this further with commands such as
rpm -q --whatprovides "ruby(abi)"
rpm -q --provides ruby ruby-libs | grep abi
yum provides "ruby(abi)"
I'm not confident about SUSE, but on CentOS 5 and 6, it is the ruby-
libs packages that provide the ruby(abi) feature, and they version it
as <major>.<minor> (e.g. 1.8). If SUSE is the same then there will be
no standard package available that fulfills the requirement, and that
would make your issue a packaging error by whomever built the
Dashboard package. Alternatively, it may be that the package was
built for a different version of the OS than you are using, and the
ruby(abi) versioning is incompatible.
Some things you could do:
1) Grab the source RPM and rebuild it on a machine running the OS you
want to install on. It is likely that the requirement is auto-
generated, therefore it should be defined correctly for whatever
system the RPM is built on (and others similar to it).
1a) If the ruby(abi) requirement is expressed explicitly in the RPM's
spec file, then you can easily change or remove it before building.
2) Create and install a dummy RPM that provides ruby(abi) version
1.8.7.
3) Download the RPM manually (instead of via yum) and install it with
'rpm --install --force'. This is the quickest and easiest method, but
I cannot recommend circumventing RPM's dependency management this way.
4) Persuade the package builder to fix it.
John