platformio/platformio-core

integrity.dat under libdeps seems to be order dependent?

Aperta

#5491 aperta il 5 ago 2026

 (4 commenti) (0 reazioni) (0 assegnatari)Python (791 fork)batch import
help wantedwontfix

Metriche repository

Star
 (7329 stelle)
Metriche merge PR
 (Merge medio 109g 16h) (5 PR mergiate in 30 g)

Descrizione

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

Guida contributor