[update] Fix updating via symlinks (closes #23991)
This commit is contained in:
		
							parent
							
								
									82fea5b42e
								
							
						
					
					
						commit
						bfe2b8cf2a
					
				
					 2 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
					@ -3009,6 +3009,7 @@ __all__ = [
 | 
				
			||||||
    'compat_os_name',
 | 
					    'compat_os_name',
 | 
				
			||||||
    'compat_parse_qs',
 | 
					    'compat_parse_qs',
 | 
				
			||||||
    'compat_print',
 | 
					    'compat_print',
 | 
				
			||||||
 | 
					    'compat_realpath',
 | 
				
			||||||
    'compat_setenv',
 | 
					    'compat_setenv',
 | 
				
			||||||
    'compat_shlex_quote',
 | 
					    'compat_shlex_quote',
 | 
				
			||||||
    'compat_shlex_split',
 | 
					    'compat_shlex_split',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,6 +9,7 @@ import subprocess
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
from zipimport import zipimporter
 | 
					from zipimport import zipimporter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from .compat import compat_realpath
 | 
				
			||||||
from .utils import encode_compat_str
 | 
					from .utils import encode_compat_str
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .version import __version__
 | 
					from .version import __version__
 | 
				
			||||||
| 
						 | 
					@ -84,7 +85,9 @@ def update_self(to_screen, verbose, opener):
 | 
				
			||||||
    print_notes(to_screen, versions_info['versions'])
 | 
					    print_notes(to_screen, versions_info['versions'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # sys.executable is set to the full pathname of the exe-file for py2exe
 | 
					    # sys.executable is set to the full pathname of the exe-file for py2exe
 | 
				
			||||||
    filename = sys.executable if hasattr(sys, 'frozen') else sys.argv[0]
 | 
					    # though symlinks are not followed so that we need to do this manually
 | 
				
			||||||
 | 
					    # with help of realpath
 | 
				
			||||||
 | 
					    filename = compat_realpath(sys.executable if hasattr(sys, 'frozen') else sys.argv[0])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if not os.access(filename, os.W_OK):
 | 
					    if not os.access(filename, os.W_OK):
 | 
				
			||||||
        to_screen('ERROR: no write permissions on %s' % filename)
 | 
					        to_screen('ERROR: no write permissions on %s' % filename)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue