Vagrant 1.5.4 depends on Ruby >= 2.0.0:

  https://github.com/mitchellh/vagrant/pull/3581

What's the correct way to ensure that rubygem-vagrant builds against
ruby20 on openSUSE 12.3 and 13.1?

On 12.3, by default (i.e. without any explicit dependencies on a Ruby
version) it builds against 1.9 and then fails as soon as it encounters
use of ** keyword parameters.

If I use the dependencies suggested by gem2rpm via the .spec template:

  BuildRequires:  ruby-macros >= 3
  Requires:       ruby >= 2.0.0
  BuildRequires:  ruby >= 2.0.0

(I guess the >= 2.0.0 might have come from my patch in the above pull request)

then I get:

  $ osc build openSUSE_13.1
  Building rubygem-vagrant.spec for openSUSE_13.1/x86_64
  Getting buildinfo from server and store to 
/home/adam/SUSE/OBS/home/aspiers/branches/devel/languages/ruby/extensions/rubygem-vagrant/.osc/_buildinfo-openSUSE_13.1-x86_64.xml
  Getting buildconfig from server and store to 
/home/adam/SUSE/OBS/home/aspiers/branches/devel/languages/ruby/extensions/rubygem-vagrant/.osc/_buildconfig-openSUSE_13.1-x86_64
  buildinfo is broken... it says:
  unresolvable: nothing provides ruby >= 2.0.0

and the same for 12.3.

Weirdly, if I drop the patch-level from the dependencies, i.e.

  Requires:       ruby >= 2.0
  BuildRequires:  ruby >= 2.0

then it builds fine.  I'm guessing that this is because Ruby on
vanilla 13.1 was packaged with version 2.0 rather than version 2.0.0.
What was the reason for that decision?

If instead I try building against d:l:r ...

  $ osc build devel_languages_ruby_openSUSE_12.3

or

  $ osc build devel_languages_ruby_openSUSE_13.1

then it builds against 2.1.0 and fails to install:

  $ sudo rpm -ihv 
/var/tmp/build-root/devel_languages_ruby_openSUSE_13.1/x86_64/home/abuild/rpmbuild/RPMS/x86_64/rubygem-vagrant-1.5.4-0.x86_64.rpm
  error: Failed dependencies:
          ruby >= 2.0.0 is needed by rubygem-vagrant-1.5.4-0.x86_64
          ruby(abi) = 2.1.0 is needed by rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:bundler) >= 1.5.2 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:childprocess:0.5) >= 0.5 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:erubis:2.7) >= 2.7 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:i18n:0.6) >= 0.6 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:listen:2.7) >= 2.7.1 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:log4r) < 1.1.11 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:log4r:1.1) >= 1.1.9 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:net-scp:1.1) >= 1.1 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:net-ssh) >= 2.6.6 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:net-ssh) < 2.8.0 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
          rubygem(2.1.0:rb-kqueue:0.2) >= 0.2 is needed by 
rubygem-vagrant-1.5.4-0.x86_64
  $ sudo zypper in 
/var/tmp/build-root/devel_languages_ruby_openSUSE_13.1/x86_64/home/abuild/rpmbuild/RPMS/x86_64/rubygem-vagrant-1.5.4-0.x86_64.rpm
  Loading repository data...
  Reading installed packages...
  Resolving package dependencies...

  Problem: nothing provides rubygem(2.1.0:bundler) >= 1.5.2 needed by 
rubygem-vagrant-1.5.4-0.x86_64
   Solution 1: do not install rubygem-vagrant-1.5.4-0.x86_64
   Solution 2: break rubygem-vagrant-1.5.4-0.x86_64 by ignoring some of its 
dependencies

  Choose from above solutions by number or cancel [1/2/c] (c):

Thanks!
-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to