diff --git a/Ghidra/Features/PyGhidra/support/pyghidra_launcher.py b/Ghidra/Features/PyGhidra/support/pyghidra_launcher.py index acb9572601..016657f95b 100644 --- a/Ghidra/Features/PyGhidra/support/pyghidra_launcher.py +++ b/Ghidra/Features/PyGhidra/support/pyghidra_launcher.py @@ -57,7 +57,9 @@ def get_user_settings_dir(install_dir: Path, dev: bool) -> Path: app_release_name: str = app_props['application.release.name'] versioned_name: str = f'{app_name}_{app_version}_{app_release_name}' if dev: - versioned_name += f'_location_{install_dir.parent.name}' + ghidra_repos_config = install_dir / 'ghidra.repos.config' + dir_name = install_dir.parent.name if ghidra_repos_config.is_file() else install_dir.name + versioned_name += f'_location_{dir_name}' # Check for application.settingsdir in launch.properties for launch_prop in get_launch_properties(install_dir, dev): @@ -224,6 +226,8 @@ def main() -> None: venv_dir = get_ghidra_venv(install_dir, args.dev) python_cmd: List[str] = find_supported_python_exe(install_dir, args.dev) + print(install_dir) + if python_cmd is not None: print(f'Using Python command: "{" ".join(python_cmd)}"') else: diff --git a/GhidraBuild/LaunchSupport/src/main/java/ghidra/launch/AppConfig.java b/GhidraBuild/LaunchSupport/src/main/java/ghidra/launch/AppConfig.java index 62b42efc8a..769dc37447 100644 --- a/GhidraBuild/LaunchSupport/src/main/java/ghidra/launch/AppConfig.java +++ b/GhidraBuild/LaunchSupport/src/main/java/ghidra/launch/AppConfig.java @@ -396,7 +396,10 @@ public class AppConfig { String userSettingsDirName = appName + "_" + applicationVersion + "_" + applicationReleaseName.replaceAll("\\s", "").toUpperCase(); if (isDev) { - userSettingsDirName += "_location_" + installDir.getParentFile().getName(); + String dirName = new File(installDir, "ghidra.repos.config").isFile() + ? installDir.getParentFile().getName() + : installDir.getName(); + userSettingsDirName += "_location_" + dirName; } // Ensure there is a user home directory (there definitely should be)