README.fuchsia
文件用于为第三方源代码库添加注释
其中包含一些有用的元数据,例如代码源、版本、许可和安全
关键标签。
这些文件的格式由一个或多个指令行组成, 随后是非结构化的说明和备注。
指令由位于行开头的指令关键字组成, 后跟一个冒号,以及一个指向末尾的 代码行。该值前后可以包含空格 出现在指令之前或之间。
下面介绍了几个指令,但其他指令可能会显示
README.fuchsia
文件以及使用这些文件的软件不得
将未知指令的出现视为错误。同样,
此类软件在匹配指令关键字时不区分大小写。
广告内容描述是可选的,遵循 Description
指令
该行必须单独显示一行,且该行必须显示任何非结构化
说明文字。
语法
file := directive-line* description?
directive-line := directive | blank-line
directive := keyword ":" SPACE* value SPACE* EOL
value := NONBLANK ANYCHAR*
description := description-directive description-line*
description-directive := "Description:" SPACE* EOL
description-line := ANYCHAR* EOL
keyword := [A-Za-z0-9][A-Za-z0-9 ]*
blank-line := SPACE* EOL
SPACE := any whitespace character
EOL := end of line character
NONBLANK := any non-whitespace, non-EOL character
ANYCHAR := any character but EOL
常见指令关键字
常用的指令关键字包括:
Name
组件的描述性名称。如果名称 在上下文中不明显。
Name: OpenSSH
URL
组件所在的网址。如果组件是基于 然后明确列出来
URL: https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-7.6.tar.gz
否则,请列出供应商的网站。
URL: https://www.openssh.com/
如有必要,可重复该指令以包含多个 网址。
Version
列出软件的版本号或提交标识符。如果 网址或提交历史记录中表现出明显的版本,则可能是 。
Version: 7.6
License
分发组件的许可。仅限标准表单 被接受,例如MIT/X11、BSD、Apache 2.0。
License: BSD
License File
包含组件许可副本的文件。此名称必须为 代码库中的现有文件(相对于
README.fuchsia
) 文件。License File: LICENSE
如有必要,可重复使用该指令以包含多个文件。
Upstream Git
指向此组件所在的上游 Git 代码库的链接 都属于分支。对于从 Cloud Shell 中分支的所有软件, 使用外部 Git 代码库
Upstream Git: https://github.com/openssh/openssh-portable
Security Critical
一个
yes
或no
标签,用于指示软件包是否属于安全问题。 有助于评估软件包中的安全错误对 Fuchsia 的影响。如果软件包用于生产环境,并且执行任何 以下:
- 接受来自互联网的不可信输入
- 解析或解释复杂的输入格式
- 将数据发送到互联网服务器
- 收集新数据
- 影响或设置安全相关政策(包括用户体验)
- 使用对内存不安全的语言编写(例如:C/C++、Rust 与不安全 数据块)
此指令是必需的。
Security Critical: yes
Description
标记指令的结束和非结构化的开头 说明,它必须单独占据一行。
Description: A short description of what the package is and is used for.
Local Modifications
从 。
Local Modifications: Added README.fuchsia. Ported build rules from CMake to GN.