mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-16 17:38:29 +00:00
identify staticx builds as linux_static_exe
Authored by: bashonly
This commit is contained in:
parent
50f767b068
commit
e338074934
@ -58,11 +58,20 @@ def _get_variant_and_executable_path():
|
|||||||
"""@returns (variant, executable_path)"""
|
"""@returns (variant, executable_path)"""
|
||||||
if getattr(sys, 'frozen', False):
|
if getattr(sys, 'frozen', False):
|
||||||
path = sys.executable
|
path = sys.executable
|
||||||
# py2exe is unsupported but we should still correctly identify it for debugging purposes
|
|
||||||
|
# py2exe: No longer officially supported, but still identify it to block updates
|
||||||
if not hasattr(sys, '_MEIPASS'):
|
if not hasattr(sys, '_MEIPASS'):
|
||||||
return 'py2exe', path
|
return 'py2exe', path
|
||||||
|
|
||||||
|
# staticx builds: sys.executable returns a /tmp/ path
|
||||||
|
# No longer officially supported, but still identify them to block updates
|
||||||
|
# Ref: https://staticx.readthedocs.io/en/latest/usage.html#run-time-information
|
||||||
|
if static_exe_path := os.getenv('STATICX_PROG_PATH'):
|
||||||
|
return 'linux_static_exe', static_exe_path
|
||||||
|
|
||||||
# We know it's a PyInstaller bundle, but is it "onedir" or "onefile"?
|
# We know it's a PyInstaller bundle, but is it "onedir" or "onefile"?
|
||||||
suffix = 'dir' if sys._MEIPASS == os.path.dirname(path) else 'exe'
|
suffix = 'dir' if sys._MEIPASS == os.path.dirname(path) else 'exe'
|
||||||
|
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
# darwin_legacy_exe is no longer supported, but still identify it to block updates
|
# darwin_legacy_exe is no longer supported, but still identify it to block updates
|
||||||
machine = '_legacy' if version_tuple(platform.mac_ver()[0]) < (10, 15) else ''
|
machine = '_legacy' if version_tuple(platform.mac_ver()[0]) < (10, 15) else ''
|
||||||
@ -81,10 +90,6 @@ def _get_variant_and_executable_path():
|
|||||||
# See: https://github.com/yt-dlp/yt-dlp/issues/11813
|
# See: https://github.com/yt-dlp/yt-dlp/issues/11813
|
||||||
elif machine[1:] == 'aarch64' and not is_64bits:
|
elif machine[1:] == 'aarch64' and not is_64bits:
|
||||||
machine = '_armv7l'
|
machine = '_armv7l'
|
||||||
# sys.executable returns a /tmp/ path for staticx builds (linux_static)
|
|
||||||
# Ref: https://staticx.readthedocs.io/en/latest/usage.html#run-time-information
|
|
||||||
if static_exe_path := os.getenv('STATICX_PROG_PATH'):
|
|
||||||
path = static_exe_path
|
|
||||||
|
|
||||||
return f'{system_platform}{machine}_{suffix}', path
|
return f'{system_platform}{machine}_{suffix}', path
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user