You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.1 KiB

#!/bin/bash
#set u+x
#~ versionno(){
#~ e=$1
#~ s=0
#~ l=0
#~ for i in $(echo ${e}|tr . " "); do
#~ s=$(( ${i} * 100 ** ( 3 - ${l} ) + ${s} ))
#~ l=$(( ${l} + 1 ))
#~ done
#~ echo ${s}
#~ }
url="https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"
dwldir=~/Downloads/
cd ${dwldir}
ffbin=$(find /opt/ -type f|grep "/firefox$"|head -1)
# test with HEAD (-I) request for url redirect, taken from
# https://stackoverflow.com/questions/3074288/get-url-after-redirect
which curl >/dev/null && url_effective=$( curl -sLI -o /dev/null -w %{url_effective} ${url} ) || { echo "tool missing: curl" && exit 1; }
echo "Downlaod would be: "${url_effective}
next_version=$(echo $url_effective|rev|cut -d/ -f1|cut -d. -f3-|rev|cut -d- -f2)
curr_version=$(firefox -v|cut -d" " -f3)
opti_version=$(${ffbin} -v|cut -d" " -f3)
dwlfn=FirefoxSetup${next_version}.tar.bz2
if test $? -ne 0; then opti_version=0; fi
echo "remote : "${next_version}
echo "local : "${curr_version}
echo "alt/opt: "${opti_version}
#echo "Current Version: "${curr_version}
#echo "Download Version: "${next_version}
# prepare numbers
#c=$( versionno ${curr_version} )
#n=$( versionno ${next_version} )
#o=$( versionno ${opti_version} )
xfn="/usr/lib/firefox-esr/firefox-esr"
if test ${curr_version} != ${opti_version} #-o ${c} -lt ${o} -a ${o} -ge ${n};
then
test -x ${xfn} && {
echo "fixing link…"
sudo mv ${xfn} ${xfn}.old
sudo ln -s ${ffbin} ${xfn}
} || echo "executable missing: "${xfn}
# test $? -eq 0 && exit 0
fi
# stop if version is not newer
if test ${next_version} = ${opti_version} #${n} -le ${c};
then
echo "No Update!"
# test $? -eq 0 && exit 1
else
# get for new version
sudo wget -c -O ${dwldir}${dwlfn} ${url_effective}
err=$?
echo -n "wget return code: "$err
sudo rm -rf /opt/firefox/
sudo mkdir -p /opt/firefox/
err=$?
echo -n "mkdir return code: "$err
sudo tar xfvj ${dwldir}${dwlfn} -C /opt/
# used
# https://linuxconfig.org/how-to-install-latest-firefox-browser-on-debian-9-stretch-linux
sudo mv /usr/lib/firefox-esr/firefox-esr /usr/lib/firefox-esr/firefox-esr.old
sudo ln -s /opt/firefox/firefox /usr/lib/firefox-esr/firefox-esr
fi