嵌入式系統因為是由數種open-source所組合而成的,而每一種都有它的授權條款(License),而每一種的License都有不同的需求和效用,所以要挑選原件時要特別注意。那buildroot裡面那麼多的套件,要怎麼知道裡面所有你會用到的套件的License是什麼呢?這部分多虧了buildroot也有幫我們整理,只要一行指令,系統就會幫你全部產生相關的License資訊:

$ make legal-info

產出來的License可想而知,就會出現在『build/output/legal-info』底下,底下列出幾個主要的資訊:

  • host-manifest.csv
    這個檔案裡面整理了host套件的版本資訊,License資訊等等。

  • host-licenses/<pkg>/
    這個資料夾底下整理了所有個別host套件的License資訊。

  • manifest.csv
    這個檔案裡面整理了target board套件的版本資訊,License資訊等等。

  • licenses/<pkg>/
    這個資料夾底下整理了所有個別target board套件的License資訊。

以上這些資訊,全部都依賴於每個套件『mk』檔裡面的三個變數:

  • <pkg>_LICENSE
    這個變數需要列出所有的License (用逗號隔開),後面也可以特別註明哪個部份適用於這個License,並且文字格式最好可以參考一下『 https://spdx.org/licenses/』。

  • <pkg>_LICENSE_FILES
    這個變數需要所有關於License的檔案路徑,數個檔案的話須用空格隔開。

  • <pkg>_REDISTRIBUTE
    代表這個套件能不能被轉發,如果NO的話,建置licese report的時候就不會產生相關報表。

底下是一個acl套件的簡單例子:

可以看到acl套件有兩個Licenses,而且也有兩個Licenses的檔案。

results matching ""

    No results matching ""