The basic issue is that RPM packages (and Debian packages) are supposed to be built in chroot environments without network access. The default RPM macros run the test suite for a package like this, which attempts to fetch the typing module using pip over the network which I want to avoid. With the change here the RPM package will detect the system installed "typing" module on Py2 and not use pip, and won't bother to check with Py3 as typing is builtin in that case.
The -e . syntax in requirements.txt means "get the requirements from setup.py".
I built an RPM package for scan-build today, and needed to make these changes. You can see my packaging work here: https://github.com/eklitzke/scan-build-rpm
The basic issue is that RPM packages (and Debian packages) are supposed to be built in chroot environments without network access. The default RPM macros run the test suite for a package like this, which attempts to fetch the typing module using pip over the network which I want to avoid. With the change here the RPM package will detect the system installed "typing" module on Py2 and not use pip, and won't bother to check with Py3 as typing is builtin in that case.
The
-e .
syntax inrequirements.txt
means "get the requirements from setup.py".