From 5c23679b027f82f80074ce42a6bbfadc86eb44a9 Mon Sep 17 00:00:00 2001 From: JaHIY Date: Mon, 13 Jan 2014 14:18:13 +0800 Subject: [PATCH 1/4] use https instead of http --- getchromium.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getchromium.sh b/getchromium.sh index dbfca93..bca71ab 100755 --- a/getchromium.sh +++ b/getchromium.sh @@ -11,7 +11,7 @@ die() { W="$(whoami)" TMP="${TMPDIR-/tmp}" -BASE_URL='http://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' +BASE_URL='https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' ARCHIVE_NAME='chrome-mac.zip' LATEST_URL="${BASE_URL}/LAST_CHANGE" LATEST_VERSION="$(curl -s -f "$LATEST_URL")" || die "Unable to fetch latest version number from ${LATEST_URL}" From d53e6c408662ffdfa09592de5d3997eeb0e6c7fc Mon Sep 17 00:00:00 2001 From: JaHIY Date: Sun, 19 Oct 2014 19:05:01 +0800 Subject: [PATCH 2/4] Now supports Chromium x64 and fix bugs for new version format --- getchromium.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/getchromium.sh b/getchromium.sh index bca71ab..af4dfa7 100755 --- a/getchromium.sh +++ b/getchromium.sh @@ -11,7 +11,8 @@ die() { W="$(whoami)" TMP="${TMPDIR-/tmp}" -BASE_URL='https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' +#BASE_URL='https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' +BASE_URL='https://storage.googleapis.com/chromium-qa/Chromium_Mac_10_8_x64__experimental_' ARCHIVE_NAME='chrome-mac.zip' LATEST_URL="${BASE_URL}/LAST_CHANGE" LATEST_VERSION="$(curl -s -f "$LATEST_URL")" || die "Unable to fetch latest version number from ${LATEST_URL}" @@ -20,13 +21,20 @@ INSTALL_DIR='/Applications' # Using Chromium's Info.plist to get the SCM Revision. INSTALLED_VERSION="$(defaults read "${INSTALL_DIR}/Chromium.app/Contents/Info" 'SCMRevision' 2> /dev/null)" +if grep -q -v '^[[:digit:]]\+$' <<< "$INSTALLED_VERSION"; then + INSTALLED_VERSION="$({ grep -o '{#[[:digit:]]\+}$' | grep -o '[[:digit:]]\+'; } <<< "$INSTALLED_VERSION")" +fi + +printf 'Chromium version installed: %s\n' "${INSTALLED_VERSION}" +printf 'Latest Chromium version : %s\n' "${LATEST_VERSION}" + # The script should never be run by root if [ "$W" = 'root' ]; then die 'This script cannot be run as root' fi # Checking if latest available build version number is newer than installed one -if [ "$LATEST_VERSION" = "$INSTALLED_VERSION" ]; then +if [ "$LATEST_VERSION" -le "$INSTALLED_VERSION" ]; then die "You already have the latest build (${LATEST_VERSION}) installed" fi @@ -59,4 +67,4 @@ printf "Chromium build ${LATEST_VERSION} succesfully installed\n" rm "${TMP}/chromium-${LATEST_VERSION}.zip" # Open Chromium -open "${INSTALL_DIR}/Chromium.app" +#open "${INSTALL_DIR}/Chromium.app" From 7178e870e83f11505dc8cb12fc1af0b70f7b3252 Mon Sep 17 00:00:00 2001 From: JaHIY Date: Sun, 19 Oct 2014 21:00:04 +0800 Subject: [PATCH 3/4] tidy code (die function with format feature) --- getchromium.sh | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/getchromium.sh b/getchromium.sh index af4dfa7..bac2800 100755 --- a/getchromium.sh +++ b/getchromium.sh @@ -5,17 +5,23 @@ # See README for further informations die() { - printf "$@ => exiting\n" >&2 - exit 1 + local format="$1" + shift + printf "${format} => exiting\n" "$@" >&2 + exit 1 } +ARGV="$(getopt 'o' "$@")" + +eval set -- "$ARGV" + W="$(whoami)" TMP="${TMPDIR-/tmp}" #BASE_URL='https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' BASE_URL='https://storage.googleapis.com/chromium-qa/Chromium_Mac_10_8_x64__experimental_' ARCHIVE_NAME='chrome-mac.zip' LATEST_URL="${BASE_URL}/LAST_CHANGE" -LATEST_VERSION="$(curl -s -f "$LATEST_URL")" || die "Unable to fetch latest version number from ${LATEST_URL}" +LATEST_VERSION="$(curl -s -f "$LATEST_URL")" || die 'Unable to fetch latest version number from %s' "$LATEST_URL" PROC="$(ps aux | grep -i 'Chromium' | grep -iv 'grep' | grep -iv "$0" | wc -l | awk '{print $1}')" || die 'Unable to count running Chromium processes' INSTALL_DIR='/Applications' # Using Chromium's Info.plist to get the SCM Revision. @@ -25,8 +31,8 @@ if grep -q -v '^[[:digit:]]\+$' <<< "$INSTALLED_VERSION"; then INSTALLED_VERSION="$({ grep -o '{#[[:digit:]]\+}$' | grep -o '[[:digit:]]\+'; } <<< "$INSTALLED_VERSION")" fi -printf 'Chromium version installed: %s\n' "${INSTALLED_VERSION}" -printf 'Latest Chromium version : %s\n' "${LATEST_VERSION}" +printf 'Chromium version installed: %s\n' "$INSTALLED_VERSION" +printf 'Latest Chromium version : %s\n' "$LATEST_VERSION" # The script should never be run by root if [ "$W" = 'root' ]; then @@ -35,7 +41,7 @@ fi # Checking if latest available build version number is newer than installed one if [ "$LATEST_VERSION" -le "$INSTALLED_VERSION" ]; then - die "You already have the latest build (${LATEST_VERSION}) installed" + die 'You already have the latest build (%s) installed' "$LATEST_VERSION" fi # Testing if Chromium is currently running @@ -46,13 +52,13 @@ fi # Fetching latest archive if not already existing in tmp dir if [ ! -f "${TMP}/chromium-${LATEST_VERSION}.zip" ]; then ARCHIVE_URL="${BASE_URL}/${LATEST_VERSION}/${ARCHIVE_NAME}" - printf "Fetching chromium build ${LATEST_VERSION} from ${ARCHIVE_URL}, please wait...\n" + printf 'Fetching chromium build %s from %s, please wait...\n' "$LATEST_VERSION" "$ARCHIVE_URL" curl -O -L "$ARCHIVE_URL" || die "Unable to fetch version ${LATEST_VERSION} archive" - mv "$ARCHIVE_NAME" "${TMP}/chromium-${LATEST_VERSION}.zip" || die "Unable to move downloaded archive to ${TMP} directory" + mv "$ARCHIVE_NAME" "${TMP}/chromium-${LATEST_VERSION}.zip" || die 'Unable to move downloaded archive to %s directory' "$TMP" fi # Unzipping -unzip -qq -u -d "${TMP}/chromium-${LATEST_VERSION}" "${TMP}/chromium-${LATEST_VERSION}.zip" || die "Unable to unzip version ${LATEST_VERSION} archive" +unzip -qq -u -d "${TMP}/chromium-${LATEST_VERSION}" "${TMP}/chromium-${LATEST_VERSION}.zip" || die 'Unable to unzip version %s archive' "$LATEST_VERSION" # Deleting previously installed version if [ -d "${INSTALL_DIR}/Chromium.app" ]; then @@ -61,7 +67,7 @@ fi # Installing new version mv -f "${TMP}/chromium-${LATEST_VERSION}/chrome-mac/Chromium.app" "${INSTALL_DIR}" || die 'Unable to install fetched Chromium version' -printf "Chromium build ${LATEST_VERSION} succesfully installed\n" +printf 'Chromium build %s succesfully installed\n' "$LATEST_VERSION" # Cleaning rm "${TMP}/chromium-${LATEST_VERSION}.zip" From 49341a1b5e6d6bc61adb998808ae07381e0478fb Mon Sep 17 00:00:00 2001 From: JaHIY Date: Sun, 19 Oct 2014 21:01:19 +0800 Subject: [PATCH 4/4] add '--open' option you should use this option if you want to open Chromium automatically after an upgrade --- getchromium.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/getchromium.sh b/getchromium.sh index bac2800..b1794ec 100755 --- a/getchromium.sh +++ b/getchromium.sh @@ -11,10 +11,6 @@ die() { exit 1 } -ARGV="$(getopt 'o' "$@")" - -eval set -- "$ARGV" - W="$(whoami)" TMP="${TMPDIR-/tmp}" #BASE_URL='https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac' @@ -73,4 +69,6 @@ printf 'Chromium build %s succesfully installed\n' "$LATEST_VERSION" rm "${TMP}/chromium-${LATEST_VERSION}.zip" # Open Chromium -#open "${INSTALL_DIR}/Chromium.app" +if [ "$1" = '--open' ]; then + open "${INSTALL_DIR}/Chromium.app" +fi