As bloodhound-ce-python and bloodhound-python targets different softwares (BH v5 and BH v4), it is useful to have both installed at the same time.
However, from the package structure, files deployed conflicts prevent to get both installed simultaneously. Changing the 2 following lines by adding the -ce suffix in setup.py is not enough.
|
setup(name='bloodhound-ce', |
|
'console_scripts': ['bloodhound-ce-python=bloodhound:main'] |
The conflict happens under usr/lib/python3.13/site-packages/bloodhound/*, the CE version should propably be deployed under usr/lib/python3.13/sote-packages/bloodhound-ce/* instead.

All those files are conflicting:
➜ comm -1 -2 <(tar tvf packages/bloodhound-python/bloodhound-python-v1.0.1.r163.g44bd5c2-1-any.pkg.tar.zst | awk '{print $6}' | sort ) <(tar tvf packages/bloodhound-python-ce/bloodhound-python-ce-v1.0.1.r182.g3def775-1-any.pkg.tar.zst | awk '{print $6}' | sort )
[…]
usr/lib/python3.13/site-packages/bloodhound/
usr/lib/python3.13/site-packages/bloodhound/ad/
usr/lib/python3.13/site-packages/bloodhound/ad/authentication.py
usr/lib/python3.13/site-packages/bloodhound/ad/computer.py
usr/lib/python3.13/site-packages/bloodhound/ad/domain.py
usr/lib/python3.13/site-packages/bloodhound/ad/dumpntlm.py
usr/lib/python3.13/site-packages/bloodhound/ad/__init__.py
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/authentication.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/authentication.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/computer.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/computer.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/domain.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/domain.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/dumpntlm.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/dumpntlm.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/__init__.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/__init__.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/structures.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/structures.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/trusts.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/trusts.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/utils.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/__pycache__/utils.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/ad/structures.py
usr/lib/python3.13/site-packages/bloodhound/ad/trusts.py
usr/lib/python3.13/site-packages/bloodhound/ad/utils.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/
usr/lib/python3.13/site-packages/bloodhound/enumeration/acls.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/computers.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/domains.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/__init__.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/memberships.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/objectresolver.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/outputworker.py
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/acls.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/acls.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/computers.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/computers.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/domains.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/domains.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/__init__.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/__init__.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/memberships.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/memberships.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/objectresolver.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/objectresolver.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/outputworker.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/enumeration/__pycache__/outputworker.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/__init__.py
usr/lib/python3.13/site-packages/bloodhound/lib/
usr/lib/python3.13/site-packages/bloodhound/lib/cstruct.py
usr/lib/python3.13/site-packages/bloodhound/lib/__init__.py
usr/lib/python3.13/site-packages/bloodhound/lib/__pycache__/
usr/lib/python3.13/site-packages/bloodhound/lib/__pycache__/cstruct.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/lib/__pycache__/cstruct.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/lib/__pycache__/__init__.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/lib/__pycache__/__init__.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/__main__.py
usr/lib/python3.13/site-packages/bloodhound/__pycache__/
usr/lib/python3.13/site-packages/bloodhound/__pycache__/__init__.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/__pycache__/__init__.cpython-313.pyc
usr/lib/python3.13/site-packages/bloodhound/__pycache__/__main__.cpython-313.opt-1.pyc
usr/lib/python3.13/site-packages/bloodhound/__pycache__/__main__.cpython-313.pyc
[…]
As bloodhound-ce-python and bloodhound-python targets different softwares (BH v5 and BH v4), it is useful to have both installed at the same time.
However, from the package structure, files deployed conflicts prevent to get both installed simultaneously. Changing the 2 following lines by adding the
-cesuffix in setup.py is not enough.BloodHound.py/setup.py
Line 3 in 3def775
BloodHound.py/setup.py
Line 28 in 3def775
The conflict happens under
usr/lib/python3.13/site-packages/bloodhound/*, the CE version should propably be deployed underusr/lib/python3.13/sote-packages/bloodhound-ce/*instead.All those files are conflicting: