diff --git a/fix-rpaths.py b/fix-rpaths.py index 59b0369..f3731bf 100644 --- a/fix-rpaths.py +++ b/fix-rpaths.py @@ -4,6 +4,7 @@ from os.path import join, basename import os app_bundle = sys.argv[1] +dry_run = '--dry' in sys.argv app_binary = join(app_bundle, 'Contents/MacOS', basename(app_bundle).split(".")[0]) app_frameworks = join(app_bundle, 'Contents/Frameworks') @@ -17,7 +18,8 @@ for binary, dependencies in dependency_map.items(): if binary == app_binary: print('\tAdding rpath: @loader_path/../Frameworks') - print('\t' + subprocess.check_output(['install_name_tool', '-add_rpath', '@loader_path/../Frameworks', binary], text=True)) + if not dry_run: + print('\t' + subprocess.check_output(['install_name_tool', '-add_rpath', '@loader_path/../Frameworks', binary], text=True)) for dependency in dependencies: end_index = dependency.index('(') dep = dependency[0:end_index].strip() @@ -29,8 +31,10 @@ for binary, dependencies in dependency_map.items(): if key.endswith(dep_short_name): if binary == app_binary: print(f'\t{dep} -> @rpath/{dep_short_name}') - print('\t' + subprocess.check_output(['install_name_tool', '-change', dep, f'@rpath/{dep_short_name}', binary], text=True)) + if not dry_run: + print('\t' + subprocess.check_output(['install_name_tool', '-change', dep, f'@rpath/{dep_short_name}', binary], text=True)) else: print(f'\t{dep} -> @loader_path/{dep_short_name}') - print('\t' + subprocess.check_output(['install_name_tool', '-change', dep, f'@loader_path/{dep_short_name}', binary], text=True)) + if not dry_run: + print('\t' + subprocess.check_output(['install_name_tool', '-change', dep, f'@loader_path/{dep_short_name}', binary], text=True)) break \ No newline at end of file