[opensuse-ruby] Funny thing with rubygem dependencies
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi everyone, I have a funny issue with a dependency from a rubygem, depending on another rubygem:
$ LANG=POSIX sudo zypper in rubygem-jekyll Loading repository data... Reading installed packages... Resolving package dependencies...
Problem: nothing provides rubygem(2.0.0:liquid:2.5) >= 2.5.5 needed by rubygem-jekyll-2.0.3-3.2.x86_64 Solution 1: do not install rubygem-jekyll-2.0.3-3.2.x86_64 Solution 2: break rubygem-jekyll-2.0.3-3.2.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/c] (c): ^C $ LANG=POSIX sudo zypper in rubygem-liquid Loading repository data... Reading installed packages... Resolving package dependencies...
The following NEW package is going to be installed: rubygem-liquid
1 new package to install. Overall download size: 76.0 KiB. After the operation, additional 116.3 KiB will be used. Continue? [y/n/? shows all options] (y): ^C
So jekyll depends on liquid, and I can install liquid. liquid is version 2.6.1, so it should satisfy jekyll's dependency on liquid
=2.5.5? Or am I missing something?
$ LANG=POSIX zypper se --detail rubygem-liquid Loading repository data... Reading installed packages...
S | Name | Type | Version | Arch | Repository --+--------------------------+------------+-----------+--------+----------------------------------------
i | rubygem-liquid | package | 2.6.1-3.1 | x86_64 | ojkastl_buildservice:Testing_Tumbleweed
v | rubygem-liquid | package | 2.6.1-3.1 | i586 | ojkastl_buildservice:Testing_Tumbleweed | rubygem-liquid | srcpackage | 2.6.1-3.1 | noarch | ojkastl_buildservice:Testing_Tumbleweed | rubygem-liquid-doc | package | 2.6.1-3.1 | x86_64 | ojkastl_buildservice:Testing_Tumbleweed | rubygem-liquid-doc | package | 2.6.1-3.1 | i586 | ojkastl_buildservice:Testing_Tumbleweed | rubygem-liquid-testsuite | package | 2.6.1-3.1 | x86_64 | ojkastl_buildservice:Testing_Tumbleweed | rubygem-liquid-testsuite | package | 2.6.1-3.1 | i586 | ojkastl_buildservice:Testing_Tumbleweed
But even after installing liquid beforehand I still get the error. Any hints? Regards, Johannes - -- "And trust no-- Trust practically no-one. All right? Except trustworthy people." (Terry Pratchett: Jingo) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with SeaMonkey - http://www.enigmail.net/ iEYEARECAAYFAlN858AACgkQzi3gQ/xETbJLzACeJcOPZ9B8EREX0N2voH6ktgkp rzQAnRwf4LtM1z+9rqVQ9LS+xcpCEfcJ =zDs8 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On Wed, 21 May 2014 19:52:00 +0200
Johannes Kastl
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi everyone,
I have a funny issue with a dependency from a rubygem, depending on another rubygem:
$ LANG=POSIX sudo zypper in rubygem-jekyll Loading repository data... Reading installed packages... Resolving package dependencies...
Problem: nothing provides rubygem(2.0.0:liquid:2.5) >= 2.5.5 needed by rubygem-jekyll-2.0.3-3.2.x86_64 Solution 1: do not install rubygem-jekyll-2.0.3-3.2.x86_64 Solution 2: break rubygem-jekyll-2.0.3-3.2.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/c] (c): ^C $ LANG=POSIX sudo zypper in rubygem-liquid Loading repository data... Reading installed packages... Resolving package dependencies...
The following NEW package is going to be installed: rubygem-liquid
1 new package to install. Overall download size: 76.0 KiB. After the operation, additional 116.3 KiB will be used. Continue? [y/n/? shows all options] (y): ^C
So jekyll depends on liquid, and I can install liquid. liquid is version 2.6.1, so it should satisfy jekyll's dependency on liquid
=2.5.5? Or am I missing something?
actually no, as require is rubygem(2.0.0:liquid:2.5) which means ruby version 2.0.0, gem liquid and major version 2.5 and >= 2.5.5 means that any version with between 2.5.4 and 2.6.0 satisfy it. It is our workaround for rubygem operator ~> which do what I describe above. For details see http://stackoverflow.com/questions/5170547/what-does-tilde-greater-than-mean... Josef -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 21.05.2014 19:57 Josef Reidinger wrote:
actually no, as require is rubygem(2.0.0:liquid:2.5)
Sorry, I'm confused. Does your 'no' mean the dependency is not satisfied? Or does it mean I'm missing nothing? And: I added an (additional?) dependency in the spec myself like this, to see if it would work out:
Requires: rubygem-liquid >= 2.5.5
But I guess somewhere in the build, a dependecy is added that results in the 'rubygem(2.0.0:liquid:2.5)'. To cut a long story short, other than downgrading liquid, how can I get jekyll to install? Regards, Johannes - -- `You should write a book,´ Ron told Hermione as he cut up his potatoes, `translating mad things girls do so boys can understand them.´ (Harry Potter and the Order of the Phoenix) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with SeaMonkey - http://www.enigmail.net/ iEYEARECAAYFAlN898QACgkQzi3gQ/xETbLvsgCaA0h5g6xHLyhNBMqPV7IWkwn2 FoAAnimR0SFZQuXaOgQPJ0mIgiM68wTl =+6bQ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On Wed, 21 May 2014 21:00:20 +0200
Johannes Kastl
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 21.05.2014 19:57 Josef Reidinger wrote:
actually no, as require is rubygem(2.0.0:liquid:2.5)
Sorry, I'm confused. Does your 'no' mean the dependency is not satisfied? Or does it mean I'm missing nothing?
no means, that dependency is not satisfied
And: I added an (additional?) dependency in the spec myself like this, to see if it would work out:
Requires: rubygem-liquid >= 2.5.5
But I guess somewhere in the build, a dependecy is added that results in the 'rubygem(2.0.0:liquid:2.5)'.
yes, it is automatic grabbed from gem specification - https://github.com/jekyll/jekyll/blob/master/jekyll.gemspec#L31
To cut a long story short, other than downgrading liquid, how can I get jekyll to install?
You need to install liquid that have version between 2.5.5 and 2.5.9999999 ( in short lower then 2.6.0 ) If you read url I write in my email you understand what "liquid ~> 2.5.5" specified for jekyll means. Josef
Regards, Johannes - -- `You should write a book,´ Ron told Hermione as he cut up his potatoes, `translating mad things girls do so boys can understand them.´ (Harry Potter and the Order of the Phoenix) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with SeaMonkey - http://www.enigmail.net/
iEYEARECAAYFAlN898QACgkQzi3gQ/xETbLvsgCaA0h5g6xHLyhNBMqPV7IWkwn2 FoAAnimR0SFZQuXaOgQPJ0mIgiM68wTl =+6bQ -----END PGP SIGNATURE-----
-- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
Johannes Kastl (mail@ojkastl.de) wrote:
On 21.05.2014 19:57 Josef Reidinger wrote:
actually no, as require is rubygem(2.0.0:liquid:2.5)
Sorry, I'm confused. Does your 'no' mean the dependency is not satisfied?
Yes, it is not satisfied; as Josef already said, liquid 2.6.1 does not satisfy the requirement for rubygem(2.0.0:liquid:2.5) >= 2.5.5.
And: I added an (additional?) dependency in the spec myself like this, to see if it would work out:
Requires: rubygem-liquid >= 2.5.5
Adding additional dependencies will not cause existing ones to be satisfied.
But I guess somewhere in the build, a dependecy is added that results in the 'rubygem(2.0.0:liquid:2.5)'.
Correct. This is all explained here: https://en.opensuse.org/openSUSE:Packaging_Ruby#How_gem_dependencies_are_aut...
To cut a long story short, other than downgrading liquid, how can I get jekyll to install?
I presume you want a *working* install not just an install[0], in which case you need to install a version of rubygem-liquid which satisfies the ~> 2.5.5 requirement. "osc se -V rubygem-liquid" suggests that there is no such version available in OBS, which leads me to suspect that it may have been broken by: https://build.opensuse.org/package/rdiff/devel:languages:ruby:extensions/rubygem-jekyll?linkrev=base&rev=18 So you can either build one yourself, or ask nicely for someone else to fix it. The best way to do the latter is probably by clicking the "Report Bug" link from https://build.opensuse.org/package/show/devel:languages:ruby:extensions/ruby... [0] If you only want the latter, you could force it to ignore the dependencies. -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 21.05.2014 21:24 Adam Spiers wrote:
I presume you want a *working* install not just an install[0], in which case you need to install a version of rubygem-liquid which satisfies the ~> 2.5.5 requirement. "osc se -V rubygem-liquid" suggests that there is no such version available in OBS, which leads
I just created a version for 2.5.5 in my home-project, and see how it works... Regards, Johannes - -- I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with SeaMonkey - http://www.enigmail.net/ iEYEARECAAYFAlN9Ag8ACgkQzi3gQ/xETbKehACfdfNcs552owncM54+4KuLZSQ+ +rcAnicuLDYnoauSDgHsJajOfX+4AAy2 =V5gk -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
participants (3)
-
Adam Spiers
-
Johannes Kastl
-
Josef Reidinger