Discussion:
the case of the two rubies
Stephan Kulow
2014-02-07 07:28:38 UTC
Permalink
Hi,

Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(

We have several things required by yast

libruby2.0.so.2.0 is required by yast2-ruby-bindings and libstorage-ruby
ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus and rubygem-fast_gettext

So not to break yast the OBS "product" needs to provide at least 4
packages linking against ruby 2.1. The libruby2.0 problem will be gone
for future updates as we now have libruby2_1 as a special package, but
the ruby(abi) problem will stay and as I said before: making
/usr/bin/ruby an update-alternative is only a solution as long
as rubygem-fast_gettext isn't required by OBS with a different
ruby abi.

Greetings, Stephan
--
Ma muaß weiterkämpfen, kämpfen bis zum Umfalln, a wenn die
ganze Welt an Arsch offen hat, oder grad deswegn.
--
To unsubscribe, e-mail: opensuse-ruby+unsubscribe-***@public.gmane.org
To contact the owner, e-mail: opensuse-ruby+owner-***@public.gmane.org
Josef Reidinger
2014-02-07 08:05:21 UTC
Permalink
On Fri, 07 Feb 2014 08:28:38 +0100
Post by Stephan Kulow
Hi,
Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(
We have several things required by yast
libruby2.0.so.2.0 is required by yast2-ruby-bindings and
libstorage-ruby ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus
and rubygem-fast_gettext packages linking against ruby 2.1. The libruby2.0 problem will be gone
for future updates as we now have libruby2_1 as a special package, but
the ruby(abi) problem will stay and as I said before: making
/usr/bin/ruby an update-alternative is only a solution as long
as rubygem-fast_gettext isn't required by OBS with a different
ruby abi.
Yes,
yast bindings is built against ruby that is provided by given release
of opensuse and same for other C-bindings like libstorage. So if you
want base OBS product on 13.1 you should use ruby that is provided
there. And if you want it base on 13.2 then I hope it will have ruby
2.1. It is similar like with any other library or scripting language,
if distribution provide perl 5.10 and you need 5.11, then you need to
somehow bundle it and do work-arounds.

Josef
Post by Stephan Kulow
Greetings, Stephan
Stephan Kulow
2014-02-07 08:52:02 UTC
Permalink
Post by Josef Reidinger
yast bindings is built against ruby that is provided by given release
of opensuse and same for other C-bindings like libstorage. So if you
want base OBS product on 13.1 you should use ruby that is provided
there. And if you want it base on 13.2 then I hope it will have ruby
2.1. It is similar like with any other library or scripting language,
if distribution provide perl 5.10 and you need 5.11, then you need to
somehow bundle it and do work-arounds.
I'm aware - I just presented a case study. And I need to decide now
if bundling ruby 2.1 is worth it ;(

Greetings, Stephan
Sascha Peilicke
2014-02-07 08:37:44 UTC
Permalink
Post by Stephan Kulow
Hi,
Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(
We have several things required by yast
libruby2.0.so.2.0 is required by yast2-ruby-bindings and libstorage-ruby
ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus and rubygem-fast_gettext
So not to break yast the OBS "product" needs to provide at least 4
packages linking against ruby 2.1. The libruby2.0 problem will be gone
for future updates as we now have libruby2_1 as a special package, but
the ruby(abi) problem will stay and as I said before: making
/usr/bin/ruby an update-alternative is only a solution as long
as rubygem-fast_gettext isn't required by OBS with a different
ruby abi.
Couldn't you switch to plain rubygem-gettext? I guess it's only a transitive
dependency anyway since I can't recall a German OBS :-)
--
With kind regards,
Sascha Peilicke
SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nuernberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg)
Stephan Kulow
2014-02-07 08:53:39 UTC
Permalink
Post by Sascha Peilicke
Post by Stephan Kulow
Hi,
Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(
We have several things required by yast
libruby2.0.so.2.0 is required by yast2-ruby-bindings and libstorage-ruby
ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus and rubygem-fast_gettext
So not to break yast the OBS "product" needs to provide at least 4
packages linking against ruby 2.1. The libruby2.0 problem will be gone
for future updates as we now have libruby2_1 as a special package, but
the ruby(abi) problem will stay and as I said before: making
/usr/bin/ruby an update-alternative is only a solution as long
as rubygem-fast_gettext isn't required by OBS with a different
ruby abi.
Couldn't you switch to plain rubygem-gettext? I guess it's only a transitive
dependency anyway since I can't recall a German OBS :-)
OBS does not gettext at the moment, no. But software.oo does for example
and we won't be able to hold yast on the VM running software.oo soon ;(

Greetings, Stephan
Stephan Kulow
2014-02-07 08:54:47 UTC
Permalink
Post by Stephan Kulow
Post by Sascha Peilicke
Post by Stephan Kulow
Hi,
Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(
We have several things required by yast
libruby2.0.so.2.0 is required by yast2-ruby-bindings and libstorage-ruby
ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus and rubygem-fast_gettext
So not to break yast the OBS "product" needs to provide at least 4
packages linking against ruby 2.1. The libruby2.0 problem will be gone
for future updates as we now have libruby2_1 as a special package, but
the ruby(abi) problem will stay and as I said before: making
/usr/bin/ruby an update-alternative is only a solution as long
as rubygem-fast_gettext isn't required by OBS with a different
ruby abi.
Couldn't you switch to plain rubygem-gettext? I guess it's only a transitive
dependency anyway since I can't recall a German OBS :-)
OBS does not gettext at the moment, no. But software.oo does for example
and we won't be able to hold yast on the VM running software.oo soon ;(
... if deployed from packages - deploying our rails apps (including OBS)
the "bundler/rvm way" is of course a valid option if we can't replace ruby.

Greetings, Stephan
Martin Vidner
2014-02-07 14:24:40 UTC
Permalink
Post by Stephan Kulow
Hi,
Now that Klaus' ruby merge is done, I switched the OBS project
to use it - as a test bed of a "product". It's plain impossible
to keep yast and update OBS on 13.1 ;(
Do you mean OBS as the build object, not subject?
https://build.opensuse.org/project/monitor/OBS:Server:2.5
I was quite confused before I understood that.
Post by Stephan Kulow
We have several things required by yast
libruby2.0.so.2.0 is required by yast2-ruby-bindings and libstorage-ruby
ruby(abi) == 2.0.0 is required by rubygem-ruby-dbus and rubygem-fast_gettext
FWIW, as the upstream for rubygem-ruby-dbus I can say that it works
with any Ruby version >= 1.9. I am not sure whether we should try
packaging some gems as independent on the Ruby version.
--
Martin Vidner, Cloud & Systems Management Team
http://en.opensuse.org/User:Mvidner

Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
Loading...