From 56088203df12ff21b0a3e711dfb06ec5b05db3e6 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Mon, 2 Jul 2018 14:00:15 +0200 Subject: [PATCH] Add script to check built versions --- scripts/check-built-packages.py | 34 +++++++++++++++++++++++++++++++++ scripts/list-versions.sh | 21 ++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 scripts/check-built-packages.py create mode 100755 scripts/list-versions.sh diff --git a/scripts/check-built-packages.py b/scripts/check-built-packages.py new file mode 100755 index 000000000..e077991be --- /dev/null +++ b/scripts/check-built-packages.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +import urllib.request +from subprocess import Popen, PIPE + +version_map = {} +any_error = False + +pipe = Popen('./scripts/list-versions.sh', stdout=PIPE) +for line in pipe.stdout: + (name, version) = line.decode().strip().split('=') + version_map[name] = version + +def check_manifest(arch, manifest): + current_package = {} + for line in manifest: + if line.isspace(): + package_name = current_package['Package'] + package_version = current_package['Version'] + if not package_name in version_map: + # Skip sub-package + continue + latest_version = version_map[package_name] + if package_version != latest_version: + print(f'{package_name}@{arch}: Expected {latest_version}, but was {package_version}') + current_package.clear() + elif not line.decode().startswith(' '): + parts = line.decode().split(':', 1) + current_package[parts[0].strip()] = parts[1].strip() + +for arch in ['all', 'aarch64', 'arm', 'i686', 'x86_64']: + manifest_url = f'https://termux.net/dists/stable/main/binary-{arch}/Packages' + with urllib.request.urlopen(manifest_url) as manifest: + check_manifest(arch, manifest) diff --git a/scripts/list-versions.sh b/scripts/list-versions.sh new file mode 100755 index 000000000..bada14c78 --- /dev/null +++ b/scripts/list-versions.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +check_package() { # path + local path=$1 + local pkg=`basename $path` + TERMUX_PKG_REVISION=0 + TERMUX_ARCH=aarch64 + TERMUX_NDK_VERSION=17 + TERMUX_ANDROID_BUILD_TOOLS_VERSION=27.0.3 + . $path/build.sh + if [ "$TERMUX_PKG_REVISION" != "0" ] || [ "$TERMUX_PKG_VERSION" != "${TERMUX_PKG_VERSION/-/}" ]; then + TERMUX_PKG_VERSION+="-$TERMUX_PKG_REVISION" + fi + echo "$pkg=$TERMUX_PKG_VERSION" +} + +for path in packages/*; do +( + check_package $path +) +done