-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix circular dependencies by making ofrak_angr
and ofrak_capstone
optional for ofrak_core
tests
#571
Fix circular dependencies by making ofrak_angr
and ofrak_capstone
optional for ofrak_core
tests
#571
Conversation
… optional for `ofrak_core` tests Fixes redballoonsecurity#420
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ANogin, please see comments -- once this is done, we can merge this in.
The comments suggest a short-term work-around to this issue.
Longer term, I'd like to have the following true:
ofrak-dev.yml
allows a user to build, test, and use the core ofrak components only. We need to remove theofrak_angr
andofrak_capstone
test dependencies here.ofrak-ghidra.yml
allows a user to build, test, and use ofrak with Ghidra.ofrak-angr.yml
allows a users to build, test, and use ofrak with angr.
This reverts commit a6cd200.
Isn't that what |
Sure, |
Co-authored-by: Wyatt <[email protected]>
@whyitfor does this require a Changelog entry? |
I think so. I'm generally thinking the following:
@rbs-jacob, does this make sense to you? |
Yup, sounds good to me. I think bumping versions before release is something we probably should have been doing the whole time, but I don't think anyone thought of it until recently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
One sentence summary of this PR (This should go in the CHANGELOG!)
Optmizes the build of the
--target=development
docker containers by removing theofrak_core
"forward" test dependencies onofrak_angr
andofrak_capstone
Link to Related Issue(s)
Fixes #419
Please describe the changes in your request.
#226 introduced an unfortunate issue (which I discovered using PR #218 - IMHO we really out to land that one, and use in CI) - when the docker build runs make develop, it would first go to ofrak_core, where the "test": "ofrak_angr"] dependency would cause it to download ofrak_angr from PyPI, then it would go into
ofrak_angr
and then the make develop there would overwrite the downloaded one with the local one (and similar withofrak_capstone
). With #417, this means that not only theofrak_angr
itself is downloaded from PyPI, but also the angr itself and all its dependencies installed inbase.Dockerfile
are updated to the versions required by theofrak_angr
from PyPI. Thenmake develop
would put them all back.A potentially even bigger issue is that the
ofrak-ghidra.yaml
container would use theofrak_angr
andofrak_capstone
from pypi, not the latest, so the testing in CI would not necessaily be accurately representative of what is actually going on!This appempts to fix the issues by:
ofrak_angr
andofrak_capstone
when those are not installedofrak-angr-ghidra.yml
container for all testsAnyone you think should look at this, specifically?
@whyitfor