From ab164c45292628c8632e1faf33ccc5d9762162da Mon Sep 17 00:00:00 2001 From: Anton Bolshakov Date: Wed, 26 May 2021 09:15:55 +0800 Subject: [PATCH] python_dependencies.py --- scripts/python_dependencies.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/python_dependencies.py b/scripts/python_dependencies.py index c1bee7e2f..6b69887f0 100755 --- a/scripts/python_dependencies.py +++ b/scripts/python_dependencies.py @@ -13,16 +13,17 @@ __email__ = "blshkv@pentoo.ch" def portage_mapping(search): mapping = { - "dev-python/prompt-toolkit": "dev-python/prompt_toolkit", + "dev-python/androguard": "dev-util/androguard", "dev-python/bs4": "dev-python/beautifulsoup:4", - "dev-python/ruamel.yaml": "dev-python/ruamel-yaml", - "dev-python/pycrypto": "dev-python/pycryptodome", "dev-python/Django": "dev-python/django", "dev-python/frida": "dev-python/frida-python", "dev-python/lief": "dev-util/lief", - "dev-python/androguard": "dev-util/androguard", - "dev-python/tls-parser": "dev-python/tls_parser", + "dev-python/prompt-toolkit": "dev-python/prompt_toolkit", + "dev-python/pycrypto": "dev-python/pycryptodome", "dev-python/pyOpenSSL": "dev-python/pyopenssl", + "dev-python/pypykatz": "app-exploits/pypykatz", + "dev-python/ruamel.yaml": "dev-python/ruamel-yaml", + "dev-python/tls-parser": "dev-python/tls_parser", } for key in mapping: @@ -30,12 +31,18 @@ def portage_mapping(search): return search def main(): + # setup.py can be generated by flit for pyproject.toml projects as a workaround setup = distutils.core.run_setup("./setup.py") -# print(setup.install_requires) + + if not hasattr(setup, 'install_requires') or len(setup.install_requires)==0: + print("RDEPEND=\"\"") + sys.exit(1) + #Debug: + #print(setup.install_requires) print("RDEPEND=\"") - for i in setup.install_requires: + for i in setup.install_requires: #match: my-na.me<5.0.0,>=4.0.0 #and match: my-na.me pattern = '([-.\w]+)(>=|>|==|=<|<)?([\d.]+)?(,)?(>=|>|==|=<|<)?([\d.]+)?' @@ -45,13 +52,12 @@ def main(): # print("Match0:", match.group(0) ) # else: # print("pattern not found") - if match.group(2) == ">=" or match.group(2) == "==": print("\t>="+portage_mapping("dev-python/"+match.group(1))+"-"+ match.group(3)+"[${PYTHON_USEDEP}]") elif match.group(5) == ">=" or match.group(5) == "==": print("\t>="+portage_mapping("dev-python/"+match.group(1))+"-"+ match.group(6)+"[${PYTHON_USEDEP}]") elif match.group(1): - print("\t"+portage_mapping("dev-python/"+match.group(1))) + print("\t"+portage_mapping("dev-python/"+match.group(1)+"[${PYTHON_USEDEP}]")) else: print("Error: fail to detect dependency name") sys.exit(1)