Skip to content

Package-URL (PURL) Specification #48

@justinmk

Description

@justinmk

Question

Does https://github.com/package-url/purl-spec overlap with packspec?

PURL introduces a standardized URL-based syntax that uniquely identifies software packages, independent of their ecosystem or distribution channel. Unlike traditional identification methods, PURL embeds critical metadata directly into its structure, enabling efficient, accurate package identification at scale. This standardization ensures interoperability between tools and ecosystems, fostering greater collaboration and reducing ambiguity in software supply chain management.

Challenges addressed by PURL:

  • Ambiguity in Package Identification
  • Cross-Ecosystem Interoperability
  • Enhanced Traceability and Risk Management
  • Tooling and Automation

PURL is gaining traction for creating Attribution Documents, aka Open Source Package Inventory (OSPI) files, to document licenses of dependencies used by software.

See also https://github.com/Xpertians/xmonkey-namonica

Example PURLs

pkg:deb/debian/[email protected]?arch=i386&distro=jessie
pkg:docker/cassandra@sha256:244fd47e07d1004f0aed9c
pkg:pypi/[email protected]
pkg:rpm/fedora/[email protected]?arch=i386&distro=fedora-25
pkg:rpm/opensuse/[email protected].?arch=i386&distro=opensuse-tumbleweed

Status

There is some overlap. Though it may not gain traction for declaring "ad hoc URL-driven dependencies" since (1) generating the canonical PURL is not easy, and (2) the tooling required to fetch the dep is heterogenous (not "just a git repo").

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