Add Downgrade Chromium app
parent
44a909d69f
commit
9c6dadff27
@ -0,0 +1,6 @@
|
||||
Change Chromium versions easily.
|
||||
Chromium 65, 72, 74, 78, 84, 86, and 88.
|
||||
Uninstall the app to go back to the latest Chromium version available.
|
||||
Beware that downgrading Chromium versions can mess up your config folder. To be safe, this app takes a backup of your config folder. When uninstalling, you will have the oppertunity to restore the backup config folder.
|
||||
|
||||
All deb files are downloaded from http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser
|
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.8 KiB |
@ -0,0 +1,133 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#variable for all chromium versions supported
|
||||
VERSIONS="65
|
||||
72
|
||||
74
|
||||
78
|
||||
84
|
||||
86
|
||||
88"
|
||||
|
||||
#chromium version can be specified by $1
|
||||
#usage: /path/to/this-script 78
|
||||
if [ -z "$1" ];then
|
||||
LIST="$(echo "$VERSIONS" | sed 's/^/false\nChromium version /g')"
|
||||
|
||||
output="$(echo "$LIST" | yad --center --title="Choose Chromium version" --height=290 --no-headers \
|
||||
--text=" Which Chromium version to install today? " \
|
||||
--radiolist --list --column=Tick --column=version --separator='\n' --print-column=2 \
|
||||
--window-icon="$(dirname "$0")/icon-64.png" \
|
||||
--button=!${DIRECTORY}/icons/check.png!OK:0
|
||||
)"
|
||||
button=$?
|
||||
|
||||
[ $button != 0 ] && error "exited chromium version selection list"
|
||||
|
||||
#get just chromium version NUMBER
|
||||
output="$(echo "$output" | awk '{print $3}')"
|
||||
else
|
||||
output="$1"
|
||||
fi
|
||||
#wait until chromium is not running
|
||||
if [ ! -z "$(ps aux | grep chromium | grep -v 'grep' )" ];then
|
||||
echo -n "Please close all Chromium windows first."
|
||||
yad --info --center --window-icon="$(dirname "$0")/icon-64.png" \
|
||||
--title="Close Chromium first" --text="$(echo -e " Chromium is running.\n To reduce the risk of Chromium profile corruption, please close Chromium first. ")" \
|
||||
--window-icon="$(dirname "$0")/icon-64.png" --no-buttons &
|
||||
yadpid=$!
|
||||
while [ ! -z "$(ps aux | grep chromium | grep -v 'grep' )" ];do
|
||||
echo -n '.'
|
||||
sleep 1
|
||||
done
|
||||
echo
|
||||
kill $yadpid
|
||||
fi
|
||||
|
||||
#All urls acquired from http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/
|
||||
|
||||
#Set url variables based on selected version number
|
||||
case "$output" in
|
||||
|
||||
65)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_65.0.3325.181-0+rpt4_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_65.0.3325.181-0+rpt4_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_65.0.3325.181-0+rpt4_armhf.deb"
|
||||
;;
|
||||
|
||||
72)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_72.0.3626.121-0+rpt4_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_72.0.3626.121-0+rpt4_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_72.0.3626.121-0+rpt4_armhf.deb"
|
||||
;;
|
||||
|
||||
74)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_74.0.3729.157-rpt5_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_74.0.3729.157-rpt5_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_74.0.3729.157-rpt5_armhf.deb"
|
||||
;;
|
||||
|
||||
78)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_78.0.3904.108-rpt1_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_78.0.3904.108-rpt1_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_78.0.3904.108-rpt1_armhf.deb"
|
||||
;;
|
||||
|
||||
84)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_84.0.4147.105-rpt3_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_84.0.4147.105-rpt3_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_84.0.4147.105-rpt3_armhf.deb"
|
||||
;;
|
||||
|
||||
86)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_86.0.4240.197-rpt1_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_86.0.4240.197-rpt1_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_86.0.4240.197-rpt1_armhf.deb"
|
||||
;;
|
||||
|
||||
88)
|
||||
cb_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_88.0.4324.187-rpt1_armhf.deb"
|
||||
l10n_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser-l10n_88.0.4324.187-rpt1_all.deb"
|
||||
ffmpeg_extra_url="http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_88.0.4324.187-rpt1_armhf.deb"
|
||||
;;
|
||||
|
||||
*)
|
||||
error "unrecognized chromium version '$output'."
|
||||
;;
|
||||
esac
|
||||
|
||||
#back up chromium config directory
|
||||
if [ ! -d ~/.config/chromium.bak ];then
|
||||
echo "Backing up existing Chromium profile directory..."
|
||||
rm -rf ~/.config/chromium.bak
|
||||
|
||||
cp -a ~/.config/chromium ~/.config/chromium.bak
|
||||
|
||||
fi
|
||||
|
||||
#download the files
|
||||
echo "Downloading the packages..."
|
||||
rm -f cb.deb l10n.deb ffmpeg_extra.deb || error "Failed to remove cb.deb l10n.deb ffmpeg_extra.deb"
|
||||
wget -O cb.deb "$cb_url" || error "Failed to download $cb_url"
|
||||
wget -O l10n.deb "$l10n_url" || error "Failed to download $l10n_url"
|
||||
wget -O ffmpeg_extra.deb "$ffmpeg_extra_url" || error "Failed to download $ffmpeg_extra_url"
|
||||
|
||||
echo "Installing the packages..."
|
||||
sudo apt install -fy --allow-downgrades --allow-change-held-packages "$(pwd)/cb.deb" "$(pwd)/l10n.deb" "$(pwd)/ffmpeg_extra.deb" || error "APT failed to install the packages"
|
||||
rm -f cb.deb l10n.deb ffmpeg_extra.deb || error "Failed to remove cb.deb l10n.deb ffmpeg_extra.deb"
|
||||
|
||||
echo "Holding Chromium version so it won't upgrade..."
|
||||
echo "chromium-browser hold" | sudo dpkg --set-selections
|
||||
echo "chromium-browser-l10n hold" | sudo dpkg --set-selections
|
||||
echo "chromium-codecs-ffmpeg-extra hold" | sudo dpkg --set-selections
|
||||
|
||||
#echo "Fixing Chromium profile..."
|
||||
#rm ~/'.config/chromium/Default/Web Data' &>/dev/null
|
||||
|
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ ! -z "$(ps aux | grep chromium | grep -v 'grep' )" ];then
|
||||
echo -n "Please close all Chromium windows first."
|
||||
yad --info --center --window-icon="$(dirname "$0")/icon-64.png" \
|
||||
--title="Close Chromium first" --text="$(echo -e "Chromium is running.\nTo reduce the risk of Chromium profile corruption, please close Chromium first.")" \
|
||||
--window-icon="$(dirname "$0")/icon-64.png" --no-buttons &
|
||||
yadpid=$!
|
||||
while [ ! -z "$(ps aux | grep chromium | grep -v 'grep' )" ];do
|
||||
echo -n '.'
|
||||
sleep 1
|
||||
done
|
||||
echo
|
||||
kill $yadpid
|
||||
fi
|
||||
|
||||
if [ -d ~/.config/chromium.bak ];then
|
||||
read -p "Would you like to restore the backup of Chromium's config folder? [y/n] " answer
|
||||
|
||||
if [ "$answer" == y ] || [ "$answer" == Y ];then
|
||||
echo "Restoring backup..."
|
||||
|
||||
#first remove existing
|
||||
if [ -e ~/.config/chromium ];then
|
||||
gio trash ~/.config/chromium || rm -rf ~/.config/chromium
|
||||
fi
|
||||
|
||||
#then rename the backup folder
|
||||
mv ~/.config/chromium.bak ~/.config/chromium
|
||||
|
||||
elif [ "$answer" == n ] || [ "$answer" == N ];then
|
||||
true #do nothing
|
||||
else
|
||||
error "Unknown answer "\""$answer"\"""
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Allowing Chromium to be upgradable..."
|
||||
echo "chromium-browser install" | sudo dpkg --set-selections
|
||||
echo "chromium-browser-l10n install" | sudo dpkg --set-selections
|
||||
echo "chromium-codecs-ffmpeg-extra install" | sudo dpkg --set-selections
|
||||
|
||||
echo "Upgrading Chromium..."
|
||||
sudo apt upgrade -y --allow-downgrades chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra rpi-chromium-mods
|
||||
|
||||
|
@ -0,0 +1 @@
|
||||
https://github.com/Botspot/chromium78
|
Loading…
Reference in New Issue