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.
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(+)