Philipp Hörist pushed to branch master at gajim / gajim
Commits: 11aedfb6 by André Apitzsch at 2023-04-08T12:11:26+02:00 other: Cover more modules with update_flatpak_manifest
Also compare the python version when updating modules, to support updating packages that provide several *.whl files, like protobuf.
- - - - -
1 changed file:
- scripts/update_flatpak_manifest.py
Changes:
===================================== scripts/update_flatpak_manifest.py ===================================== @@ -24,17 +24,21 @@ def get_package_type(module: ruamel.yaml.comments.CommentedMap) -> str: return 'sdist'
def get_current_version(module: ruamel.yaml.comments.CommentedMap - ) -> Optional[str]: + ) -> tuple[Optional[str], Optional[str]]: name = module['name'].replace('python3-','') url = module['sources'][0]['url'] if url.endswith('.git'): - return None + return None, None file_name = url.split('/')[-1] file_name = file_name.replace(name, '') - return file_name.split('-')[1].replace('.tar.gz', '') + parts = file_name.split('-') + pkg_version = parts[1].replace('.tar.gz', '') + py_version = parts[2] if '.tar.gz' not in parts[1] else None + return pkg_version, py_version
def get_latest_version(package_name: str, - package_type: str + package_type: str, + py_version: Optional[str] ) -> tuple[str, Optional[str]]: with urlopen(f'{PYPI_INDEX}/{package_name}/json') as f: data = f.read() @@ -42,10 +46,13 @@ def get_latest_version(package_name: str, version = d['info']['version'] sha = None for entry in d['releases'][version]: - if entry['packagetype'] == package_type: - if sha is not None: - return version, None - sha = entry['digests']['sha256'] + if entry['packagetype'] != package_type: + continue + if py_version is not None and entry['python_version'] != py_version: + continue + if sha is not None: + return version, None + sha = entry['digests']['sha256'] return version, sha
def update_module(module: ruamel.yaml.comments.CommentedMap) -> None: @@ -54,12 +61,12 @@ def update_module(module: ruamel.yaml.comments.CommentedMap) -> None: return
package_type = get_package_type(module) - current_version = get_current_version(module) + current_version, py_version = get_current_version(module) if current_version is None: return
name = module['name'].replace('python3-','') - latest_version, sha = get_latest_version(name, package_type) + latest_version, sha = get_latest_version(name, package_type, py_version)
if current_version == latest_version: return
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/11aedfb650af4e3be9e934658b9b12f86...