* ci: run the fuzz target on PRs
using https://google.github.io/oss-fuzz/getting-started/continuous-integration/
It downloads the corpus OSS-Fuzz has accumulated so far (including the
test cases that triggered issues in the past) and runs the fuzz target
with it. It should help to catch most regressions when PRs are opened.
Prompted by https://github.com/secdev/scapy/pull/4373.
* dcerpc: turn print into log_runtime.warning
to make it possible to turn it off with logging.disable().
(it should help to make the fuzz target less chatty among other things
because it seems to be the only dissector (covered by the fuzz target)
printing messages like that directly)
* Build and check the wheel in the twine check as well
It should help to make sure that scapy can be installed from PyPI (or
any other package index) using pip and its sdist.
The check switched to the "build" build frontend because it builds
wheels from sdists by default:
https://pypa-build.readthedocs.io/en/stable/#python--m-build
* Remove README
In 669506bd42 scapy switched to
pyproject.toml where 'readme' is dynamic and should be supplied by
setup.py. setup.py reads README.md and it works from inside the source
tree but since README.md isn't included in the sdist it fails when pip
or the build frontend builds the wheel from the sdist with:
```
distutils.errors.DistutilsOptionError: No configuration found for dynamic 'readme'.
Some dynamic fields need to be specified via `tool.setuptools.dynamic`
others must be specified via the equivalent attribute in `setup.py`.
```
This patch addresses that by removing README and letting setuptools
include README.md to the sdist automatcially.
README was added in 4f71027fcd in 2016 and back then it probably made
sense because setuptools didn't include README.md in the sdist
automatically. These days setuptools can handle README.md just fine so
it's no longer necessary to keep README any more.
It makes it possible to build the wheel from the sdist again.
Fixes:
```
python3 -m build
...
* Building wheel from sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools>=62.0.0)
* Getting build dependencies for wheel...
...
File "/tmp/build-env-vtaxy4xl/lib64/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 351, in _obtain_readme
self._ensure_previously_set(dist, "readme")
File "/tmp/build-env-vtaxy4xl/lib64/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 307, in _ensure_previously_set
raise OptionError(msg)
distutils.errors.DistutilsOptionError: No configuration found for dynamic 'readme'.
Some dynamic fields need to be specified via `tool.setuptools.dynamic`
others must be specified via the equivalent attribute in `setup.py`.
ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
```
and
```
python3 -m pip install dist/scapy-2.5.0.dev56.tar.gz
Processing ./dist/scapy-2.5.0.dev56.tar.gz
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
...
```
It's a follow-up to 669506bd42
* Update doc: installation & build instructions
* Make sure VERSION is also exported in wheels
* Cleanup MANIFEST.in
* Add packaging instructions
* Add git archive unit test
* Use %(describe:tags=True)
* Update doc/scapy/installation.rst
Co-authored-by: Evgeny Vereshchagin <evvers@ya.ru>
---------
Co-authored-by: Evgeny Vereshchagin <evvers@ya.ru>
* Migrate to `pyproject.toml`
Co-authored-by: KOLANICH <kolan_n@mail.ru>
* Bump setuptools to 62.0.0
Otherwise we suffer from the bug described in pypa/setuptools, #3244
* Codecov: xml upload
---------
Co-authored-by: KOLANICH <kolan_n@mail.ru>
* remove scanner tests from pypy
* remove scanner tests from pypy
* Fix minor bug in argument passing of staged_test_cases
* remove scanner tests from all tests which are not allowed to fail
* update
* disable scanner tests for all tests which are not allowed to fail
* update default values of github CI
* try to fix ci
* try to fix ci
* try to fix ci
* try to fix ci
Co-authored-by: Nils Weiss <nils@dissec.to>
* Remove SID and DID from ISOTP and documentation
* remove scanner tests from pypy
* remove scanner tests from pypy
Co-authored-by: Nils Weiss <nils@dissec.to>