Bug 712350

Summary: Please remove build time circular dependency with Rake.
Product: [Fedora] Fedora Reporter: Vít Ondruch <vondruch>
Component: rubygem-flexmockAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: mtasaka
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-28 20:12:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Removes Rake circular dependency
none
Removes Rake circular dependency none

Description Vít Ondruch 2011-06-10 11:43:13 UTC
Created attachment 504083 [details]
Removes Rake circular dependency

Description of problem:
Circular dependency with Rake is not necessary and it makes hard to bootstrap the build process.

Comment 1 Vít Ondruch 2011-06-10 12:05:11 UTC
Created attachment 504087 [details]
Removes Rake circular dependency

Comment 2 Mamoru TASAKA 2011-06-10 12:11:43 UTC
"Circular dependency" means BR: rubygem-rake pulls in rubygem-flexmock in buildroot??

http://kojipkgs.fedoraproject.org/packages/rubygem-flexmock/0.9.0/1.fc15/data/logs/noarch/root.log

No circular dependency is on building rubygem-flexmock.

Comment 3 Vít Ondruch 2011-06-10 12:24:21 UTC
It means that for build of Rake is required Flexmock while for build of Flexmock is required Rake. That is pain.

Comment 4 Mamoru TASAKA 2011-06-10 14:39:06 UTC
So the "issue" here is that rake rubygem-rake uses flexmock to check some functionality. Then it is possible that rake adds more and more tests using other external gems. It is similarly add that every time rubygem-rake adds such BR dependency you say such components to kill dependency on rubygem-rake instead.

And we can do bootstrap easily instead anyway - just don't to %check when needed - no need to use $ ruby -Ifoo craft.

Comment 5 Vít Ondruch 2011-06-10 15:11:40 UTC
Yes, I know how to bootstrap. I will need to do that several times, therefore it would help to remove the unnecessary dependency and the need of bootstrapping at all. You don't loose anything, but you win easier bootstrap.

Actually everytime you upgrade flexmock you should:
1) build flexmock
2) build rake
3) rebuild flexmock again to ensure that the circular build dependency is correct.

But if you remove the dependency on rake, then it is trimmed down to:
1) build flexmock
2) build rake to ensure that rake is not FTBFS.

Actually you should test every package which has BR or R on rake after update, which I don't expect is true, because we are not living in ideal world. However, if something doesn't depends on Rake, it cannot break due to update of Rake and vice versa.

Comment 6 Vít Ondruch 2012-02-28 20:12:22 UTC
It seems that flexmock is not needed to build rake anymore.