[build, devscripts] Add devscript to set a build variant

Closes #4471
This commit is contained in:
pukkandan
2022-07-29 20:33:01 +05:30
parent 115add4387
commit 70b2340909
9 changed files with 70 additions and 12 deletions

View File

@@ -18,7 +18,7 @@ from .utils import (
traverse_obj,
version_tuple,
)
from .version import __version__
from .version import UPDATE_HINT, VARIANT, __version__
REPOSITORY = 'yt-dlp/yt-dlp'
API_URL = f'https://api.github.com/repos/{REPOSITORY}/releases'
@@ -47,7 +47,7 @@ def _get_variant_and_executable_path():
def detect_variant():
return _get_variant_and_executable_path()[0]
return VARIANT or _get_variant_and_executable_path()[0]
_FILE_SUFFIXES = {
@@ -64,13 +64,16 @@ _NON_UPDATEABLE_REASONS = {
**{variant: f'Auto-update is not supported for unpackaged {name} executable; Re-download the latest release'
for variant, name in {'win32_dir': 'Windows', 'darwin_dir': 'MacOS', 'linux_dir': 'Linux'}.items()},
'source': 'You cannot update when running from source code; Use git to pull the latest changes',
'unknown': 'It looks like you installed yt-dlp with a package manager, pip or setup.py; Use that to update',
'other': 'It looks like you are using an unofficial build of yt-dlp; Build the executable again',
'unknown': 'You installed yt-dlp with a package manager or setup.py; Use that to update',
'other': 'You are using an unofficial build of yt-dlp; Build the executable again',
}
def is_non_updateable():
return _NON_UPDATEABLE_REASONS.get(detect_variant(), _NON_UPDATEABLE_REASONS['other'])
if UPDATE_HINT:
return UPDATE_HINT
return _NON_UPDATEABLE_REASONS.get(
detect_variant(), _NON_UPDATEABLE_REASONS['unknown' if VARIANT else 'other'])
def _sha256_file(path):