1
0

Use wget if curl is not available (#451)

* Use wget if curl is not available
On most GNU/Linux distributions wget is often preinstalled, while curl
is not.
* Bump updater.sh version
This commit is contained in:
Emanuele Petriglia 2018-07-06 12:06:01 +00:00 committed by earthlng
parent c9543519c7
commit 857cbd8c24

View File

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
### ghacks-user.js updater for Mac/Linux ### ghacks-user.js updater for Mac/Linux
## author: @overdodactyl ## author: @overdodactyl, @ema-pe
## version: 1.3 ## version: 1.4
## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in check_for_update() ) ## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in check_for_update() )
@ -12,6 +12,15 @@ update_pref=${1:--ask}
currdir=$(pwd) currdir=$(pwd)
DOWNLOAD_TO_STDOUT="curl -s"
DOWNLOAD_TO_FILE="curl -O"
# Use wget if curl is not available.
if [[ -z $(command -v "curl") ]]; then
DOWNLOAD_TO_STDOUT="wget --quiet --output-document=-"
DOWNLOAD_TO_FILE="wget"
fi
## get the full path of this script (readlink for Linux, greadlink for Mac with coreutils installed) ## get the full path of this script (readlink for Linux, greadlink for Mac with coreutils installed)
sfp=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null) sfp=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
@ -24,7 +33,7 @@ cd "$(dirname "${sfp}")"
## Used to check if a new version of updater.sh is available ## Used to check if a new version of updater.sh is available
update_available="no" update_available="no"
check_for_update () { check_for_update () {
online_version="$(curl -s ${updater} | sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p')" online_version="$($DOWNLOAD_TO_STDOUT ${updater} | sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p')"
path_to_script="$(dirname "${sfp}")/updater.sh" path_to_script="$(dirname "${sfp}")/updater.sh"
current_version="$(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$path_to_script")" current_version="$(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$path_to_script")"
if [[ "$current_version" < "$online_version" ]]; then if [[ "$current_version" < "$online_version" ]]; then
@ -36,8 +45,8 @@ check_for_update () {
update_script () { update_script () {
echo -e "This script will be backed up and the latest version of updater.sh will be executed.\n" echo -e "This script will be backed up and the latest version of updater.sh will be executed.\n"
mv updater.sh "updater.sh.backup.$(date +"%Y-%m-%d_%H%M")" mv updater.sh "updater.sh.backup.$(date +"%Y-%m-%d_%H%M")"
curl -O ${updater} && echo -e "\nThe latest updater script has been downloaded\n" $DOWNLOAD_TO_FILE ${updater} && echo -e "\nThe latest updater script has been downloaded\n"
# make new file executable # make new file executable
chmod +x updater.sh chmod +x updater.sh
@ -60,7 +69,7 @@ main () {
if [ -e user.js ]; then if [ -e user.js ]; then
echo "Your current user.js file for this profile will be backed up and the latest ghacks version from github will take its place." echo "Your current user.js file for this profile will be backed up and the latest ghacks version from github will take its place."
echo -e "\nIf currently using the ghacks user.js, please compare versions:" echo -e "\nIf currently using the ghacks user.js, please compare versions:"
echo " Available online: $(curl -s ${ghacksjs} | sed -n '4p')" echo " Available online: $($DOWNLOAD_TO_STDOUT ${ghacksjs} | sed -n '4p')"
echo " Currently using: $(sed -n '4p' user.js)" echo " Currently using: $(sed -n '4p' user.js)"
else else
echo "A user.js file does not exist in this profile. If you continue, the latest ghacks version from github will be downloaded." echo "A user.js file does not exist in this profile. If you continue, the latest ghacks version from github will be downloaded."
@ -80,7 +89,7 @@ main () {
# download latest ghacks user.js # download latest ghacks user.js
echo "downloading latest ghacks user.js file" echo "downloading latest ghacks user.js file"
curl -O ${ghacksjs} && echo "ghacks user.js has been downloaded" $DOWNLOAD_TO_FILE ${ghacksjs} && echo "ghacks user.js has been downloaded"
if [ -e user-overrides.js ]; then if [ -e user-overrides.js ]; then
echo "user-overrides.js file found" echo "user-overrides.js file found"
@ -94,6 +103,7 @@ main () {
cd "${currdir}" cd "${currdir}"
} }
update_pref="$(echo $update_pref | tr '[A-Z]' '[a-z]')" update_pref="$(echo $update_pref | tr '[A-Z]' '[a-z]')"
if [ $update_pref = "-donotupdate" ]; then if [ $update_pref = "-donotupdate" ]; then
main main