Skip to content

Clarify distro qualifier per purl type? #423

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
gernot-h opened this issue Mar 14, 2025 · 1 comment
Open

Clarify distro qualifier per purl type? #423

gernot-h opened this issue Mar 14, 2025 · 1 comment
Milestone

Comments

@gernot-h
Copy link
Contributor

gernot-h commented Mar 14, 2025

The spec only briefly mentions distro as an example for a qualifier, but doesn't provide exact format.

In the purl types document, it's mentioned in several sections, but also not really narrowing down the format. This leads to some ambiguities already in the spec, I think:

  • bitnami uses distro=debian-12 in the examples, while deb uses the codename, ie. distro=jessie. This might make sense as bitnami has a broader scope, but it's still confusing due to unclear scope if you just search for distro examples.
  • apk mentions that the package repo shall be implied from distro or repository_url qualifier, but the examples use neither of both, so I'm unsure whether I should use only the branch name (alpine-3.20), which would be enough to know the repo, or the full release version (alpine-3.20.3) which is what e.g. Syft seems to use.

So my question is, should we have a general recommended format for this qualifier or better try to specify it only in the according sections? I personally think having a general format might be impossible, probably we could only state whether it should contain the namespace or type part or not. I could start by making a suggestion for deb and apk types, if we agree on that approach.

Or is the expectation that parsers should be flexible enough to accept different formats? I think this would be hard to reach, thinking of Debian, it could at least be "codename", "debian-codename", "debian-major", "debian-major.minor" etc.

@gernot-h
Copy link
Contributor Author

Note that for many distributions using this qualifier is crucial as package release versions are per distro release, so pkg:apk/alpine/[email protected] is ambiguous as it refers to a different package (with different sources), depending if you use Alpine 3.20 or 3.21.

@jkowalleck jkowalleck changed the title Clarify distro specifier per purl type? Clarify distro qualifier per purl type? Mar 18, 2025
@johnmhoran johnmhoran added this to the 1.1 milestone Apr 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants