3 from pathlib
import PurePath
10 def destdir_join(d1
: str, d2
: str) -> str:
13 # c:\destdir + c:\prefix must produce c:\destdir\prefix
14 return str(PurePath(d1
, *PurePath(d2
).parts
[1:]))
16 introspect
= os
.environ
.get('MESONINTROSPECT')
17 out
= subprocess
.run([*introspect
.split(' '), '--installed'],
18 stdout
=subprocess
.PIPE
, check
=True).stdout
19 for source
, dest
in json
.loads(out
).items():
20 bundle_dest
= destdir_join('qemu-bundle', dest
)
21 path
= os
.path
.dirname(bundle_dest
)
23 os
.makedirs(path
, exist_ok
=True)
24 except BaseException
as e
:
25 print(f
'error making directory {path}', file=sys
.stderr
)
28 os
.symlink(source
, bundle_dest
)
29 except BaseException
as e
:
30 if not isinstance(e
, OSError) or e
.errno
!= errno
.EEXIST
:
31 print(f
'error making symbolic link {dest}', file=sys
.stderr
)