Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 635092 - dev-ruby/rspec-core-2.99.2-r2: Could not find 'rspec' (~> 2.0) among 17 total g em(s) (Gem::MissingSpecError)
Summary: dev-ruby/rspec-core-2.99.2-r2: Could not find 'rspec' (~> 2.0) among 17 tota...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks:
 
Reported: 2017-10-22 20:04 UTC by Thomas Deutschmann (RETIRED)
Modified: 2019-07-26 05:28 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2017-10-22 20:04:10 UTC
While trying to stabilize dev-ruby/rspec-2.99.0 and friends (bug 634508) on x86 I keyworded

dev-ruby/rspec-2.99.0
dev-ruby/rspec-core-2.99.2-r2
dev-ruby/rspec-mocks-2.99.2
dev-ruby/rspec-expectations-2.99.2

and enabled tests for each of them. This failed multiple times due to circular dependencies. Once I broke the known loop I think I found another one:

# emerge -a1 dev-ruby/rspec-expectations

These are the packages that would be merged, in order:

Calculating dependencies... done!


[nomerge       ] dev-ruby/rspec-expectations-3.5.0:3::gentoo  USE="{test}" RUBY_TARGETS="ruby22 (-ruby23)"
[ebuild  N     ]  dev-ruby/rspec-3.5.0:3::gentoo  USE="{test}" RUBY_TARGETS="ruby22 (-ruby23)" 0 KiB
[ebuild  N     ]   dev-ruby/rspec-core-3.5.4:3::gentoo  USE="{test} -doc -highlight" RUBY_TARGETS="ruby22 (-ruby23)" 0 $
iB
[ebuild  N     ]    dev-ruby/rspec-mocks-3.5.0:3::gentoo  USE="{test}" RUBY_TARGETS="ruby22 (-ruby23)" 0 KiB
[ebuild  N     ]     dev-ruby/rspec-expectations-3.5.0:3::gentoo  USE="{test}" RUBY_TARGETS="ruby22 (-ruby23)" 0 KiB

Total: 4 packages (4 new), Size of downloads: 0 KiB

 * Error: circular dependencies:

(dev-ruby/rspec-mocks-3.5.0:3/3::gentoo, ebuild scheduled for merge) depends on
 (dev-ruby/rspec-core-3.5.4:3/3::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-ruby/rspec-mocks-3.5.0:3/3::gentoo, ebuild scheduled for merge) (buildtime)

It might be possible to break this cycle
by applying any of the following changes:
- dev-ruby/rspec-core-3.5.4 (Change USE: -test)
- dev-ruby/rspec-mocks-3.5.0 (Change USE: -test)

Note that this change can be reverted, once the package has been installed.

Note that the dependency graph contains a lot of cycles.
Several changes might be required to resolve all cycles.
Temporarily changing some use flag for all packages might be the better option.


# emerge -a1 '=dev-ruby/rspec-2.99.0'

These are the packages that would be merged, in order:

Calculating dependencies... done!


[ebuild  N    ~] dev-ruby/rspec-2.99.0:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 6 KiB
[ebuild  N    ~]  dev-ruby/rspec-core-2.99.2-r2:2::gentoo  USE="{test} -doc" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 208 K
iB
[ebuild  N    ~]   dev-ruby/rspec-mocks-2.99.2:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 100 KiB
[ebuild  N    ~]    dev-ruby/rspec-expectations-2.99.2:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 105
 KiB

Total: 4 packages (4 new), Size of downloads: 418 KiB

 * Error: circular dependencies:

(dev-ruby/rspec-mocks-2.99.2:2/2::gentoo, ebuild scheduled for merge) depends on
 (dev-ruby/rspec-expectations-2.99.2:2/2::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-ruby/rspec-mocks-2.99.2:2/2::gentoo, ebuild scheduled for merge) (buildtime)

It might be possible to break this cycle
by applying any of the following changes:
- dev-ruby/rspec-expectations-2.99.2 (Change USE: -test)
- dev-ruby/rspec-mocks-2.99.2 (Change USE: -test)

Note that this change can be reverted, once the package has been installed.

Note that the dependency graph contains a lot of cycles.
Several changes might be required to resolve all cycles.
Temporarily changing some use flag for all packages might be the better option.


# emerge -a1 '=dev-ruby/rspec-2.99.0'

These are the packages that would be merged, in order:

Calculating dependencies... done!


[ebuild  N    ~] dev-ruby/rspec-2.99.0:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 6 KiB
[ebuild  N    ~]  dev-ruby/rspec-mocks-2.99.2:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 100 KiB
[ebuild  N    ~]   dev-ruby/rspec-core-2.99.2-r2:2::gentoo  USE="{test} -doc" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 208
KiB

Total: 3 packages (3 new), Size of downloads: 313 KiB

 * Error: circular dependencies:

(dev-ruby/rspec-mocks-2.99.2:2/2::gentoo, ebuild scheduled for merge) depends on
 (dev-ruby/rspec-core-2.99.2-r2:2/2::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-ruby/rspec-mocks-2.99.2:2/2::gentoo, ebuild scheduled for merge) (buildtime)

It might be possible to break this cycle
by applying any of the following changes:
- dev-ruby/rspec-core-2.99.2-r2 (Change USE: -test)
- dev-ruby/rspec-mocks-2.99.2 (Change USE: -test)

Note that this change can be reverted, once the package has been installed.

Note that the dependency graph contains a lot of cycles.
Several changes might be required to resolve all cycles.
Temporarily changing some use flag for all packages might be the better option.



# emerge -a1 '=dev-ruby/rspec-2.99.0'                                                  [61/5954]

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ~] dev-ruby/rspec-mocks-2.99.2:2::gentoo  USE="{-test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 100 KiB
[ebuild  N     ] dev-ruby/zentest-4.11.0::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22 (-ruby23)" 70 KiB
[ebuild  N     ] dev-ruby/syntax-1.2.0-r1::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22 (-ruby23)" 40 KiB
[ebuild  N     ] dev-ruby/pkg-config-1.1.7::gentoo  USE="{-test}" RUBY_TARGETS="ruby22 (-ruby23) (-ruby24)" 19 KiB
[ebuild  N     ] dev-ruby/hoe-3.13.0-r1::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22" 127 KiB
[ebuild  N     ] dev-ruby/rexical-1.0.5-r3::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22 (-ruby23) (-ruby24)" 20 KiB
[ebuild  N     ] dev-ruby/diff-lcs-1.2.5-r1::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22 (-ruby23) (-ruby24)" 0 KiB
[ebuild  N    ~] dev-ruby/rspec-expectations-2.99.2:2::gentoo  USE="{-test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 105 K
iB
[ebuild  N     ] dev-ruby/nokogiri-1.6.8.1::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby22 (-ruby23)" 5,575 KiB
[ebuild  N    ~] dev-ruby/rspec-core-2.99.2-r2:2::gentoo  USE="{test} -doc" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 208 Ki
B
[ebuild  N    ~] dev-ruby/rspec-2.99.0:2::gentoo  USE="{test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24" 6 KiB

Total: 11 packages (11 new), Size of downloads: 6,268 KiB

Would you like to merge these packages? [Yes/No] y


>>> Jobs: 9 of 11 complete, 1 failed                Load avg: 5.01, 3.98, 3.23
 * Package:    dev-ruby/rspec-core-2.99.2-r2
 * Repository: gentoo
 * Maintainer: ruby@gentoo.org
 * USE:        abi_x86_32 elibc_glibc kernel_linux ruby_targets_ruby22 test userland_GNU x86
 * FEATURES:   preserve-libs sandbox test userpriv usersandbox
>>> Unpacking source...
 * Running unpack phase for all ...
>>> Unpacking rspec-core-2.99.2-git.tgz to /var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/work/all
>>> Source unpacked in /var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/work
>>> Preparing source in /var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/work ...
 * Running prepare phase for all ...
 * Running source copy phase for ruby22 ...
 * Running prepare phase for ruby22 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/work ...
 * Running compile phase for all ...
>>> Source compiled.
>>> Test phase: dev-ruby/rspec-core-2.99.2-r2
 * Running test phase for ruby22 ...
/usr/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:308:in `to_specs': Could not find 'rspec' (~> 2.0) among 17 total g
em(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/var/tmp/portage/dev-ruby/rspec-core-2.99.2-r2/homedir/.gem/ruby/2.2.0:/usr/local/lib/ruby/gems/2.2
.0:/usr/lib/ruby/gems/2.2.0', execute `gem env` for more information
        from /usr/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:320:in `to_spec'
        from /usr/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
        from bin/rspec:2:in `<main>'
 * ERROR: dev-ruby/rspec-core-2.99.2-r2::gentoo failed (test phase):
 *   Tests failed.
Comment 1 Larry the Git Cow gentoo-dev 2019-07-26 05:28:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f0cfbe69c9e39ee68a019ab9d20eac5493f969a

commit 2f0cfbe69c9e39ee68a019ab9d20eac5493f969a
Author:     Hans de Graaff <graaff@gentoo.org>
AuthorDate: 2019-07-26 05:26:57 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2019-07-26 05:27:46 +0000

    dev-ruby/rspec-core: add missing test dependency
    
    Add missing test dependency on dev-ruby/rspec:2. Required because we
    need to ensure that we don't load rspec 3 when it is present and we
    cannot do that without using the gem versioning.
    
    Fixes: https://bugs.gentoo.org/635092
    Package-Manager: Portage-2.3.66, Repoman-2.3.16
    Signed-off-by: Hans de Graaff <graaff@gentoo.org>

 dev-ruby/rspec-core/rspec-core-2.99.2-r2.ebuild | 1 +
 1 file changed, 1 insertion(+)