Bug 1467286 - Gem fail to install r10k after puppet_forge 2.2.7 has been released
Gem fail to install r10k after puppet_forge 2.2.7 has been released
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: ruby (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: ruby maint
BaseOS QE - Apps
Depends On:
  Show dependency treegraph
Reported: 2017-07-03 06:00 EDT by Alfredo Moralejo
Modified: 2017-07-03 07:34 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-07-03 07:34:38 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Alfredo Moralejo 2017-07-03 06:00:35 EDT
Description of problem:

puppet_forge 2.2.7 has been released upstream which depends on semantic_puppet ~> 1.0 which is incompatible with latest r10k which depends on semantic_puppet ~> 0.1.0

When trying to install r10k with rubygems- i get following error:

$ gem install r10k
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: r10k requires semantic_puppet (~> 0.1.0); puppet_forge requires semantic_puppet (~> 1.0)

However, in fedora 25, it falls back automatically to puppet_forge 2.2.6 and works fine:

$ export GEM_HOME=/tmp/test_r10k
[amoralej@faemino rdo1]$ mkdir /tmp/test_r10k
[amoralej@faemino rdo1]$ gem install r10k
Fetching: colored-1.2.gem (100%)
Successfully installed colored-1.2
Fetching: cri-2.6.1.gem (100%)
Successfully installed cri-2.6.1
Fetching: multipart-post-2.0.0.gem (100%)
Successfully installed multipart-post-2.0.0
Fetching: faraday-0.9.2.gem (100%)
Successfully installed faraday-0.9.2
Fetching: faraday_middleware-0.10.1.gem (100%)
Successfully installed faraday_middleware-0.10.1
Fetching: fast_gettext-1.1.0.gem (100%)
Successfully installed fast_gettext-1.1.0
Fetching: locale-2.1.2.gem (100%)
Successfully installed locale-2.1.2
Fetching: text-1.3.1.gem (100%)
Successfully installed text-1.3.1
Fetching: gettext-3.2.3.gem (100%)
Successfully installed gettext-3.2.3
Fetching: gettext-setup-0.25.gem (100%)
Successfully installed gettext-setup-0.25
Fetching: semantic_puppet-0.1.4.gem (100%)
Successfully installed semantic_puppet-0.1.4
Fetching: minitar-0.6.1.gem (100%)
The `minitar` executable is no longer bundled with `minitar`. If you are
expecting this executable, make sure you also install `minitar-cli`.
Successfully installed minitar-0.6.1
Fetching: puppet_forge-2.2.6.gem (100%)
Successfully installed puppet_forge-2.2.6
Fetching: r10k-2.5.5.gem (100%)
Successfully installed r10k-2.5.5
Parsing documentation for colored-1.2
Installing ri documentation for colored-1.2
Parsing documentation for cri-2.6.1
Installing ri documentation for cri-2.6.1
invalid options: -SHN
(invalid options are ignored)
Parsing documentation for multipart-post-2.0.0
Installing ri documentation for multipart-post-2.0.0
Parsing documentation for faraday-0.9.2
Installing ri documentation for faraday-0.9.2
Parsing documentation for faraday_middleware-0.10.1
Installing ri documentation for faraday_middleware-0.10.1
Parsing documentation for fast_gettext-1.1.0
Installing ri documentation for fast_gettext-1.1.0
Parsing documentation for locale-2.1.2
Installing ri documentation for locale-2.1.2
Parsing documentation for text-1.3.1
Installing ri documentation for text-1.3.1
Parsing documentation for gettext-3.2.3
Installing ri documentation for gettext-3.2.3
Parsing documentation for gettext-setup-0.25
Installing ri documentation for gettext-setup-0.25
Parsing documentation for semantic_puppet-0.1.4
Installing ri documentation for semantic_puppet-0.1.4
Parsing documentation for minitar-0.6.1
Installing ri documentation for minitar-0.6.1
Parsing documentation for puppet_forge-2.2.6
Installing ri documentation for puppet_forge-2.2.6
Parsing documentation for r10k-2.5.5
Installing ri documentation for r10k-2.5.5
Done installing documentation for colored, cri, multipart-post, faraday, faraday_middleware, fast_gettext, locale, text, gettext, gettext-setup, semantic_puppet, minitar, puppet_forge, r10k after 5 seconds
14 gems installed
$ gem --version
$ rpm -q rubygems

Version-Release number of selected component (if applicable):


How reproducible:

Allways (at least until the incompatible deps between latest r10k and puppet_forge is fixed upstream

Steps to Reproduce:
1. install rubygems

yum install rubygems -y

2. Install r10k

export GEM_HOME=/tmp/test_r10k
mkdir /tmp/test_r10k
gem install r10k

Actual results:

gem fails to install r10k

Expected results:

gem should install r10k and compatible version of puppet_forge

Additional info:
Comment 2 Pavel Valena 2017-07-03 06:38:35 EDT
For a quick workaround you can use:

$ gem install puppet_forge:2.2.6 r10k
Comment 3 Pavel Valena 2017-07-03 07:02:37 EDT
Alternatively, you can use bundler:

$ bundle install --path gems
Fetching gem metadata from https://rubygems.org/...........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Installing colored 1.2
Installing cri 2.6.1
Installing multipart-post 2.0.0
Installing faraday 0.9.2
Installing faraday_middleware 0.10.1
Installing fast_gettext 1.1.0
Installing locale 2.1.2
Installing text 1.3.1
Installing gettext 3.2.3
Installing gettext-setup 0.25
Installing log4r 1.1.10
Installing minitar 0.6.1
Installing multi_json 1.12.1
Installing semantic_puppet 0.1.4
Installing puppet_forge 2.2.6
Installing r10k 2.5.5
Using bundler 1.7.8
Your bundle is complete!
It was installed into ./gems
Post-install message from minitar:
The `minitar` executable is no longer bundled with `minitar`. If you are
expecting this executable, make sure you also install `minitar-cli`.

$ cat Gemfile
source 'https://rubygems.org'
gem 'r10k'

Comment 4 Vít Ondruch 2017-07-03 07:34:38 EDT
Hi Alfredo,

Thx for the report

Unfortunately, I am afraid there is no reasonable way to fix this, since the resolvers used by RubyGems in RHEL7 and RubyGems 2.5.2 in F25 are substantially different. The resolver was changed based on the known limitations of the original one.

Please consider usage of the workarounds above provided by Pavel.

I'm going to close this issue now, but please don't hesitate to reopen the issue in case the provided workarounds are not sufficient.

Note You need to log in before you can comment on or make changes to this bug.