本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是包裹 URL?
软件@@ 包 URL 或 PURL
PURL 结构
PURL 结构类似于 URL,由多个组件组成:
-
pkg
— 字面前缀 -
type
— 包裹类型 -
namespace
— 分组 -
name
— 软件包名称 -
version
— 软件包版本 -
qualifiers
— 额外的键值对 -
subpath
— 包中的文件路径
示例 PURL
以下是 PURL 的外观示例。
pkg:<type>/<namespace>/<name>@<version>?<qualifiers>#<subpath>
通用的 PURL
通用 PURL 用于表示不适合已建立的软件包生态系统的软件包和组件,例如npmpypi、或maven。它可以识别软件组件并捕获可能与特定软件包管理系统不一致的元数据。通用 PURL 可用于各种软件项目,从已编译的二进制文件到平台,例如Apache和。WordPress它允许将其应用于各种用例,包括编译后的二进制文件、Web 平台和自定义软件发行版。
关键用例
-
支持编译后的二进制文件,对和很有用 Go Rust
-
支持 Web 平台,例如Apache和WordPress,其中软件包可能与传统的包管理器无关。
-
允许组织参考内部开发的软件或缺少正式软件包的系统,从而支持定制的传统软件。
格式示例
以下是通用 PURL 格式的示例。
pkg:generic/<namespace>/<name>@<version>?<qualifiers>
通用 PURL 格式的其他示例
以下是通用 PURL 格式的其他示例。
编译后的Go二进
以下是用 a inspector-sbomgen binary
编译的Go。
pkg:generic/inspector-sbomgen?go_toolchain=1.22.5
编译后的Rust二进
以下是用编译的myrustapp
二进制文件Rust。
pkg:generic/myrustapp?rust_toolchain=1.71.0
Apache 项目
以下是指Apache命名空间下的 http 项目。
pkg:generic/apache/httpd@1.0.0
WordPress 软件
以下是指核心WordPress软件。
pkg:generic/wordpress/core/wordpress@6.0.0
WordPress主题
以下是指自定义WordPress主题。
pkg:generic/wordpress/theme/mytheme@1.0.0
WordPress 插件
以下是指自定义WordPress插件。
pkg:generic/wordpress/plugin/myplugin@1.0.0