fbt: exclude user site-packages directory from sys.path (#1778)
* fbt: exclude user site-packages directory from sys.path * fbt: python path fixes for *nix * fbt: fixed cli target on Windows Co-authored-by: hedger <hedger@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									6d2b0a3b6c
								
							
						
					
					
						commit
						eadd7801af
					
				| @ -14,4 +14,4 @@ def resolve_port(logger, portname: str = "auto"): | |||||||
|         logger.error("Failed to find connected Flipper") |         logger.error("Failed to find connected Flipper") | ||||||
|     elif len(flippers) > 1: |     elif len(flippers) > 1: | ||||||
|         logger.error("More than one Flipper is attached") |         logger.error("More than one Flipper is attached") | ||||||
|     logger.error("Failed to guess which port to use. Specify --port") |     logger.error("Failed to guess which port to use") | ||||||
|  | |||||||
| @ -1,13 +1,25 @@ | |||||||
| import logging | import logging | ||||||
| import subprocess | import subprocess | ||||||
| from flipper.utils.cdc import resolve_port | from flipper.utils.cdc import resolve_port | ||||||
|  | import os | ||||||
|  | import sys | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def main(): | def main(): | ||||||
|     logger = logging.getLogger() |     logger = logging.getLogger() | ||||||
|     if not (port := resolve_port(logger, "auto")): |     if not (port := resolve_port(logger, "auto")): | ||||||
|  |         logger.error("Is Flipper connected over USB and isn't in DFU mode?") | ||||||
|         return 1 |         return 1 | ||||||
|     subprocess.call(["python3", "-m", "serial.tools.miniterm", "--raw", port, "230400"]) |     subprocess.call( | ||||||
|  |         [ | ||||||
|  |             os.path.basename(sys.executable), | ||||||
|  |             "-m", | ||||||
|  |             "serial.tools.miniterm", | ||||||
|  |             "--raw", | ||||||
|  |             port, | ||||||
|  |             "230400", | ||||||
|  |         ] | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|  | |||||||
| @ -32,6 +32,7 @@ if not "%REAL_TOOLCHAIN_VERSION%" == "%FLIPPER_TOOLCHAIN_VERSION%" ( | |||||||
| set "HOME=%USERPROFILE%" | set "HOME=%USERPROFILE%" | ||||||
| set "PYTHONHOME=%FBT_TOOLCHAIN_ROOT%\python" | set "PYTHONHOME=%FBT_TOOLCHAIN_ROOT%\python" | ||||||
| set "PYTHONPATH=" | set "PYTHONPATH=" | ||||||
|  | set "PYTHONNOUSERSITE=1" | ||||||
| set "PATH=%FBT_TOOLCHAIN_ROOT%\python;%FBT_TOOLCHAIN_ROOT%\bin;%FBT_TOOLCHAIN_ROOT%\protoc\bin;%FBT_TOOLCHAIN_ROOT%\openocd\bin;%PATH%" | set "PATH=%FBT_TOOLCHAIN_ROOT%\python;%FBT_TOOLCHAIN_ROOT%\bin;%FBT_TOOLCHAIN_ROOT%\protoc\bin;%FBT_TOOLCHAIN_ROOT%\openocd\bin;%PATH%" | ||||||
| set "PROMPT=(fbt) %PROMPT%" | set "PROMPT=(fbt) %PROMPT%" | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -40,6 +40,13 @@ fbtenv_restore_env() | |||||||
|     elif [ -n "${PROMPT:-""}" ]; then |     elif [ -n "${PROMPT:-""}" ]; then | ||||||
|         PROMPT="$(echo "$PROMPT" | sed 's/\[fbt\]//g')"; |         PROMPT="$(echo "$PROMPT" | sed 's/\[fbt\]//g')"; | ||||||
|     fi |     fi | ||||||
|  | 
 | ||||||
|  |     PYTHONNOUSERSITE="$SAVED_PYTHONNOUSERSITE"; | ||||||
|  |     PYTHONPATH="$SAVED_PYTHONPATH"; | ||||||
|  | 
 | ||||||
|  |     unset SAVED_PYTHONNOUSERSITE; | ||||||
|  |     unset SAVED_PYTHONPATH; | ||||||
|  | 
 | ||||||
|     unset SCRIPT_PATH; |     unset SCRIPT_PATH; | ||||||
|     unset FBT_TOOLCHAIN_VERSION; |     unset FBT_TOOLCHAIN_VERSION; | ||||||
|     unset FBT_TOOLCHAIN_PATH; |     unset FBT_TOOLCHAIN_PATH; | ||||||
| @ -276,6 +283,12 @@ fbtenv_main() | |||||||
|     PATH="$TOOLCHAIN_ARCH_DIR/bin:$PATH"; |     PATH="$TOOLCHAIN_ARCH_DIR/bin:$PATH"; | ||||||
|     PATH="$TOOLCHAIN_ARCH_DIR/protobuf/bin:$PATH"; |     PATH="$TOOLCHAIN_ARCH_DIR/protobuf/bin:$PATH"; | ||||||
|     PATH="$TOOLCHAIN_ARCH_DIR/openocd/bin:$PATH"; |     PATH="$TOOLCHAIN_ARCH_DIR/openocd/bin:$PATH"; | ||||||
|  |      | ||||||
|  |     SAVED_PYTHONNOUSERSITE="${PYTHONNOUSERSITE:-""}"; | ||||||
|  |     SAVED_PYTHONPATH="${PYTHONPATH:-""}"; | ||||||
|  | 
 | ||||||
|  |     PYTHONNOUSERSITE=1; | ||||||
|  |     PYTHONPATH=; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fbtenv_main "${1:-""}"; | fbtenv_main "${1:-""}"; | ||||||
|  | |||||||
| @ -12,7 +12,14 @@ forward_os_env = { | |||||||
|     "PATH": os.environ["PATH"], |     "PATH": os.environ["PATH"], | ||||||
| } | } | ||||||
| # Proxying CI environment to child processes & scripts | # Proxying CI environment to child processes & scripts | ||||||
| for env_value_name in ("WORKFLOW_BRANCH_OR_TAG", "DIST_SUFFIX", "HOME", "APPDATA"): | for env_value_name in ( | ||||||
|  |     "WORKFLOW_BRANCH_OR_TAG", | ||||||
|  |     "DIST_SUFFIX", | ||||||
|  |     "HOME", | ||||||
|  |     "APPDATA", | ||||||
|  |     "PYTHONHOME", | ||||||
|  |     "PYTHONNOUSERSITE", | ||||||
|  | ): | ||||||
|     if environ_value := os.environ.get(env_value_name, None): |     if environ_value := os.environ.get(env_value_name, None): | ||||||
|         forward_os_env[env_value_name] = environ_value |         forward_os_env[env_value_name] = environ_value | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 ghettorce
						ghettorce