Mitmproxy 和安装 yocto 食谱

Mitmproxy and installation with yocto recipes

我想在占用空间小的嵌入式 Linux 环境中安装名为 Mitmproxy 的第三方工具,例如Raspberry PI.

我不想使用标准 Raspbian OS 安装,而是想使用 Yocto 自定义安装并定义包。这涉及编写配方来自定义安装的包。 here.

描述了一个很好的高级示例

不幸的是,这涉及到附加各种 Python3 包以及 pip-mitmproxy 以及 local.conf 文件中 pip-mitmproxy 的所有依赖项,例如

IMAGE_INSTALL_append = " python3" 
IMAGE_INSTALL_append = " pip-mitmproxy" 

在这种情况下需要添加不同的配方文件。

我发现的挑战是获取所有依赖项的正确版本。我看了看 import pkg_resources 但它似乎并没有给我所有的东西。是否有另一种推荐的方法,也许可以查看 source code.

我在普通 Linux Mint 上创建了 Python venv,所以 pip freeze 显示空列表

安装 mitmproxy 后,我再次 运行 pip freeze 它显示

blinker==1.4
Brotli==1.0.7
certifi==2020.6.20
cffi==1.14.1
click==7.1.2
cryptography==2.9.2
Flask==1.1.2
h11==0.9.0
h2==3.2.0
hpack==3.0.0
hyperframe==5.2.0
itsdangerous==1.1.0
Jinja2==2.11.2
kaitaistruct==0.8
ldap3==2.7
MarkupSafe==1.1.1
mitmproxy==5.2
passlib==1.7.2
protobuf==3.11.3
publicsuffix2==2.20191221
pyasn1==0.4.8
pycparser==2.20
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyperclip==1.8.0
ruamel.yaml==0.16.10
ruamel.yaml.clib==0.2.0
six==1.15.0
sortedcontainers==2.1.0
tornado==6.0.4
urwid==2.0.1
Werkzeug==1.0.1
wsproto==0.15.0
zstandard==0.13.0

但是很难说它是否需要一些 C/C++ 库。

例如 pyOpenSSL 需要库 OpenSSL 但我在 setup.py or setup.cfg 中找不到它。只有关于 openssl-devel 的信息,这意味着它可能需要 openssl.

看来唯一的办法就是安装 运行 以查看错误消息:)