Add Downgrade Chromium app

pull/532/head
Botspot 4 years ago
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

@ -20,6 +20,7 @@ Descent 1|Games
Descent 2|Games
Discord|Internet
Doom 3|Games
Downgrade Chromium|Internet
Eagle CAD|Editors
eDEX-UI|Eyecandy
Email Checker|Internet
@ -37,12 +38,14 @@ Lokinet|Internet
Mac OS Theme|Eyecandy
Mesa 20.3|Tools
Minecraft Bedrock|Games
Minecraft Importer|
Minecraft Java|Games
Minecraft Pi (Modded)|Games
Mission Planner|Tools
Node.js|Tools
Notepad ++|Editors
OBS Studio|Tools
Password Manager|
Pi-Apps Terminal Plugin|Tools
PiGro|Tools
piKiss|Tools

Loading…
Cancel
Save