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
列出軟體的版本號碼或修訂版本 ID。如果 版本列在 URL 或修訂記錄中, 省略。
Version: 7.6
License
元件發布依據的授權。僅限標準表單 的部分,例如MIT/X11、BSD、Apache 2.0。
License: BSD
License File
內含元件授權副本的檔案。必須輸入名稱 存放區中的現有檔案 (相對於
README.fuchsia
) 檔案。License File: LICENSE
必要時,您可以重複這個指令來加入多個檔案。
Upstream Git
這個元件的上游 Git 存放區連結 如果軟體分支版本來源軟體,則應加入這項規定 外部 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.