 1f8da027dd
			
		
	
	
		1f8da027dd
		
	
	
	
	
		
			
			By default, Windows doesn't allow to create soft links for user account and only administrator is allowed to do this. To fix this problem you have to raise your permissions or enable Developer Mode, which available since Windows 10. Additional explanation when build fails will allow developer to fix the problem on his computer faster. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1386 Signed-off-by: Mateusz Krawczuk <mat.krawczuk@gmail.com> Message-Id: <20230504211101.1386-1-mat.krawczuk@gmail.com> [thuth: Drop the hunk with the white space changes] Signed-off-by: Thomas Huth <thuth@redhat.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| from pathlib import PurePath
 | |
| import errno
 | |
| import json
 | |
| import os
 | |
| import subprocess
 | |
| import sys
 | |
| 
 | |
| def destdir_join(d1: str, d2: str) -> str:
 | |
|     if not d1:
 | |
|         return d2
 | |
|     # c:\destdir + c:\prefix must produce c:\destdir\prefix
 | |
|     return str(PurePath(d1, *PurePath(d2).parts[1:]))
 | |
| 
 | |
| introspect = os.environ.get('MESONINTROSPECT')
 | |
| out = subprocess.run([*introspect.split(' '), '--installed'],
 | |
|                      stdout=subprocess.PIPE, check=True).stdout
 | |
| for source, dest in json.loads(out).items():
 | |
|     bundle_dest = destdir_join('qemu-bundle', dest)
 | |
|     path = os.path.dirname(bundle_dest)
 | |
|     try:
 | |
|         os.makedirs(path, exist_ok=True)
 | |
|     except BaseException as e:
 | |
|         print(f'error making directory {path}', file=sys.stderr)
 | |
|         raise e
 | |
|     try:
 | |
|         os.symlink(source, bundle_dest)
 | |
|     except BaseException as e:
 | |
|         if not isinstance(e, OSError) or e.errno != errno.EEXIST:
 | |
|             if os.name == 'nt':
 | |
|                 print('Please enable Developer Mode to support soft link '
 | |
|                       'without Administrator permission')
 | |
|             print(f'error making symbolic link {dest}', file=sys.stderr)
 | |
|             raise e
 |