diff --git a/apps/Downgrade Chromium/description b/apps/Downgrade Chromium/description new file mode 100644 index 0000000..de3d432 --- /dev/null +++ b/apps/Downgrade Chromium/description @@ -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 diff --git a/apps/Downgrade Chromium/icon-24.png b/apps/Downgrade Chromium/icon-24.png new file mode 100644 index 0000000..1a6b15b Binary files /dev/null and b/apps/Downgrade Chromium/icon-24.png differ diff --git a/apps/Downgrade Chromium/icon-64.png b/apps/Downgrade Chromium/icon-64.png new file mode 100644 index 0000000..a79a723 Binary files /dev/null and b/apps/Downgrade Chromium/icon-64.png differ diff --git a/apps/Downgrade Chromium/install-32 b/apps/Downgrade Chromium/install-32 new file mode 100755 index 0000000..5a0fca1 --- /dev/null +++ b/apps/Downgrade Chromium/install-32 @@ -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 + diff --git a/apps/Downgrade Chromium/uninstall b/apps/Downgrade Chromium/uninstall new file mode 100755 index 0000000..4cb68ba --- /dev/null +++ b/apps/Downgrade Chromium/uninstall @@ -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 + + diff --git a/apps/Downgrade Chromium/website b/apps/Downgrade Chromium/website new file mode 100644 index 0000000..318c937 --- /dev/null +++ b/apps/Downgrade Chromium/website @@ -0,0 +1 @@ +https://github.com/Botspot/chromium78 diff --git a/data/categories/structure b/data/categories/structure index 65304d3..4fe1ebf 100644 --- a/data/categories/structure +++ b/data/categories/structure @@ -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