aboutcode-org / scancode-toolkit

:mag: ScanCode detects licenses, copyrights, dependencies by "scanning code" ... to discover and inventory open source and third-party packages used in your code. Sponsored by NLnet project https://nlnet.nl/project/vulnerabilitydatabase, the Google Summer of Code, Azure credits, nexB and others generous sponsors!
https://github.com/aboutcode-org/scancode-toolkit/releases/
2.11k stars 546 forks source link

Failure to collect RPM from RPM db in scancode.io #2500

Open pombredanne opened 3 years ago

pombredanne commented 3 years ago

This is a problem that came from running the toolkit on a Docker image https://hub.docker.com/r/ansible/awx_web/tags docker.io/ansible/awx_web:1.0.6 :

stat: path should be string, bytes, os.PathLike or integer, not NoneType

Traceback:
  File "/opt/scancodeio/scanpipe/pipelines/__init__.py", line 95, in execute
    step(self)
  File "/opt/scancodeio/scanpipe/pipelines/docker.py", line 79, in collect_and_create_system_packages
    docker.scan_image_for_system_packages(self.project, image)
  File "/opt/scancodeio/scanpipe/pipes/docker.py", line 123, in scan_image_for_system_packages
    for i, (purl, package, layer) in enumerate(installed_packages):
  File "/usr/local/lib/python3.9/site-packages/container_inspector/image.py", line 329, in get_installed_packages
    for purl, package in layer.get_installed_packages(packages_getter):
  File "/opt/scancodeio/scanpipe/pipes/rpm.py", line 31, in package_getter
    for package in packages:
  File "/usr/local/lib/python3.9/site-packages/packagedcode/rpm_installed.py", line 43, in parse_rpm_xmlish
    if not os.path.exists(location):
  File "/usr/local/lib/python3.9/genericpath.py", line 19, in exists
    os.stat(path)
pombredanne commented 3 years ago

@tdruez FYI