了解套件之間的相依性是非常重要的,這樣你會知道為什麼有些套件你沒用到,但是它又需要被建置,還是有些套件其實根本不需要,所以可以拿掉以節省空間等等。buildroot的相依性分析主要是以目前的組態檔去分析,然後呼叫一支python的程式去繪製-『buildroot/support/scripts/graph-depends』,結果會放在『$(0)/graphs』底下,這部分主要的指令有兩個:

  • make graph-depends 描述整個系統所有套件的相依性。
  • make <pkg>-graph-depends 這個target主要針對某個套件去描述相依性。

假設我們用『raspberrypi3_defconfig』去繪製相依性的話,結果如下:

(來源 : free-electrons )

輸出格式

預設是『pdf』,可以選擇其他格式,像是PNG, PostScript 或是 SVG,這邊可由變數『BR2_GRAPH_OUT』來設定:

BR2_GRAPH_OUT=svg

輸入參數

如果在繪製過程有其他的行為或客製分析的話,可以由變數『BR2_GRAPH_DEPS_OPTS』傳入,當你執行『make graph-depends』的時候就會去執行這些參數,可接受的有底下幾種參數:

  • --depth N, -d N,
    這個參數可以限制繪製的相依層級(深度),預設為0,代表沒有限制。

  • --stop-on PKG, -s PKG,
    這個參數定義了繪製到哪個套件就該停止了,這個套件的名字仍然會出現在關係圖上,但是child就不會出現了(eg. -s virtual,繪製到套件virtual時停止)。

  • --exclude PKG, -x PKG,
    跟上一個指令很像,但是不會包含這個套件。

  • --transitive, --no-transitive,
    想要了解其傳遞性的話,可以設置。

  • --colours R,T,H,
    如果你想要特別的區分Root 套件(R), target套件(T)和Host套件(H)的話,可以用這個參數來區分,預設的話是『--colours lightblue, grey, gainsboro 』。

results matching ""

    No results matching ""