Skip to content

Julia PURL: UUID requirement discrepancy #802

@s-celles

Description

@s-celles

Hello,

pkg:julia/Dates or pkg:julia/NanoDates (without UUID) are rejected by PackageURLs.jl but accepted by other parsers (e.g., package-url-viewer which use packageurl-js)

Current test fixture (julia-test.json) marks it as invalid:

{
  "description": "invalid julia purl for package without uuid",
  "input": "pkg:julia/Dates",
  "expected_failure": true
}

Question: Is this a test fixture bug? Other PURL implementations appear more permissive.

Action: Check if julia-definition.json defines UUID as "requirement": "optional". If so, the test fixture could be incorrect.
Edit: It's required from

"requirement": "required",

Related: #789, purl-types-index.json, #540, #795

My opinion (which may be of very low importance) is that, as there is only one default Julia General Registry and one package with a unique name in this registry, uuid should be optional in order to have PURL quite short

Let's take pkg:julia/NanoDates as an example:

https://s-celles.github.io/package-url-viewer/?purl=pkg%3Ajulia%2FNanoDates points to
https://juliahub.com/ui/Packages/General/NanoDates

Pinging @Octogonapus and @mjherzog

I think situation should be fixed according decision:

  • if uuid are required then packageurl-js need to be stricter (or that's a mistake in my package-url-viewer implementation)
  • if uuid are not required then julia-test.json and PackageURLs.jl need to be more lenient

Any opinion?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions