def update_rpath(self, package_path, executables): if sys.platform.startswith('linux'): pyside_libs = [lib for lib in os.listdir(package_path) if filter_match( lib, ["*.so", "*.so.*"])] patchelf_path = os.path.join(self.script_dir, "patchelf") def rpath_cmd(srcpath): cmd = [patchelf_path, '--set-rpath', '$ORIGIN/', srcpath] if run_process(cmd) != 0: raise RuntimeError("Error patching rpath in " + srcpath) elif sys.platform == 'darwin': pyside_libs = [lib for lib in os.listdir(package_path) if filter_match( lib, ["*.so", "*.dylib"])] def rpath_cmd(srcpath): osx_localize_libpaths(srcpath, pyside_libs, None) else: raise RuntimeError('Not configured for platform ' + sys.platform) pyside_libs.extend(executables) # Update rpath in PySide2 libs for srcname in pyside_libs: srcpath = os.path.join(package_path, srcname) if os.path.isdir(srcpath): continue if not os.path.exists(srcpath): continue rpath_cmd(srcpath) print("Patched rpath to '$ORIGIN/' (Linux) or updated rpath (OS/X) in %s." % (srcpath))
def update_rpath(self, package_path, executables): if sys.platform.startswith('linux'): pyside_libs = [lib for lib in os.listdir(package_path) if filter_match( lib, ["*.so", "*.so.*"])] patchelf_path = os.path.join(self.script_dir, "patchelf") def rpath_cmd(srcpath): cmd = [patchelf_path, '--set-rpath', '$ORIGIN/', srcpath] if run_process(cmd) != 0: raise RuntimeError("Error patching rpath in " + srcpath) elif sys.platform == 'darwin': pyside_libs = [lib for lib in os.listdir(package_path) if filter_match( lib, ["*.so", "*.dylib"])] def rpath_cmd(srcpath): osx_localize_libpaths(srcpath, pyside_libs, None) else: raise RuntimeError('Not configured for platform ' + sys.platform) pyside_libs.extend(executables) # Update rpath in PySide libs for srcname in pyside_libs: srcpath = os.path.join(package_path, srcname) if os.path.isdir(srcpath): continue if not os.path.exists(srcpath): continue rpath_cmd(srcpath) print("Patched rpath to '$ORIGIN/' (Linux) or updated rpath (OS/X) in %s." % (srcpath))