#!/bin/bash # SPDX-License-Identifier: GPL-3.0+ # Copyright (C) 2018, Martin Kepplinger RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' set -e source functions.sh usage() { echo "Skulls for the X230" echo "" echo " This script checks if there's a newer" echo " release of the X230 Skulls package available." echo "" echo "Usage: $0" } args=$(getopt -o h -- "$@") if [ $? -ne 0 ] ; then usage exit 1 fi eval set -- "$args" while [ $# -gt 0 ] do case "$1" in -h) usage exit 1 ;; --) shift break ;; *) echo "Invalid option: $1" exit 1 ;; esac shift done warn_not_root command -v curl >/dev/null 2>&1 || { echo -e >&2 "${RED}Please install curl.${NC}"; exit 1; } CURRENT_VERSION=$(head -2 NEWS | egrep -o "([0-9]{1,}\.)+[0-9]{1,}") UPSTREAM_FILE=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | cut -d'/' -f9 | head -n 1) UPSTREAM_VERSION=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | cut -d'/' -f9 | head -n 1 | egrep -o "([0-9]{1,}\.)+[0-9]{1,}") UPSTREAM_X230=$(echo ${UPSTREAM_FILE} | grep x230) if [[ -z "$UPSTREAM_X230" ]] ; then echo "The latest release didn't include the X230" exit 0 fi if [[ "$CURRENT_VERSION" = "$UPSTREAM_VERSION" ]] ; then echo -e "${GREEN}You are using the latest version of Skulls for the X230${NC}" exit 0 elif [[ "$CURRENT_VERSION" < "$UPSTREAM_VERSION" ]] ; then echo -e "${RED}You have ${CURRENT_VERSION} but there is version ${UPSTREAM_VERSION} available for the X230. Please update.${NC}" read -r -p "Download it to the parent directory now? [y/N] " response case "$response" in [yY][eE][sS]|[yY]) UPSTREAM_URL=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | head -n 1) UPSTREAM_URL_SHA256=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | head -n 3 | tail -n 1) cd .. curl -LO ${UPSTREAM_URL} curl -LO ${UPSTREAM_URL_SHA256} sha256sum -c ${UPSTREAM_FILE}.sha256 mkdir skulls-x230-${UPSTREAM_VERSION} tar -xf ${UPSTREAM_FILE} -C skulls-x230-${UPSTREAM_VERSION}/ echo "Version ${UPSTREAM_VERSION} extracted to ../skulls-x230-${UPSTREAM_VERSION}/" ;; *) exit 0 ;; esac else echo "You seem to use a development version. Please use release package skulls-x230 ${UPSTREAM_VERSION} for flashing." fi