|
|
|
@ -199,7 +199,7 @@ class InstalledFile: |
|
|
|
|
return None |
|
|
|
|
if self.typ == 'python_bytecode': |
|
|
|
|
return p.parent / importlib.util.cache_from_source(p.name) |
|
|
|
|
elif self.typ in {'file', 'dir'}: |
|
|
|
|
elif self.typ in {'file', 'dir', 'link'}: |
|
|
|
|
return p |
|
|
|
|
elif self.typ == 'shared_lib': |
|
|
|
|
if env.machines.host.is_windows() or env.machines.host.is_cygwin(): |
|
|
|
@ -263,6 +263,11 @@ class InstalledFile: |
|
|
|
|
if not abs_p.is_dir(): |
|
|
|
|
raise RuntimeError(f'{p} is not a directory') |
|
|
|
|
return [x.relative_to(installdir) for x in abs_p.rglob('*') if x.is_file() or x.is_symlink()] |
|
|
|
|
elif self.typ == 'link': |
|
|
|
|
abs_p = installdir / p |
|
|
|
|
if not abs_p.is_symlink(): |
|
|
|
|
raise RuntimeError(f'{p} is not a symlink') |
|
|
|
|
return [p] |
|
|
|
|
else: |
|
|
|
|
return [p] |
|
|
|
|
|
|
|
|
|