File tree Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -232,13 +232,22 @@ def _check_core_version(piocore_version, version_spec):
232232def _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
244253def fetch_python_state (python_exe ):
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments