Skip to content

Commit 8cc2d51

Browse files
committed
Check only the major platform release version // Resolve platformio#644
1 parent c085703 commit 8cc2d51

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

pioinstaller/core.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,22 @@ def _check_core_version(piocore_version, version_spec):
232232
def _check_platform_version():
233233
from pioinstaller import penv
234234

235-
state = penv.load_state()
236-
if state.get("platform") != platform.platform(terse=True):
237-
raise exception.InvalidPlatformIOCore(
238-
"PlatformIO Core was installed using another platform `%s`. "
239-
"Your current platform: %s"
240-
% (state.get("platform"), platform.platform(terse=True))
241-
)
235+
platform_state = penv.load_state().get("platform")
236+
if not platform_state or not isinstance(platform_state, dict):
237+
raise exception.PIOInstallerException("Broken platform state")
238+
if platform_state.get("platform") == platform.platform(terse=True):
239+
return True
240+
release_state = platform_state.get("release")
241+
if (
242+
release_state
243+
and release_state.split(".")[0] == (platform.release() or "").split(".")[0]
244+
):
245+
return True
246+
raise exception.InvalidPlatformIOCore(
247+
"PlatformIO Core was installed using another platform `%s`. "
248+
"Your current platform: %s"
249+
% (platform_state.get("platform"), platform.platform(terse=True))
250+
)
242251

243252

244253
def fetch_python_state(python_exe):

pioinstaller/penv.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,10 @@ def init_state(python_exe, penv_dir):
151151
"version": python_version,
152152
},
153153
"installer_version": __version__,
154-
"platform": platform.platform(terse=True),
154+
"platform": {
155+
"platform": platform.platform(),
156+
"release": platform.release(),
157+
},
155158
}
156159
return save_state(state, penv_dir)
157160

0 commit comments

Comments
 (0)