allows for single purl to be provided on the cli: grype pkg:apk/curl@7.61.1 --distro alpine:3.20.3. Closes #2225
infers a distro from a set of purls given (as long as there are no conflicting distros provided)
fixes #2192, which reported packages being dropped sporadically from scans when using a purl file as input
I found that RPM epoch was being added to the version field within the PURL on any packages which are created, which is incorrect. I've updated this to keep the original version field in the PURL intact.
This PR makes a few changes to purl processing:
grype pkg:apk/curl@7.61.1 --distro alpine:3.20.3
. Closes #2225