From 1f6a4f9b9db81964d7ff4da8b995a5a1eda65122 Mon Sep 17 00:00:00 2001 From: lshprung Date: Sun, 15 Aug 2021 18:24:19 -0700 Subject: First commit --- ungoogled-chromium-update.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 ungoogled-chromium-update.sh (limited to 'ungoogled-chromium-update.sh') diff --git a/ungoogled-chromium-update.sh b/ungoogled-chromium-update.sh new file mode 100755 index 0000000..34e7baa --- /dev/null +++ b/ungoogled-chromium-update.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Shell script to install the latest version of ungoogled-chromium over the version on the machine if an update is available (using atom feed). User can specify a subgrouping (default is AppImage) + +# path for downloading ungoogled-chromium and comparing version numbers (FIXME WIP) +UG_PATH="$HOME/Applications/ungoogled-chromium" + +# URL for atom feed +ATOM_URL="https://raw.githubusercontent.com/ungoogled-software/ungoogled-chromium-binaries/master/feed.xml" + +PARSED_XML=$(curl -s $ATOM_URL | xml2) + +# Get table of available platforms, with versions, and URLs on the following line +PLATFORM_TABLE=$(echo "$PARSED_XML" | grep -E '(/feed/entry/title=)|(/feed/entry/link/@href=)' | sed 's/^.*=//g') + +# echo "$PARSED_XML" +echo "$PLATFORM_TABLE" + + +# Function to check if $1 is higher version than $2 +# $1 -> remote version (example: 91.0.4472.164-1.1) +# $2 -> local version (example: 91.0.4472.114-1 +# Return value: +# 0 -> $1 <= $2 (no need to update) +# 1 -> $1 > $2 (update available) +compare_version() { + # Break into arrays + local IFS='.' + read -ra V1 <<< "$1" + read -ra V2 <<< "$2" + + # for val in "${V1[@]}"; do + # echo "$val" + # done + # echo ${#V1[@]} + # for val in "${V2[@]}"; do + # echo "$val" + # done + # echo ${#V2[@]} + + # Determine shorter array (for the loop) + local LENGTH=${#V1[@]} + if [ ${#V1[@]} -gt ${#V2[@]} ]; then + local LENGTH=${#V2[@]} + fi + + echo "$LENGTH" +} + +compare_version "91.0.4472.164-1.1" "91.0.4472.114-1" -- cgit