Skip to content

Commit

Permalink
Alternative more localized fix that is messy in its own way
Browse files Browse the repository at this point in the history
  • Loading branch information
ANogin committed Jul 4, 2024
1 parent f375f7d commit 986aaa0
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 30 deletions.
19 changes: 1 addition & 18 deletions build_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,34 +243,17 @@ def create_dockerfile_finish(config: OfrakImageConfig) -> str:
f"ARG OFRAK_SRC_DIR=/\n",
]
package_names = list()
stage_package_names = list()
for package_path in config.packages_paths:
package_name = os.path.basename(package_path)
package_names.append(package_name)
dockerfile_finish_parts.append(f"ADD {package_path} $OFRAK_SRC_DIR/{package_name}\n")
# Workaround for cyclic test dependencies
# https://github.com/redballoonsecurity/ofrak/issues/419
with open(os.path.join(package_path, "Makefile")) as f:
for line in f:
if "STAGE" in line:
stage_package_names.append(package_name)
break
dockerfile_finish_parts.append("\nWORKDIR /\n")
dockerfile_finish_parts.append("ARG INSTALL_TARGET\n")
develop_makefile = "\\n\\\n".join(
[
"$INSTALL_TARGET:",
"\\n\\\n".join(
[
f"\t\\$(MAKE) -C {package_name} STAGE=1 $INSTALL_TARGET"
for package_name in package_names
]
),
"\\n\\\n".join(
[
f"\t\\$(MAKE) -C {package_name} STAGE=2 $INSTALL_TARGET"
for package_name in stage_package_names
]
[f"\t\\$(MAKE) -C {package_name} $INSTALL_TARGET" for package_name in package_names]
),
"\\n",
]
Expand Down
16 changes: 5 additions & 11 deletions ofrak_core/Makefile
Original file line number Diff line number Diff line change
@@ -1,23 +1,17 @@
PYTHON=python3
PIP=pip3
STAGE=2

.PHONY: install
install: ofrak/gui/public
$(PIP) install .


# Workaround for cyclic test dependencies
# https://github.com/redballoonsecurity/ofrak/issues/419
ifeq ($(STAGE), 1)
DEVELOP_TARGET=.
else
DEVELOP_TARGET=.[docs,test]
endif

.PHONY: develop
develop: ofrak/gui/public
$(PIP) install -e $(DEVELOP_TARGET)
# Workaround for https://github.com/redballoonsecurity/ofrak/issues/419
$(PIP) install -e .
if [ -d ../disassemblers ]; then $(MAKE) -C ../disassemblers/ofrak_angr develop; else $(MAKE) -C ../ofrak_angr develop; fi
if [ -d ../disassemblers ]; then $(MAKE) -C ../disassemblers/ofrak_capstone develop; else $(MAKE) -C ../ofrak_capstone develop; fi
$(PIP) install -e .[docs,test]

.PHONY: inspect
inspect:
Expand Down
2 changes: 1 addition & 1 deletion ofrak_core/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def read_requirements(requirements_path):
extras_require={
"docs": read_requirements("requirements-docs.txt"),
"test": [
"ofrak_angr~=1.0.1",
"ofrak_angr~=1.0",
"ofrak_capstone~=1.0",
]
+ read_requirements("requirements-test.txt"),
Expand Down

0 comments on commit 986aaa0

Please sign in to comment.