mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-17 20:35:40 +02:00
Make the renderers plugin directory a package
The pyinstaller specs gather plugin modules two different ways. The .py files are shipped verbatim by collect_data_files(include_py_files=True), while collect_submodules() supplies the hiddenimports that pyinstaller actually analyses for dependencies. The first walks the filesystem, the second walks pkgutil, and pkgutil skips a directory with no __init__.py. volatility3/framework/plugins/renderers has been such a directory since the arrow and parquet renderers moved into it, so parquet_renderer.py was copied into the binary but never analysed, and the pyarrow it imports was left out. The frozen build still advertised the arrow and parquet renderers, because the framework finds them at runtime with os.walk, and then died with an unhandled RuntimeError when either was selected. Adding the __init__.py makes pkgutil descend into the directory, which is all collect_submodules needs, and matches every other plugin subpackage. Both specs use the same collect_submodules line, so neither needs editing.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
# This file is Copyright 2025 Volatility Foundation and licensed under the Volatility Software License 1.0
|
||||
# which is available at https://www.volatilityfoundation.org/license/vsl-v1.0
|
||||
#
|
||||
"""All core renderer plugins.
|
||||
|
||||
These modules should only be imported from volatility3.plugins NOT
|
||||
volatility3.framework.plugins
|
||||
"""
|
||||
Reference in New Issue
Block a user