mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Fix generated file name for installer builds on macOS 11+. (GH-25661) (GH-25664)
(cherry picked from commit 8a37463989)
Co-authored-by: Ned Deily <nad@python.org>
			
			
This commit is contained in:
		
							parent
							
								
									bf0736db45
								
							
						
					
					
						commit
						c9767e564b
					
				
					 1 changed files with 28 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -1615,13 +1615,35 @@ def buildDMG():
 | 
			
		|||
    # installer file name. With the introduction of weaklinked installer
 | 
			
		||||
    # variants, we may have two variants with the same file name, i.e.
 | 
			
		||||
    # both ending in '10.9'.  To avoid this, we now use the major/minor
 | 
			
		||||
    # version numbers of the macOS version we are building on, i.e.
 | 
			
		||||
    # '10.9' as before for 10.9+ variant, '11.0' for universal2 11.0-.
 | 
			
		||||
    # it's not ideal but should cause the least disruption to packaging
 | 
			
		||||
    # workflows.
 | 
			
		||||
    build_system_version = '.'.join(platform.mac_ver()[0].split('.')[0:2])
 | 
			
		||||
    # version numbers of the macOS version we are building on.
 | 
			
		||||
    # Also, as of macOS 11, operating system version numbering has
 | 
			
		||||
    # changed from three components to two, i.e.
 | 
			
		||||
    #   10.14.1, 10.14.2, ...
 | 
			
		||||
    #   10.15.1, 10.15.2, ...
 | 
			
		||||
    #   11.1, 11.2, ...
 | 
			
		||||
    #   12.1, 12.2, ...
 | 
			
		||||
    # (A further twist is that, when running on macOS 11, binaries built
 | 
			
		||||
    # on older systems may be shown an operating system version of 10.16
 | 
			
		||||
    # instead of 11.  We should not run into that situation here.)
 | 
			
		||||
    # Also we should use "macos" instead of "macosx" going forward.
 | 
			
		||||
    #
 | 
			
		||||
    # To maintain compability for legacy variants, the file name for
 | 
			
		||||
    # builds on macOS 10.15 and earlier remains:
 | 
			
		||||
    #   python-3.x.y-macosx10.z.{dmg->pkg}
 | 
			
		||||
    #   e.g. python-3.9.4-macosx10.9.{dmg->pkg}
 | 
			
		||||
    # and for builds on macOS 11+:
 | 
			
		||||
    #   python-3.x.y-macosz.{dmg->pkg}
 | 
			
		||||
    #   e.g. python-3.9.4-macos11.{dmg->pkg}
 | 
			
		||||
 | 
			
		||||
    build_tuple = getBuildTuple()
 | 
			
		||||
    if build_tuple[0] < 11:
 | 
			
		||||
        os_name = 'macosx'
 | 
			
		||||
        build_system_version = '%s.%s' % build_tuple
 | 
			
		||||
    else:
 | 
			
		||||
        os_name = 'macos'
 | 
			
		||||
        build_system_version = str(build_tuple[0])
 | 
			
		||||
    imagepath = os.path.join(outdir,
 | 
			
		||||
                    'python-%s-macosx%s'%(getFullVersion(),build_system_version))
 | 
			
		||||
                    'python-%s-%s%s'%(getFullVersion(),os_name,build_system_version))
 | 
			
		||||
    if INCLUDE_TIMESTAMP:
 | 
			
		||||
        imagepath = imagepath + '-%04d-%02d-%02d'%(time.localtime()[:3])
 | 
			
		||||
    imagepath = imagepath + '.dmg'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue