platformio/platformio-core

integrity.dat under libdeps seems to be order dependent?

オープン

#5,491 opened on 2026/08/05

 (4 件のコメント) (0 件のリアクション) (0 人の担当者)Python (791 件のフォーク)batch import
help wantedwontfix

Repository metrics

Stars
 (7,329 個のスター)
PR merge metrics
 (平均マージ 109d 16h) (30d で 5 merged PRs)

説明

I have been investigating an issue with our docker images whereby running

platformio pkg install 
platformio run

will cause the library dependencies to be reinstalled. From what I found, they can produce different orders in the resulting integrity.dat file.

In the platformio.ini, I have:

libdeps = 
    https://github.com/thomasfredericks/Bounce2#d744e0690f5b5d403f2847014fa1b16c72da9970
    solarcaratuva/boost-preprocessor@^1.77.0 

platformio pkg install creates an integrity.dat file with the same order:

https://github.com/thomasfredericks/Bounce2#d744e0690f5b5d403f2847014fa1b16c72da9970
solarcaratuva/boost-preprocessor@^1.77.0 

Whereas platformio run creates an integrity.dat file with a different ordering:

solarcaratuva/boost-preprocessor@^1.77.0
https://github.com/thomasfredericks/Bounce2#d744e0690f5b5d403f2847014fa1b16c72da9970

Changing the order of my libdeps to match the resolution order of platformio run fixes the problem for pkg install but I think they should could just sort the integrity.dat before checking for matches.

Version

PlatformIO Core, version 6.1.19

コントリビューターガイド