python-yaml dependency is actually ptyhon3-yaml dependency
While installing Suricata (with suricata-update) from source on a clean Debian/Ubuntu system without having the pkg "python-yaml" present on the OS is triggering the following warning-
checking whether TPACKET_V3 is declared... yes checking whether SOF_TIMESTAMPING_RAW_HARDWARE is declared... yes checking for ./suricata-update/setup.py... yes Warning: suricata-update will not be installed as the depedency python-yaml is not installed. Debian/Ubuntu: apt install python-yaml Fedora: dnf install python-yaml CentOS/RHEL: yum install python-yaml
But suricata-update is installed only if the package "python3-yaml" is present on the system.
Package suggestions might get tricky, the Python 2 vs 3 also adds to the complexity here.
If the system has Python 3 installed, it will be used. So you need the Python 3 yaml module. If the system does not have Python 3, Python 2 will be used, so you will need the Python 2 yaml module.
Updated by Andreas Herz 9 months ago
We could use python3-yaml on recent fedora as well although we could also go for python3-pyyaml which the first is an alias to, same for CentOS 8.
I would propose:
Debian/Ubuntu: apt install python3-yaml Fedora: dnf install python3-pyyaml CentOS/RHEL: yum install python3-pyyaml
Can we close this? Git master now handles this a little differently. For example, if the Python yaml module is missing, this is now the message:
Warning: suricata-update will not be installed as the Python yaml module is not installed.. Install the yaml module for Python 2 to enable suricata-update.
With the following in the ./configure summary:
Python support: yes Python path: /bin/python2.7 Python distutils yes Python yaml no Install suricatactl: yes Install suricatasc: yes Install suricata-update: no, requires pyyaml
The idea here to keep from trying to be correct on every distro, which is getting harder, yet still give enough info to know whats wrong.
Perhaps a Wiki page for distribution specific installation notes.