Merge branch 'Botspot:master' into pkg-install

pull/669/head
Jai A P 3 years ago committed by GitHub
commit 2fae95bc39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,5 +1,5 @@
**NOTE**: This changelog covers the major events in pi-apps like new apps being added. If every action since day one was mentioned, "I suppose that even the world itself could not contain the books that should be written." ;)
Last updated: June 21, 2021 by [RaspberryPiNews](https://www.youtube.com/channel/UCmp6JswV90SV5agNFGQuWkw)
**NOTE**: This changelog mainly covers major events in Pi-Apps like new apps being added. If every action done since day one was mentioned, then "I suppose that even the world itself could not contain the books that should be written." ;)
Last updated: September 04, 2021 by [RaspberryPiNews](https://www.youtube.com/channel/UCmp6JswV90SV5agNFGQuWkw)
- **3/20/2020** Initial idea of an app store. https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=268455
@ -110,10 +110,25 @@ Added pi-apps terminal command (you can now run pi-apps with `pi-apps`).
- **5/4/2021** Added blockpi and Windows Screensavers apps, numerous changes to api script and removed up/down buttons in GUI
- **5/5/2021** Added Drawing app and updated install/uninstall GUI icons
- **5/6/2021** Updated trash icon
- **5/7/2021** Add Chiaki app and fixed terminal title when multi-installing apps
- **5/7/2021** Added Chiaki app and fixed terminal title when multi-installing apps
- **5/9/2021** Added qterminal support to pi-apps and fix Wine precompiled kernel
- **5/14/2021** Fixed update-exclusion and preload-daemon. Also added icon for disabled apps and made piKiss 32-bit only
- **5/19/2021** Fixed Box86 multiarch on 64-bit
- **5/24/2021** Allowed selecting apps to update in updater and added more api functions.
- **6/19/2021** Updater MCPI Modded to v2.x and use APT repo instead of pi-apps updates to allow for faster package updates
- **6/21/2021** Added 1.17 support to MC Java
- **6/19/2021** Update MCPI Modded to v2.x and use APT repo instead of pi-apps updates to allow for faster package updates
- **6/21/2021** Added support for STL thumbnails in file manager for Cura and 1.17 support to MC Java
- **7/2/2021** Added Conky Rings, Pale Moon Browser, and HTTPS File Server apps
- **7/3/2021** Added install/uninstall output logging system
- **7/4/2021** Added note about what kind of distros Pi-Apps will work on to README
- **7/10/2021** Added Min Browser and Box64 apps, and updated app screenshots in readme
- **7/25/2021** Added "Never show again" option to updater notifications, and new Firefox Rapid Release app, as well as a 64-bit installation script for Sublime Text. Also changed updater to check for updates via `git pull` instead of old `git clone` system
- **7/31/2021** Fixed writing update logs to home directory
- **8/2/2021** Made Pi-Apps print support info at end of a script failure
- **8/9/2021** Made 64-bit Zoom to use box64 and amd64 Zoom binaries, and updated install/uninstall code to mark scripts as executiable before running them
- **8/10/2021** Added new bug reporting window after script failure, allowing users to send a bug report to the developers with the click of a button, added a bash-based terminal plugin app and auto sign unsigned APT repository. A ton of commits were made following the addition of the error reporter :)
- **8/11/2021** Added AutoStar & CloudBuddy apps made by Botspot, (insert lots of bug fixes here too). Also added checks for non-arm architectures and also add semi-support for Chromebooks
- **8/13/2021** Added new "Search" button to search for apps
- **8/15/2021** Added new startup splash screen to make the wait time a little less agonizing
- **9/1/2021** Add Windows Flasher app, and update scripts to replace wget with aria2c for faster downloads if installed as small experiment

126
api

@ -10,6 +10,11 @@ if [[ "$0" == */api ]];then
DIRECTORY="$(readlink -f "$(dirname "$0")")"
fi
if [ -z "$DIRECTORY" ] || [ "$DIRECTORY" == "$HOME" ];then
echo "api: DIRECTORY variable must be set to valid pi-apps folder. Default folder: $HOME/pi-apps"
return 1
fi
repo_url="$(cat "${DIRECTORY}/etc/git_url" || echo 'https://github.com/Botspot/pi-apps')"
#determine if host system is 64 bit arm64 or 32 bit armhf
@ -264,6 +269,7 @@ script_name_cpu() { #get script name to run based on detected CPU arch
app_status() { #Gets the $1 app's current status. installed, uninstalled, corrupted, disabled
[ -z "$1" ] && error 'app_status(): requires an argument.'
#don't check if app exists, it may be a new app in an update
if [ -f "${DIRECTORY}/data/status/${1}" ];then
cat "${DIRECTORY}/data/status/${1}"
@ -278,8 +284,8 @@ will_reinstall() { #return 0 if $1 app will be reinstalled during an update, oth
#detect which installation script exists and get the hash for that one
scriptname="$(script_name_cpu "$1")"
oldinstallhash=$(sha1sum "${DIRECTORY}/apps/${1}/${scriptname}" | awk '{print $1}')
newinstallhash=$(sha1sum "${DIRECTORY}/update/pi-apps/apps/${1}/${scriptname}" 2>/dev/null | awk '{print $1}')
oldinstallhash="$(sha1sum "${DIRECTORY}/apps/${1}/${scriptname}" 2>/dev/null | awk '{print $1}')"
newinstallhash="$(sha1sum "${DIRECTORY}/update/pi-apps/apps/${1}/${scriptname}" 2>/dev/null | awk '{print $1}')"
#if install script was changed #if installed already
if [ "$newinstallhash" != "$oldinstallhash" ] && [ "$(app_status "${1}")" == 'installed' ];then
@ -369,35 +375,51 @@ runonce() { #run command only if it's never been run before. Useful for one-time
apt_lock_wait() { #Wait until other apt processes are finished before proceeding
echo -n "Waiting until APT locks are released... "
while sudo fuser /var/lib/dpkg/lock &>/dev/null ; do
sleep 0.5
done
while sudo fuser /var/lib/dpkg/lock-frontend &>/dev/null ; do
sleep 0.5
done
while sudo fuser /var/lib/apt/lists/lock &>/dev/null ; do
sleep 0.5
#while sudo fuser /var/lib/dpkg/lock &>/dev/null ; do
# sleep 0.5
#done
#while sudo fuser /var/lib/dpkg/lock-frontend &>/dev/null ; do
# sleep 0.5
#done
#while sudo fuser /var/lib/apt/lists/lock &>/dev/null ; do
# sleep 0.5
#done
#if [ -f /var/log/unattended-upgrades/unattended-upgrades.log ]; then
# while sudo fuser /var/log/unattended-upgrades/unattended-upgrades.log &>/dev/null ; do
# sleep 0.5
# done
#fi
while [ ! -z "$(sudo fuser /var/lib/dpkg/lock /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/log/unattended-upgrades/unattended-upgrades.log /var/lib/dpkg/lock-frontend 2>/dev/null)" ];do
sleep 1
done
if [ -f /var/log/unattended-upgrades/unattended-upgrades.log ]; then
while sudo fuser /var/log/unattended-upgrades/unattended-upgrades.log &>/dev/null ; do
sleep 0.5
done
fi
sleep 0.5
echo "Done"
}
is_supported_system() {
if uname -m | grep -q 'x86' ;then
echo "Pi-Apps is not supported on x86 processors. Expect almost all apps to fail."
if uname -m | grep -q 'x86' || uname -m | grep -q 'i686' || uname -m | grep -q 'i386';then
echo "Pi-Apps is not supported on x86 processors. Expect almost all apps to fail. Consider switching to this x86 port of Pi-Apps: https://github.com/MCRaspRBX/pi-apps-x86"
return 1
elif [[ "$(cat /etc/os-release | grep VERSION_CODENAME | tr -d '"' | awk -F= '{print $2}')" == @(stretch|wheezy|jessie) ]];then
echo "Pi-Apps is not supported on the outdated $(cat /etc/os-release | grep VERSION_CODENAME | tr -d '"' | awk -F= '{print $2}') operating system. Expect many apps to fail. Consider upgrading your operating system."
elif cat /etc/os-release | grep PRETTY_NAME | tr -d '"' | awk -F= '{print $2}' | grep -qi 'stretch\|wheezy\|jessie';then
echo "Pi-Apps is not supported on your outdated operating system. Expect many apps to fail. Consider upgrading your operating system."
return 1
elif cat /etc/os-release | grep PRETTY_NAME | tr -d '"' | awk -F= '{print $2}' | grep -qi 'manjaro';then
echo "Pi-Apps is not supported on Manjaro."
return 1
elif [[ "$(uname -m)" == armv6* ]];then
echo "Pi-Apps has not been tested on armv6 Raspberry Pi boards. Expect many apps to fail."
echo "Pi-Apps is not supported on ARMv6 Raspberry Pi boards. Expect some apps to fail."
return 1
elif [ "$(id -u)" == 0 ]; then
echo "Pi-Apps is not designed to be run as root user."
return 1
elif [ "$(df -a / -B 1 --output=avail | tail -1 | tr -d ' ')" -lt $((1*1024*1024*1024)) ];then
echo "Your system drive has less than 1GB of free space. Watch out for "\""disk full"\"" errors."
return 1
else
return 0
fi
return 0
}
format_log_file() { #remove ANSI escape sequences from a given file, and add OS information to beginning of file
@ -477,6 +499,68 @@ ${blue}┃ ${red}⬛⬛⬛ ${blue}┃\e[97m ▕ ▕
\e[0m\e[0m"
}
wget() { #this function intercepts all wget commands being used in app scripts. It uses aria2c if possible.
local file=''
local url=''
local use=aria2c
if command -v aria2c >/dev/null; then
#convert wget arguments to newline-separated list
local IFS=$'\n'
local opts="$(IFS=$'\n'; echo "$*")"
for opt in $opts ;do
if [[ "$opt" == '-'* ]] || [ "$opt" == '-' ];then
#this opt is the beginning of a flag
if [ "$opt" == '-qO' ] || [ "$opt" == '-O' ] || [ "$opt" == '-q' ]; then
true
else #any other wget command-flags other than '-qO', '-O', '-q'
use=wget
break
fi
elif [[ "$opt" == *'://'* ]]; then
#this opt is web address
url="$opt"
elif [[ "$opt" == '/'* ]]; then
#this opt is file output
if [ -z "$file" ];then
file="$opt"
else #file var already populated
use=wget
break
fi
else
#this opt does not begin with '-', contain '://', or begin with '/'. Assume output file specified shorthand
if [ -z "$file" ];then
file="$(pwd)/${opt}"
else #file var already populated
use=wget
break
fi
fi
done
else
#aria2c command not found
use=wget
fi
if [ "$use" == wget ];then
#run the true wget binary with all this function's args
command wget "$@"
elif [ "$use" == aria2c ];then
#make default filename if $file empty
if [ -z "$file" ];then
file="$(pwd)/$(basename "$url")"
fi
#suppress output if -q flag passed
if echo "$@" | grep -q '\-q' ;then
aria2c -c -x 16 -s 16 -m 10 --retry-wait 30 "$url" --dir '/' -o "${file:1}" --allow-overwrite --summary-interval=1 >/dev/null
else
aria2c -c -x 16 -s 16 -m 10 --retry-wait 30 "$url" --dir '/' -o "${file:1}" --allow-overwrite --summary-interval=1
fi
fi
}
#if this script is being run standalone, not sourced
if [[ "$0" == */api ]];then
if [ ! -z "$1" ];then

@ -27,6 +27,7 @@ git clone https://gitlab.com/gazlene/droidbuddy.git || error 'Could not clone An
sudo pip3 install Pillow
mkdir -p ~/.local/share/applications
echo "[Desktop Entry]
Name=AndroidBuddy
Comment=GUI for Android device recovery and maintainence

@ -14,5 +14,4 @@ filename='anydesk_6.1.1-1_armhf'
wget https://download.anydesk.com/rpi/${filename}.deb || error "Failed to downloading file. Make sure 'wget' is installed and verify your Internet Network Connection"
# Installing the software with permissions
sudo apt install -y --fix-broken ~/${filename}.deb || error "Failed to install deb file"
"${DIRECTORY}/pkg-install" ~/${filename}.deb "$(dirname "$0")" || error "Failed to install deb file"

@ -7,4 +7,4 @@ function error {
exit 1
}
sudo apt purge -y anydesk
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

@ -7,7 +7,7 @@ function error {
exit 1
}
sudo apt-get -y install g++ cmake make ninja-build libsdl2-dev libogg-dev libvorbis-dev libopenal-dev libalut-dev libfreetype6-dev || error 'Failed to install dependencies'
"${DIRECTORY}/pkg-install" "g++ cmake make ninja-build libsdl2-dev libogg-dev libvorbis-dev libopenal-dev libalut-dev libfreetype6-dev" "$(dirname "$0")" || exit 1
#download
rm -rf master.zip astromenace-master/

@ -1 +1 @@
https://github.com/Botspot/cloudbuddy
https://github.com/Botspot/autostar

@ -8,7 +8,7 @@ function error {
}
rm -f ~/etcher.deb
wget -O ~/etcher.deb https://github.com/Itai-Nelken/Etcher-arm-32-64/releases/download/v1.5.120/balena-etcher-electron_1.5.120+ccb08a48_armv7l.deb || error "Failed to download!"
wget -O ~/etcher.deb https://github.com/Itai-Nelken/Etcher-arm-32-64/releases/download/v1.5.121/balena-etcher-electron_1.5.121+8b3f3710_armv7l.deb || error "Failed to download!"
"${DIRECTORY}/pkg-install" "$HOME/etcher.deb" "$(dirname "$0")" || error "failed to install etcher.deb file!"
rm -f ~/etcher.deb

@ -8,7 +8,7 @@ function error {
}
rm -f ~/etcher.deb
wget -O ~/etcher.deb https://github.com/Itai-Nelken/Etcher-arm-32-64/releases/download/v1.5.120/balena-etcher-electron_1.5.120+ccb08a48_arm64.deb || error "Failed to download!"
wget -O ~/etcher.deb https://github.com/Itai-Nelken/Etcher-arm-32-64/releases/download/v1.5.121/balena-etcher-electron_1.5.121+8b3f3710_arm64.deb || error "Failed to download!"
"${DIRECTORY}/pkg-install" "$HOME/etcher.deb" "$(dirname "$0")" || error "failed to install etcher.deb file!"
rm -f ~/etcher.deb

@ -13,14 +13,26 @@ rm -rf ~/box64
git clone https://github.com/ptitSeb/box64 || error 'Failed to clone box64 repository!'
cd box64 || error 'Failed to change directory'
mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo || error 'Failed to run cmake in "build" directory'
make -j8 || error 'Failed to compile'
#determine how many threads can run without running out of memory
if [ $(($(free -bt | tail -1 | awk '{print $2}')-$(free -bt | tail -1 | awk '{print $3}'))) -le 2000000000 ];then
#less than 2GB of available ram
threads=3
else
#greater than 2GB of available ram
threads=5
fi
echo "Compiling Box64 with $threads threads..."
make -j${threads} || error 'Failed to compile'
sudo make install || error 'Failed to run "sudo make install"'
if ! sudo systemctl restart systemd-binfmt ;then
echo "Error: systemd-binfmt failed to restart. Running debug..."
echo "WARNING: systemd-binfmt failed to restart. Running debug..."
echo 'systemctl status systemd-binfmt.service'
systemctl status systemd-binfmt.service
echo 'systemctl status systemd-binfmt.service'
journalctl -xe | cat
error "Exiting now because systemd-binfmt failed to restart."
echo "Exiting this script as successful, but consider sending the above errors to Pi-Apps developers."
fi
exit 0

@ -7,24 +7,23 @@ function error {
exit 1
}
echo -n "Checking for working systemd-binfmt..."
if ! sudo systemctl restart systemd-binfmt ;then
echo -e "\nError: systemd-binfmt failed to restart. Running debug..."
echo 'systemctl status systemd-binfmt.service'
systemctl status systemd-binfmt.service
echo 'systemctl status systemd-binfmt.service'
journalctl -xe | cat
error "Exiting now because systemd-binfmt failed to restart."
else
echo "Done"
if dpkg -l box86 &>/dev/null ;then
sudo apt purge -y box86
fi
sudo rm -f /etc/apt/sources.list.d/box86.list
echo "adding box86 repo..."
echo "Adding box86 repo..."
sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list || error "Failed to download /etc/apt/sources.list.d/box86.list"
echo "adding key..."
echo "Adding key..."
wget -qO- https://itai-nelken.github.io/weekly-box86-debs/debian/KEY.gpg | sudo apt-key add - || error "Failed to add key to box86 repo!"
echo "installing box86..."
"${DIRECTORY}/pkg-install" "box86" "$(dirname "$0")" || exit 1
echo "Installing box86..."
"${DIRECTORY}/pkg-install" "box86-no-binfmt-restart" "$(dirname "$0")" || exit 1
if ! sudo systemctl restart systemd-binfmt ;then
echo -e "\nWarning: systemd-binfmt failed to restart. Getting debug info..."
echo "Running command: 'systemctl status systemd-binfmt.service'"
systemctl status systemd-binfmt.service
echo "Still exiting with success, but you will have to manually run all x86 applications with box86 as binfmt isn't there to do it for you."
fi

@ -7,12 +7,12 @@ function error {
exit 1
}
# Get dependencies
"${DIRECTORY}/pkg-install" "firefox-esr" "$(dirname "$0")" || exit 1
rm -f ~/browsh.deb
wget -O browsh.deb https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb || error 'Failed to download browsh!'
"${DIRECTORY}/pkg-install" "firefox-esr $HOME/browsh.deb" "$(dirname "$0")" || error 'Failed to install browsh.deb!'
rm -f ~/browsh.deb
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb || error 'Failed to download browsh!'
sudo apt -yf install ./browsh_1.6.4_linux_armv7.deb || error 'Failed to install browsh!'
rm browsh_1.6.4_linux_armv7.deb
echo "[Desktop Entry]
Version=1.1
Type=Application
@ -22,4 +22,3 @@ Icon=$(dirname "$0")/icon-64.png
Exec=browsh
Terminal=true
Categories=Network;" > ~/.local/share/applications/browsh.desktop

@ -7,12 +7,12 @@ function error {
exit 1
}
# Get dependencies
"${DIRECTORY}/pkg-install" "firefox-esr" "$(dirname "$0")" || exit 1
rm -f ~/browsh.deb
wget -O browsh.deb https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_arm64.deb || error 'Failed to download browsh!'
"${DIRECTORY}/pkg-install" "firefox-esr $HOME/browsh.deb" "$(dirname "$0")" || error 'Failed to install browsh.deb!'
rm -f ~/browsh.deb
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_arm64.deb || error 'Failed to download browsh!'
sudo apt -yf install ./browsh_1.6.4_linux_arm64.deb || error 'Failed to install browsh!'
rm browsh_1.6.4_linux_arm64.deb
echo "[Desktop Entry]
Version=1.1
Type=Application
@ -21,6 +21,4 @@ Comment=The modern text-based terminal browser.
Icon=$(dirname "$0")/icon-64.png
Exec=browsh
Terminal=true
Actions=
Categories=Network;" > ~/.local/share/applications/browsh.desktop

@ -7,11 +7,6 @@ function error {
exit 1
}
if command -v browsh >/dev/null ;then
sudo apt purge -y browsh || error 'Failed to remove browsh!'
fi
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || error 'Failed to purge browsh package!'
sudo rm -f ~/.local/share/applications/browsh.desktop
#if your app installs any packages, keep this command here so those packages will be removed.
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

@ -11,6 +11,7 @@ function error {
"${DIRECTORY}/pkg-install" "cmake python3-protobuf protobuf-compiler libavcodec-dev libopus-dev libsdl2-dev libssl-dev qt5-default qtmultimedia5-dev libqt5svg5-dev libqt5multimedia5-plugins libqt5opengl5-dev" "$(dirname "$0")" || exit 1
# install Chiaki
rm -rf ~/Chiaki || error "Failed to first remove $HOME/Chiaki folder!"
git clone --single-branch --branch rpi01 https://github.com/Fredrum/chiaki.git Chiaki || error "failed to clone the Chiaki repository!"
cd Chiaki || error "failed to enter the Chiaki folder!"
git submodule update --init || error "failed to update the Chiaki submodule!"

@ -7,5 +7,6 @@ function error {
exit 1
}
rm "$HOME/.fonts/Noto Color Emoji.ttf" "$HOME/.fonts/Segoe UI.ttf"
rm -f "$HOME/.fonts/Noto Color Emoji.ttf" "$HOME/.fonts/Segoe UI.ttf"
exit 0

@ -7,6 +7,13 @@ function error {
exit 1
}
if ! cat /proc/cpuinfo | grep Model | sed 's/Model.*: //g' | grep -q 'Raspberry Pi' ;then
error "▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
CommanderPi can only be installed on Raspberry Pi devices.
Your device is: $(cat /proc/cpuinfo | grep Model | sed 's/Model.*: //g')
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲"
fi
rm -rf ~/CommanderPi || sudo rm -rf ~/CommanderPi || error "Failed to remove CommanderPi folder!"
# Get dependencies

@ -8,7 +8,9 @@ function error {
}
if [ -f "$HOME/.conkyrc" ]; then
error "Another Conky theme is already installed! Uninstall the original app (Or delete $HOME/.conkyrc), then try again."
error "▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
Another Conky theme is already installed! Uninstall the original app (Or delete $HOME/.conkyrc), then try again.
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲"
fi
# Get dependencies

@ -8,7 +8,9 @@ function error {
}
if [ -f "$HOME/.conkyrc" ]; then
error "Another Conky theme is already installed! Uninstall the original app (Or delete $HOME/.conkyrc), then try again."
error "▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
Another Conky theme is already installed! Uninstall the original app (Or delete $HOME/.conkyrc), then try again.
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲"
fi
wget -O ~/.conkyrc https://raw.githubusercontent.com/Botspot/rpi_conky/master/conkyrc || error 'Failed to download conkyrc!!'

@ -7,7 +7,7 @@ function error {
exit 1
}
wget -O ~/Cura.AppImage https://github.com/smartavionics/Cura/releases/download/20210629/Cura-mb-master-armhf-20210629.AppImage || error "Failed to download!"
wget -O ~/Cura.AppImage https://github.com/smartavionics/Cura/releases/download/20210908/Cura-mb-master-armhf-20210908.AppImage || error "Failed to download!"
chmod +x ~/Cura.AppImage

@ -7,7 +7,7 @@ function error {
exit 1
}
wget -O ~/Cura.AppImage https://github.com/smartavionics/Cura/releases/download/20210629/Cura-mb-master-aarch64-20210629.AppImage || error "Failed to download!"
wget -O ~/Cura.AppImage https://github.com/smartavionics/Cura/releases/download/20210908/Cura-mb-master-aarch64-20210908.AppImage || error "Failed to download!"
chmod +x ~/Cura.AppImage

@ -7,7 +7,7 @@ function error {
exit 1
}
rm -rf ~/RPIDoom3Installer || error "Failed to first remove ~/RPIDoom3Installer folder!"
rm -rf ~/RPIDoom3Installer || sudo rm -rf ~/RPIDoom3Installer || error "Failed to first remove ~/RPIDoom3Installer folder!"
# Get dependencies
"${DIRECTORY}/pkg-install" "libfontconfig-dev qt5-default automake mercurial libtool libfreeimage-dev \

@ -21,16 +21,18 @@ VERSIONS="65
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"
output=''
while [ -z "$output" ];do
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"
done
#get just chromium version NUMBER
output="$(echo "$output" | awk '{print $3}')"
else
@ -120,6 +122,7 @@ 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..."
"${DIRECTORY}/api" apt_lock_wait
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"

@ -22,24 +22,27 @@ if [ ! -z "$(ps aux | grep chromium | grep -v 'grep' )" ];then
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..."
while true;do
read -p "Would you like to restore the backup of Chromium's config folder? [y/n] " answer
#first remove existing
if [ -e ~/.config/chromium ];then
gio trash ~/.config/chromium || rm -rf ~/.config/chromium
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
break #exit loop
elif [ "$answer" == n ] || [ "$answer" == N ];then
break #exit loop
else
echo "Unknown answer "\""$answer"\"""
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
done
fi
echo "Allowing Chromium to be upgradable..."
@ -48,6 +51,7 @@ 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
"${DIRECTORY}/api" apt_lock_wait
sudo apt upgrade -y --allow-downgrades chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra

@ -17,5 +17,6 @@ fi
rm -f ~/drawing.deb
wget -O ~/drawing.deb "https://launchpad.net/~cartes/+archive/ubuntu/drawing/+files/drawing_0.8.3-0ubuntu1~hirsute_armhf.deb" || error "Failed to download drawing.deb"
sudo apt install -yf ~/drawing.deb || error "APT failed to install drawing.deb"
"${DIRECTORY}/pkg-install" "$HOME/drawing.deb" "$(dirname "$0")" || error "APT failed to install drawing.deb"
rm -f ~/drawing.deb

@ -12,5 +12,5 @@ function error {
rm -f ~/drawing.deb
wget -O ~/drawing.deb "https://launchpad.net/~cartes/+archive/ubuntu/drawing/+files/drawing_0.8.3-0ubuntu1~hirsute_arm64.deb" || error "Failed to download drawing.deb"
sudo apt install -yf ~/drawing.deb || error "APT failed to install drawing.deb"
"${DIRECTORY}/pkg-install" "$HOME/drawing.deb" "$(dirname "$0")" || error "APT failed to install drawing.deb"
rm -f ~/drawing.deb

@ -7,6 +7,4 @@ function error {
exit 1
}
if command -v drawing >/dev/null ;then
sudo apt purge -y drawing || error "apt failed to uninstall the 'drawing' package."
fi
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1 || error "apt failed to uninstall the 'drawing' package."

@ -27,8 +27,12 @@ if [ $? != 0 ];then
error "wget failed to download 99bionic-updates config file!"
fi
"${DIRECTORY}/api" apt_lock_wait
echo "Running 'sudo apt update'..."
sudo apt update || error "Failed to run 'sudo apt update'!"
"${DIRECTORY}/api" apt_lock_wait
echo "Installing Firefox package..."
sudo apt install -t bionic-updates firefox -y || error "Failed to install firefox!"

@ -7,8 +7,8 @@ function error {
exit 1
}
sudo apt purge firefox -y || error "Failed to uninstall firefox!"
sudo rm /etc/apt/preferences.d/99bionic-updates || error "Failed to delete /etc/apt/preferences.d/99bionic-updates"
sudo rm /etc/apt/sources.list.d/firefox-ubuntu.list || error "Failed to delete the repository!"
sudo apt purge firefox -y
sudo rm -f /etc/apt/preferences.d/99bionic-updates
sudo rm -f /etc/apt/sources.list.d/firefox-ubuntu.list
sudo apt-key del "3B4FE6ACC0B21F32" || error "Failed to delete the key!"

@ -9,10 +9,10 @@ function error {
#Downloading Deb File For FreeTube
rm -f ~/freetube.deb
wget https://archive.org/download/freetube_0.13.2_arm64/freetube_0.13.2_armhf.deb -O ~/freetube.deb || error "Failed to download freetube.deb!"
wget -O ~/freetube.deb https://archive.org/download/freetube_0.14.0_armv7l/freetube_0.14.0_armv7l.deb || error "Failed to download freetube.deb!"
#Installing FreeTube
sudo apt install -y --fix-missing ~/freetube.deb || error "APT failed to install freetube.deb!"
"${DIRECTORY}/pkg-install" "$HOME/freetube.deb" "$(dirname "$0")" || error "APT failed to install freetube.deb!"
#Removing Deb File
rm -f ~/freetube.deb

@ -9,10 +9,10 @@ function error {
#Downloading Deb File For FreeTube
rm -f ~/freetube.deb
wget https://archive.org/download/freetube_0.13.2_arm64/freetube_0.13.2_arm64.deb -O ~/freetube.deb || error "Failed to download freetube.deb!"
wget -O ~/freetube.deb https://archive.org/download/freetube_0.14.0_armv7l/freetube_0.14.0_arm64.deb || error "Failed to download freetube.deb!"
#Installing FreeTube
sudo apt install -y --fix-missing ~/freetube.deb || error "APT failed to install freetube.deb!"
"${DIRECTORY}/pkg-install" "$HOME/freetube.deb" "$(dirname "$0")" || error "APT failed to install freetube.deb!"
#Removing Deb File
rm -f ~/freetube.deb

@ -7,7 +7,5 @@ function error {
exit 1
}
#Uninstalling FreeTube
sudo apt -y purge freetube || error "Failed to uninstall lightpad"
sudo apt -y autoremove
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -9,7 +9,7 @@ function error {
cd $HOME
VERSION='1.14.0'
VERSION='2.0.0'
#remove old deb (if exists)
rm -f ~/gh.deb

@ -9,7 +9,7 @@ function error {
cd $HOME
VERSION='1.14.0'
VERSION='2.0.0'
#remove old deb (if exists)
rm -f ~/gh.deb

@ -7,7 +7,11 @@ function error {
exit 1
}
env WINEPREFIX="$HOME/.wine" wine C:\\windows\\command\\start.exe /Unix ~/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/LEGO\ Company/Uninstall\ LEGO\ Digital\ Designer.lnk || error "Wine uninstallation command failed!"
if command -v wine >/dev/null ;then
env WINEPREFIX="$HOME/.wine" wine C:\\windows\\command\\start.exe /Unix ~/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/LEGO\ Company/Uninstall\ LEGO\ Digital\ Designer.lnk || error "Wine uninstallation command failed!"
else
echo "WARNING: 'wine' command not found! Not uninstalling Lego Digital Designer."
fi
#wait until finished
while ps aux | grep -v grep | grep wine | grep -q 'LEGO Digital Designer' ;do

@ -8,9 +8,13 @@ function error {
}
if ! command -v libreoffice >/dev/null ;then
error "Libreoffice is not installed, so this theme is useless to you.\nTo install libreoffice, run this in a terminal:\nsudo apt install libreoffice libreoffice-gtk2"
error "▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
Libreoffice is not installed, so this theme is useless to you.\nTo install libreoffice, run this in a terminal:\nsudo apt install libreoffice libreoffice-gtk2
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲"
fi
rm -rf ~/libreoffice-ms-theme
git clone --depth=1 https://github.com/Botspot/libreoffice-ms-theme || error "Failed to git clone libreoffice-ms-theme repository!"
~/libreoffice-ms-theme/apply.sh || error "apply.sh failed"

@ -7,7 +7,10 @@ function error {
exit 1
}
version='1.20.0'
wget https://github.com/chunky-milk/minbrowser-arm-builds/releases/download/${version}/min_${version}_armhf.deb || error "Failed to download Min deb file!"
sudo apt install -yf ./min_${version}_armhf.deb || error "Failed to install min deb file!"
rm -f ./min_${version}_armhf.deb
version='1.21.0'
rm -f ~/min.deb
wget -O ~/min.deb https://github.com/chunky-milk/minbrowser-arm-builds/releases/download/${version}/min_${version}_armhf.deb || error "Failed to download Min deb file!"
"${DIRECTORY}/pkg-install" "$HOME/min.deb" "$(dirname "$0")" || error "Failed to install min deb file!"
rm -f version='1.21.0'
rm -f ~/min.deb

@ -7,7 +7,10 @@ function error {
exit 1
}
version='1.20.0'
wget https://github.com/chunky-milk/minbrowser-arm-builds/releases/download/${version}/min_${version}_arm64.deb || error "Failed to download Min deb file!"
sudo apt install -yf ./min_${version}_arm64.deb || error "Failed to install min deb file!"
rm -f ./min_${version}_arm64.deb
version='1.21.0'
rm -f ~/min.deb
wget -O ~/min.deb https://github.com/chunky-milk/minbrowser-arm-builds/releases/download/${version}/min_${version}_arm64.deb || error "Failed to download Min deb file!"
"${DIRECTORY}/pkg-install" "$HOME/min.deb" "$(dirname "$0")" || error "Failed to install min deb file!"
rm -f version='1.21.0'
rm -f ~/min.deb

@ -7,4 +7,4 @@ function error {
exit 1
}
sudo apt purge min -y || error "failed to remove min package from system!"
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || error "failed to remove min package from system!"

@ -11,7 +11,7 @@ function error {
#Download file
cd ~
curl -L https://github.com/ChristopherHX/linux-packaging-scripts/releases/download/v0.2.1-661/Minecraft_Bedrock_Launcher-arm-0.0.661.AppImage --output MCBedrock.AppImage
curl -L https://github.com/ChristopherHX/linux-packaging-scripts/releases/download/v0.2.5-672/Minecraft_Bedrock_Launcher-arm-0.0.672.AppImage --output MCBedrock.AppImage
chmod +x MCBedrock.AppImage
sudo mv MCBedrock.AppImage /opt/MCBedrock.AppImage
@ -21,7 +21,7 @@ Version=1.1
Type=Application
Name=Minecraft Bedrock Launcher
Comment=A Minecraft: Bedrock Edition
Icon=$(dirname "$0")/icon-64.png
Icon='"$(dirname "$0")/icon-64.png"'
Exec=bash -c "sudo modprobe fuse ; GALLIUM_HUD=simple,fps /opt/MCBedrock.AppImage"
Categories=Game;
Terminal=false

@ -8,11 +8,11 @@ function error {
# Get dependencies
sudo dpkg --add-architecture armhf
"${DIRECTORY}/pkg-install" "curl libx11-6:armhf libxext6:armhf libegl1-mesa:armhf zlib1g:armhf libstdc++6:armhf libgl1-mesa-dri:armhf libasound2:armhf libpulse0:armhf libcom-err2:armhf libgmp10:armhf libp11-kit0:armhf" "$(dirname "$0")" || exit 1
"${DIRECTORY}/pkg-install" "curl libx11-6:armhf libxext6:armhf libegl1-mesa:armhf zlib1g:armhf libstdc++6:armhf libgl1-mesa-dri:armhf libasound2:armhf libpulse0:armhf libcom-err2:armhf libgmp10:armhf libp11-kit0:armhf libsystemd0:armhf libllvm12:armhf" "$(dirname "$0")" || exit 1
#Download file
cd ~
curl -L https://github.com/ChristopherHX/linux-packaging-scripts/releases/download/v0.2.1-661/Minecraft_Bedrock_Launcher-arm_aarch64-0.0.661.AppImage --output MCBedrock.AppImage
curl -L https://github.com/ChristopherHX/linux-packaging-scripts/releases/download/v0.2.5-672/Minecraft_Bedrock_Launcher-arm_aarch64-0.0.672.AppImage --output MCBedrock.AppImage
chmod +x MCBedrock.AppImage
sudo mv MCBedrock.AppImage /opt/MCBedrock.AppImage
@ -22,7 +22,7 @@ Version=1.1
Type=Application
Name=Minecraft Bedrock Launcher
Comment=A Minecraft: Bedrock Edition
Icon=$(dirname "$0")/icon-64.png
Icon='"$(dirname "$0")/icon-64.png"'
Exec=bash -c "GALLIUM_HUD=simple,fps /opt/MCBedrock.AppImage"
Categories=Game;
Terminal=false

@ -7,4 +7,4 @@ function error {
}
sudo rm /opt/MCBedrock.AppImage
rm -rf ~/'.cache/Minecraft Linux Launcher' ~/.cache/mcpelauncher ~/.cache/mcpelauncher-webview ~/.cache/msa ~/.cache/msa-ui-qt ~/.local/share/msa
rm -rf ~/'.cache/Minecraft Linux Launcher' ~/.cache/mcpelauncher ~/.cache/mcpelauncher-webview ~/.cache/msa ~/.cache/msa-ui-qt ~/.local/share/msa ~/.local/share/applications/minecraftbedrock.desktop

@ -7,12 +7,8 @@ function error {
exit 1
}
#use the error function often!
#If a certain command is necessary for installation to continue, then add this to the end of it:
# || error 'reason'
#example below:
#Run modified setupMC.sh
rm -rf ~/Minecraft || sudo rm -rf ~/Minecraft || error "Failed to first remove ~/Minecraft folder!"
mkdir -p ~/Minecraft && cd ~/Minecraft && wget https://github.com/chunky-milk/Minecraft/raw/main/setupMC.sh && chmod +x setupMC.sh && ./setupMC.sh || error 'Failed to install the launcher!'
#Move launcher to /usr/share/

@ -7,12 +7,8 @@ function error {
exit 1
}
#use the error function often!
#If a certain command is necessary for installation to continue, then add this to the end of it:
# || error 'reason'
#example below:
#Download java and launcher
rm -rf ~/Minecraft || sudo rm -rf ~/Minecraft || error "Failed to first remove ~/Minecraft folder!"
mkdir ~/Minecraft && cd ~/Minecraft && wget https://github.com/chunky-milk/Minecraft/raw/main/setupMC.sh && chmod +x setupMC.sh && ./setupMC.sh || error 'Failed to install the launcher!'
#Move launcher to /usr/share/

@ -1,11 +1,5 @@
#!/bin/bash
##
## Config
##
set -e
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
function error {
@ -13,26 +7,12 @@ function error {
exit 1
}
# Wait for apt lock to be released
i=0
while sudo fuser /var/{lib/{dpkg,apt/lists},cache/apt/archives}/lock > /dev/null 2>&1
do
case $(($i % 4)) in
0) j="-";;
1) j="\\";;
2) j="|";;
3) j="/";;
esac
printf "\r[$j] Waiting for other package managers to finish..."
sleep 0.5
((i+=1))
done
[[ $i -gt 0 ]] && printf "Done.\n"
"${DIRECTORY}/api" apt_lock_wait
# Remove old MCPILs
sudo apt-get remove -y mcpil-r mcpil &>/dev/null || true
wget --no-cache -q -O - https://raw.githubusercontent.com/MCPI-Revival/mcpi-packages/master/install.sh | sudo bash - || error "Failed to install APT repo!"
wget -qO- https://raw.githubusercontent.com/MCPI-Revival/mcpi-packages/master/install.sh | grep -v 'sudo apt update' | sudo bash - || error "Failed to install APT repo!"
# Choose MCPIL to use
PS3="Which launcher for MCPI Modded would you like to use? Need help deciding? Ask here: https://discord.com/invite/aDqejQGMMy
@ -48,10 +28,10 @@ do
MCPIL="jmcpil"
break;;
"${options[2]}")
exit 0
exit 0;;
*) echo "Invalid option: $REPLY";;
esac
done
"${DIRECTORY}/pkg-install" "${MCPIL} python3-pip" "$(dirname "$0")"
pip3 install mcpi
"${DIRECTORY}/pkg-install" "$MCPIL python3-pip" "$(dirname "$0")" || error "Failed to install ${MCPIL} and python3-pip packages!"
pip3 install mcpi || error "The pip3 command failed to install mcpi!"

@ -7,25 +7,6 @@ function error {
exit 1
}
# Wait for apt lock to be released
i=0
while sudo fuser /var/{lib/{dpkg,apt/lists},cache/apt/archives}/lock > /dev/null 2>&1
do
case $(($i % 4)) in
0) j="-";;
1) j="\\";;
2) j="|";;
3) j="/";;
esac
printf "\r[$j] Waiting for other package managers to finish..."
sleep 0.5
((i+=1))
done
[[ $i -gt 0 ]] && printf "Done.\n"
sudo apt remove -y minecraft-pi-reborn-native &>/dev/null || true
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
sudo apt -y autoremove
sudo rm -f /etc/apt/{sources.list,trusted.gpg}.d/mcpi-revival.{list,gpg}

@ -21,4 +21,4 @@ nvm uninstall default || error "Failed to purge Node.JS!"
sudo rm -rf "$NVM_DIR"
#remove nvm stuff from bashrc
sed -i '/NVM_DIR/d' /home/pi/.bashrc
sed -i '/NVM_DIR/d' ~/.bashrc

@ -15,6 +15,12 @@ wget http://ftp.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac2_2.0.1-1_ar
wget http://ftp.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac-dev_2.0.1-1_armhf.deb -O ~/libfdk-aac-dev_2.0.1-1_armhf.deb || error "Failed to download libfdk-aac-dev_2.0.1-1_armhf.deb"
wget https://github.com/techcoder20/RPIObsInstaller/blob/main/obs_armhf.deb?raw=true -O ~/obs_armhf.deb || error "Failed to download obs_armhf.deb"
#remove obs-studio package first
if dpkg -l obs-studio &>/dev/null ;then
echo "Removing obs-studio package first..."
sudo apt purge -y obs-studio
fi
#Install all debs. Local dependencies, obs_armhf.deb, normal dependencies, and libxcb*
"${DIRECTORY}/pkg-install" "$HOME/obs_armhf.deb $HOME/libfdk-aac2_2.0.1-1_armhf.deb $HOME/libfdk-aac-dev_2.0.1-1_armhf.deb libmbedtls-dev libasound2-dev libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfontconfig1-dev libfreetype6-dev libgl1-mesa-dev libjack-jackd2-dev libjansson-dev libluajit-5.1-dev libpulse-dev libqt5x11extras5-dev libspeexdsp-dev libswresample-dev libswscale-dev libudev-dev libv4l-dev libvlc-dev libx11-dev libx11-xcb1 libx11-xcb-dev libxcb-xinput0 libxcb-xinput-dev libxcb-randr0 libxcb-randr0-dev libxcb-xfixes0 libxcb-xfixes0-dev libx264-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcomposite-dev libxinerama-dev pkg-config python3-dev qtbase5-dev libqt5svg5-dev swig libxcb* " "$(dirname "$0")" || exit 1

@ -15,6 +15,12 @@ wget http://ftp.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac2_2.0.1-1_ar
wget http://ftp.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac-dev_2.0.1-1_arm64.deb -O ~/libfdk-aac-dev_2.0.1-1_arm64.deb || error "Failed to download libfdk-aac-dev_2.0.1-1_arm64.deb"
wget https://github.com/techcoder20/RPIObsInstaller/blob/main/obs_arm64.deb?raw=true -O ~/obs_arm64.deb || error "Failed to download obs_arm64.deb"
#remove obs-studio package first
if dpkg -l obs-studio &>/dev/null ;then
echo "Removing obs-studio package first..."
sudo apt purge -y obs-studio
fi
#Install all debs. Local dependencies, obs_armhf.deb, normal dependencies, and libxcb*
"${DIRECTORY}/pkg-install" "$HOME/obs_arm64.deb $HOME/libfdk-aac2_2.0.1-1_arm64.deb $HOME/libfdk-aac-dev_2.0.1-1_arm64.deb libmbedtls-dev libasound2-dev libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfontconfig1-dev libfreetype6-dev libgl1-mesa-dev libjack-jackd2-dev libjansson-dev libluajit-5.1-dev libpulse-dev libqt5x11extras5-dev libspeexdsp-dev libswresample-dev libswscale-dev libudev-dev libv4l-dev libvlc-dev libx11-dev libx11-xcb1 libx11-xcb-dev libxcb-xinput0 libxcb-xinput-dev libxcb-randr0 libxcb-randr0-dev libxcb-xfixes0 libxcb-xfixes0-dev libx264-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcomposite-dev libxinerama-dev pkg-config python3-dev qtbase5-dev libqt5svg5-dev swig libxcb* " "$(dirname "$0")" || exit 1

@ -10,6 +10,6 @@ function error {
#if your app installs any packages, keep this command here so those packages will be removed.
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
rm ~/.local/share/applications/ppsspp.desktop || error "Failed to remove desktop entry!"
rm -f ~/.local/share/applications/ppsspp.desktop || error "Failed to remove desktop entry!"
rm -rf ~/ppsspp || error "Failed to remove install directory!"

@ -28,5 +28,3 @@ echo '#!/bin/bash
'"${DIRECTORY}"'/pi-apps-terminal-bash-edition.sh "$@"' | sudo tee /usr/local/bin/pi-apps >/dev/null || error "Failed to create pi-apps command in '/usr/local/bin/'!"
sudo chmod +x /usr/local/bin/pi-apps || error "Failed to make launcher script executable!"
echo "done"

@ -8,7 +8,7 @@ function error {
}
# Get dependencies
"${DIRECTORY}/pkg-install" "python3 python-pip fonts-powerline fonts-fantasque-sans" "$(dirname "$0")" || exit 1
"${DIRECTORY}/pkg-install" "python3 python3-pip fonts-powerline fonts-fantasque-sans" "$(dirname "$0")" || exit 1
wget -qO- https://raw.githubusercontent.com/techcoder20/RPI-PowerlineShell-Installer/main/install.sh | bash || error "install.sh failed!"

@ -1,2 +1 @@
Thanks to gam3t3chelectronicshobbyhouse a.k.a 'Gam3t3ch' for "Installing PyCharm on Raspberry Pi 4" from element14. Also, fabianmendes for introducing it into pi-apps.
Pycharm Community EDITION (product, created and published by JetBrains. Developed with drive and IntelliJ IDEA) Copyright © 2000-2020 JetBrains s.r.o.

@ -1,5 +1,6 @@
Python Community Edition IDE for Professional and Educational Developers.
To run this app just go to Menu > Programming. Or just run on terminal: "./opt/pycharm-community/bin/pycharm.sh"
To run: Menu -> Programming -> Pycharm Community Edition
To run in a terminal: /opt/pycharm-community/bin/pycharm.sh
You must configurate the IDE to run each script ("py" file), or create a new environment.
For Educational purposes, you must to install the "EDUtools" plugin. Go to the right below corner from the Pycharm start up portal: Configurate > Plugins > Search for: EDUtools > Install it and restart the IDE. Then you will able to select "Learn and Teach" for courses.
You must configure the IDE to run each script ("py" file), or create a new environment.
For Educational purposes, the "EDUtools" plugin can be installed. Go to the right corner from the Pycharm start up portal: Configurate > Plugins > Search for: EDUtools > Install it and restart the IDE. Then you will able to select "Learn and Teach" for courses.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

@ -8,49 +8,45 @@ function error {
}
#Defining Variables
downloadlink=https://download-cf.jetbrains.com/python/pycharm-community-2020.3.3.tar.gz
downloadlink=https://download-cf.jetbrains.com/python/pycharm-community-2021.2.1.tar.gz
name=pycharm-community
# Get dependencies
"${DIRECTORY}/pkg-install" "python-pip openjdk-11-jdk" "$(dirname "$0")" || exit 1
"${DIRECTORY}/pkg-install" "python3-pip openjdk-11-jdk gcc" "$(dirname "$0")" || exit 1
#Removing if pycharm-community-2020.3.3.tar.gz already downloaded
rm $name.tar.gz
echo "Downloading $(basename "$downloadlink")"
rm -f $name.tar.gz
wget $downloadlink -O $name.tar.gz || error "Failed to download $(basename "$downloadlink")"
#Removing pycharm-community-2020.3.3 if already extracted
sudo rm -r /opt/$name
#Downloading pycharm-community-2020.3.3.tar.gz
wget $downloadlink -O $name.tar.gz
#Extracting pycharm-community-2020.3.3.tar.gz to /opt
sudo mkdir /opt/$name
sudo tar xvzf $name.tar.gz -C /opt/$name
echo "Extracting pycharm-community-2020.3.3.tar.gz to /opt"
sudo rm -rf /opt/$name
sudo mkdir -p /opt/$name
sudo tar xvzf $name.tar.gz -C /opt/$name || error "Failed to extract $name.tar.gz"
rm -f $name.tar.gz
sudo mv /opt/$name/*/* /opt/$name/
#Deleting pycharm-community-2020.3.3.tar.gz
rm $name.tar.gz
#Making file executable
echo "Making file executable"
sudo chmod +x /opt/$name/bin/pycharm.sh
#Implementing terminal fix
git clone https://github.com/JetBrains/pty4j.git ~/pty4j
echo "Implementing terminal fix"
rm -rf ~/pty4j
git clone https://github.com/JetBrains/pty4j.git ~/pty4j || error "Failed to download pty4j repository"
cd ~/pty4j/native
gcc -fPIC -c *.c
gcc -shared -o libpty.so *.o
sudo mkdir /opt/$name/lib/pty4j-native/linux/arm
sudo cp libpty.so /opt/$name/lib/pty4j-native/linux/arm
sudo rm -r ~/pty4j
#Creating desktop shortcut
gcc -fPIC -c *.c || error "command failed: gcc -fPIC -c *.c"
gcc -shared -o libpty.so *.o || error "command failed: gcc -shared -o libpty.so *.o"
sudo mkdir -p /opt/$name/lib/pty4j-native/linux/arm || error "Failed to make directory /opt/$name/lib/pty4j-native/linux/arm"
sudo cp libpty.so /opt/$name/lib/pty4j-native/linux/arm || error "Failed to copy $(pwd)/libpty.so to /opt/$name/lib/pty4j-native/linux/arm"
rm -rf ~/pty4j
cd ~/
echo "Creating desktop shortcut"
echo "[Desktop Entry]
Type=Application
Name=PyCharm Community Edition
Icon=/opt/$name/bin/pycharm.svg
Exec=/opt/$name/bin/pycharm.sh %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Exec=bash -c "\""JAVA_HOME=/usr/lib/jvm/java-11-openjdk-armhf PATH=/usr/lib/jvm/java-11-openjdk-armhf/bin/:$PATH /opt/$name/bin/pycharm.sh"\""
Comment=Python IDE
Categories=Development;IDE;Programming;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce" > ~/.local/share/applications/jetbrains-pycharm-ce.desktop
StartupWMClass=jetbrains-pycharm-ce
StartupNotify=true" > ~/.local/share/applications/jetbrains-pycharm-ce.desktop

@ -7,11 +7,12 @@ function error {
exit 1
}
#if your app installs any packages, keep this command here so those packages will be removed.
#Defining Variables
name=pycharm-community
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
#deleting /opt/pycharm-community directory
sudo rm -rf /opt/pycharm-community || error "Failed to delete /opt/pycharm-community directory"
echo "Deleting /opt/$name directory"
sudo rm -rf /opt/$name || error "Failed to delete /opt/$name directory"
#deleting desktop entry
rm ~/.local/share/applications/jetbrains-pycharm-ce.desktop || error "Failed to delete desktop entry"
rm -f ~/.local/share/applications/jetbrains-pycharm-ce.desktop

@ -8,15 +8,12 @@ function error {
}
#Remove any qemu packages first to prevent conflicting packages
sudo apt purge -y qemu*
cd $HOME
#remove deb if present
rm -f ./qemu*-armhf.deb
sudo apt purge -yqq qemu* &>/dev/null
rm -f ~/qemu.deb
#Download QEMU
wget https://github.com/chunky-milk/qemu-arm-builds/releases/download/6.0.50/qemu-6.0.50-armhf.deb || error 'Failed to Download QEMU!'
wget -O ~/qemu.deb https://github.com/chunky-milk/qemu-arm-builds/releases/download/6.0.50/qemu-6.0.50-armhf.deb || error 'Failed to Download QEMU!'
#Install QEMU
"${DIRECTORY}/pkg-install" "$(pwd)/qemu-6.0.50-armhf.deb" "$(dirname "$0")" || error 'Failed to install QEMU!'
rm -f qemu*-armhf.deb
"${DIRECTORY}/pkg-install" "$HOME/qemu.deb" "$(dirname "$0")" || error 'Failed to install qemu.deb!'
rm -f ~/qemu.deb

@ -8,13 +8,12 @@ function error {
}
#Remove any qemu packages first to prevent conflicting packages
sudo apt purge -y qemu*
sudo apt purge -yqq qemu* &>/dev/null
cd $HOME
#remove deb is exists
rm -f ./qemu*arm64.deb
rm -f ~/qemu.deb
#Download QEMU
wget https://github.com/chunky-milk/qemu-arm-builds/releases/download/6.0.50/qemu-6.0.50-arm64.deb || error 'Failed to Download QEMU!'
wget -O ~/qemu.deb https://github.com/chunky-milk/qemu-arm-builds/releases/download/6.0.50/qemu-6.0.50-arm64.deb || error 'Failed to Download QEMU!'
#Install QEMU
sudo apt install -fy ./qemu-6.0.50-arm64.deb || error 'Failed to install QEMU!'
rm -f qemu-6.0.50-arm64.deb
"${DIRECTORY}/pkg-install" "$HOME/qemu.deb" "$(dirname "$0")" || error 'Failed to install qemu.deb!'
rm -f ~/qemu.deb

@ -6,14 +6,16 @@ function error {
echo -e "\\e[91m$1\\e[39m"
exit 1
}
"${DIRECTORY}/pkg-install" "libpng-dev" "$(dirname "$0")" || exit 1
rm -rf ~/raspi2png
git clone https://github.com/AndrewFromMelbourne/raspi2png || error "failed to clone repository!"
cd raspi2png || error "failed to enter directory!"
cd ~/raspi2png || error "failed to enter directory!"
make || error "failed to compile!"
sudo make install || error "sudo make install failed!"
cd ..
rm -rf raspi2png || error "failed to delete directory!"
cd ~/
rm -rf ~/raspi2png || error "failed to delete directory!"

@ -1,3 +0,0 @@
libpng12-dev
libpng12-dev

@ -7,4 +7,4 @@ function error {
exit 1
}
sudo rm /usr/bin/raspi2png
sudo rm -f /usr/bin/raspi2png

@ -7,7 +7,8 @@ function error {
exit 1
}
wget https://remarkableapp.github.io/files/remarkable_1.87_all.deb || error 'Failed to Download!'
rm -f ~/remarkable.deb
wget -O ~/remarkable.deb https://remarkableapp.github.io/files/remarkable_1.87_all.deb || error 'Failed to download remarkable.deb!'
sudo apt --fix-broken -y install ./remarkable_1.87_all.deb || error 'Failed to install!'
rm remarkable_1.87_all.deb
"${DIRECTORY}/pkg-install" "$HOME/remarkable.deb" "$(dirname "$0")" || error "Failed to install ~/remarkable.deb!"
rm -f ~/remarkable.deb

@ -7,17 +7,4 @@ function error {
exit 1
}
#to set $arch variable
source "${DIRECTORY}/api" || error "failed to source ${DIRECTORY}/api"
if [ "$arch" == 64 ];then
#COMMANDS TO UNINSTALL 64BIT
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
elif [ "$arch" == 32 ];then
#COMMANDS TO UNINSTALL 32BIT
sudo apt purge remarkable -y || error "Failed to purge remarkable package!"
sudo apt autoremove -y
else
error "Failed to detect OS CPU architecture! Something is very wrong."
fi
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

@ -14,7 +14,7 @@ echo "Copying libpepflashplayer.so to /usr/lib/chromium-browser..."
sudo cp -af ~/scratch2/libpepflashplayer.so /usr/lib/chromium-browser/libpepflashplayer.so || error "Failed to copy libpepflashplayer.so"
echo "Installing scratch2 package..."
sudo apt install -yf ~/scratch2/scratch2_0.25_armhf.deb || error "Failed to install scratch2 package"
"${DIRECTORY}/pkg-install" "$HOME/scratch2/scratch2_0.25_armhf.deb" "$(dirname "$0")" || error "Failed to install scratch2 package"
echo "Holding scratch2 package version so it won't upgrade..."
echo "scratch2 hold" | sudo dpkg --set-selections

@ -10,4 +10,4 @@ function error {
echo "Allowing scratch2 package to be uninstallable..."
echo "scratch2 install" | sudo dpkg --set-selections
sudo apt purge scratch2 -y || error "Failed to uninstall scratch2 package"
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || error "Failed to uninstall scratch2 package"

@ -9,14 +9,21 @@ function error {
# Get dependencies
"${DIRECTORY}/pkg-install" "libsquashfuse0 squashfuse fuse libgconf-2-4" "$(dirname "$0")" || error "Failed to install libsquashfuse0 squashfuse fuse"
sudo apt install snapd || error "APT failed to install snapd"
sudo apt install -y snapd || error "APT failed to install snapd"
sudo systemctl enable --now snapd.socket || error "Unable to enable snapd.socket"
sudo systemctl start snapd.service || error "Unable to start snapd.service"
sudo systemctl start snapd.service
if [ $? != 0 ];then
echo "Unable to start snapd.service. Running debug..."
echo "Running 'systemctl status snapd.service'"
systemctl status snapd.service
exit 1
fi
sudo snap refresh
sudo systemctl restart snapd.service || error "Unable to restart snapd.service"
sudo snap install core20 || error "Snapd was unable to install core20"
sudo snap install core18 || error "Snapd was unable to install core20"
sudo snap install core || error "Snapd was unable to install core"
sudo snap install snapd || error "Snapd was unable to install snapd"

@ -7,12 +7,15 @@ function error {
exit 1
}
sudo snap remove snap-store || error "The snap command failed to uninstall snap-store\nPerhaps running this command would fix it?\nsudo apt install --reinstall snapd"
sudo rm -rf /var/snap/snap-store
if command -v snap >/dev/null ;then
sudo snap remove snap-store || error "The snap command failed to uninstall snap-store\nPerhaps running this command would fix it?\nsudo apt install --reinstall snapd"
echo -e "\e[93mNote: To prevent removing user data, uninstalling the Snap Store app does not uninstall the snapd package!\nTo completely remove everything snap-related, run this command:
sudo apt purge snapd\e[39m
"
sleep 3
echo "Waiting 30 seconds..."
sleep 30
else
echo "Warning: attempting to uninstall snap store but the snap command is not found. This script is exiting with 'success', as obviously nothing is installed."
fi

@ -6,4 +6,4 @@ function error {
}
rm -rf ~/snapdrop || error "Failed to remove install directory!"
rm ~/.local/share/applications/snapdrop.desktop || error "Failed to remove desktop shortcut!"
rm -f ~/.local/share/applications/snapdrop.desktop

@ -32,3 +32,4 @@ echo "#!/bin/bash
$HOME/speedtest/speedtest \"\$@\"" | sudo tee /usr/local/bin/speedtest >/dev/null
sudo chmod +x /usr/local/bin/speedtest
echo "done"

@ -9,7 +9,7 @@ function error {
cd ~
mkdir speedtest
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-armhf-linux.tgz -O ~/speedtest.tgz || error 'Failed to download!'
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-aarch64-linux.tgz -O ~/speedtest.tgz || error 'Failed to download!'
cd speedtest
tar -xvzf ~/speedtest.tgz || error "failed to extract files!"
cd $HOME

@ -7,7 +7,6 @@ function error {
exit 1
}
rm ~/.local/share/applications/speedtest.desktop || error "failed to remove menu shortcut!"
cd ~
rm -f ~/.local/share/applications/speedtest.desktop || error "failed to remove menu shortcut!"
rm -rf ~/speedtest
sudo rm /usr/local/bin/speedtest
sudo rm -f /usr/local/bin/speedtest

@ -14,6 +14,11 @@ if dpkg -l steam-devices ;then
sudo apt purge -y steam-devices
fi
if dpkg -l steamlink ;then
echo "Removing steamlink package because it conflicts with steam-launcher..."
sudo apt purge -y steamlink
fi
"${DIRECTORY}/manage" install-if-not-installed Box86 || error "Box86 failed to install somehow!"
echo "Downloading steam.deb"

@ -7,22 +7,13 @@ function error {
exit 1
}
#install dependencies
if ! command -v aria2c >/dev/null ; then
sudo apt install aria2 -yf || error "Failed to install aria2"
ARIA2=1
fi
"${DIRECTORY}/pkg-install" "libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev" "$(dirname "$0")" || exit 1
#download the deb
cd $HOME
aria2c -x 16 https://archive.org/download/stunt-rally_armhf/stunt-rally_20210305-1_armhf.deb
rm -f ~/stunt-rally.deb
wget -O ~/stunt-rally.deb https://archive.org/download/stunt-rally_armhf/stunt-rally_20210305-1_armhf.deb
#install the deb and delete it
sudo apt -f -y install ./stunt-rally_20210305-1_armhf.deb
rm -f stunt-rally_20210305-1_armhf.deb
"${DIRECTORY}/pkg-install" "libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev $HOME/stunt-rally.deb" "$(dirname "$0")" || exit 1
rm -f ~/stunt-rally.deb
#fix menu shortcut icons
sudo rm /usr/share/applications/stuntrally.desktop &>/dev/null
@ -385,8 +376,3 @@ motionblurintensity = 0.400000
softparticles = off
ssao = off
' > ~/.config/stuntrally/game.cfg
#clean up
if [[ "$ARIA2" == 1 ]]; then
sudo apt purge -y aria2
fi

@ -23,12 +23,14 @@ fi
#compile stunt rally
cd $HOME
git clone --depth=1 git://github.com/stuntrally/stuntrally.git stuntrally || error "Failed to clone stuntrally repo!"
rm -rf ~/stuntrally || error "Failed to first remove $HOME/stuntrally"
git clone --depth=1 https://github.com/stuntrally/stuntrally stuntrally || error "Failed to clone stuntrally repo!"
cd stuntrally/data || error "Failed to change directory to '$DIRECTORY/stuntrally/data'!"
git clone --depth=1 git://github.com/stuntrally/tracks.git tracks || error "Failed to clone tracks repo!"
git clone --depth=1 https://github.com/stuntrally/tracks tracks || error "Failed to clone tracks repo!"
cd .. || error "Failed to go one directory up!"
mkdir build || error "Failed to create '$DIRECTORY/stuntrally/build' directory!"
cd build || error "Failed to change directory to '$DIRECTORY/stuntrally/build'!"
mkdir build || error "Failed to create '$HOME/stuntrally/build' directory!"
cd build || error "Failed to change directory to '$HOME/stuntrally/build'!"
cmake .. || error "Failed to run 'cmake ..'!"
make -j$(nproc) || make || error "Failed to run 'make'!"
#sudo make install
@ -43,10 +45,13 @@ DEBDIR="$(echo ${DEBNAME/.deb/})" || error "Failed to generate deb directory nam
dpkg-deb -R $DEBNAME $DEBDIR || error "Failed to unpack deb!"
rm -rf $DEBDIR/home || sudo rm -rf $DEBDIR/home
rm -f $DEBNAME || error "Failed to delete old deb!"
"${DIRECTORY}/api" apt_lock_wait
dpkg-deb -b $DEBDIR || sudo dpkg-deb -b $DEBDIR || error "Failed to repack deb!"
#install the deb
sudo dpkg -i $DEBNAME; sudo apt install -f -y || error "Failed to install the deb!"
"${DIRECTORY}/api" apt_lock_wait
sudo apt install -f -y $DEBNAME || error "Failed to install the deb!"
rm -rf ~/stuntrally
#fix the menu shortcut icons
sudo rm /usr/share/applications/stuntrally.desktop &>/dev/null

@ -7,10 +7,10 @@ function error {
exit 1
}
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
sudo rm -f /usr/share/applications/stuntrally.desktop
sudo rm -f /usr/share/applications/sr-editor.desktop
sudo apt purge stunt-rally -y || error "Failed to uninstall stunt rally!"
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
rm -rf $HOME/.config/stuntrally ~/stuntrally
rm -r $HOME/.config/stuntrally/

@ -7,11 +7,12 @@ function error {
exit 1
}
# Download teamviewer installation file #
wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb || error "Failed to download teamviewer-host_armhf.deb"
# Download teamviewer installation file
rm -f ~/teamviewer-host_armhf.deb
wget -O ~/teamviewer-host_armhf.deb https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb || error "Failed to download teamviewer-host_armhf.deb"
# Install it with dpkg
sudo apt install -y --fix-broken ~/teamviewer-host_armhf.deb || error "Failed to install teamviewer-host_armhf.deb"
#install deb file
"${DIRECTORY}/pkg-install" "$HOME/teamviewer-host_armhf.deb" "$(dirname "$0")" || error "Failed to install teamviewer-host_armhf.deb"
# Delete teamviewer installation file
rm -f ~/teamviewer-host_armhf.deb

@ -7,4 +7,4 @@ function error {
exit 1
}
sudo apt purge -y teamviewer-host || error "APT failed to remove teamviewer-host package."
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || error "Failed to remove teamviewer-host package!"

@ -7,7 +7,7 @@ function error {
exit 1
}
cd $HOME/Downloads
wget https://github.com/teejee2008/timeshift/releases/download/v20.11.1/timeshift_20.11.1_armhf.deb || error 'Failed to download timeshift!'
sudo apt install -y --fix-broken ~/Downloads/timeshift_20.11.1_armhf.deb || error 'Failed to install .deb file!'
rm -f timeshift_20.11.1_armhf.deb
rm -f ~/timeshift.deb
wget -O ~/timeshift.deb https://github.com/teejee2008/timeshift/releases/download/v20.11.1/timeshift_20.11.1_armhf.deb || error 'Failed to download timeshift!'
"${DIRECTORY}/pkg-install" "$HOME/timeshift.deb" "$(dirname "$0")" || error 'Failed to install .deb file!'
rm -f ~/timeshift.deb

@ -7,7 +7,7 @@ function error {
exit 1
}
cd $HOME/Downloads
wget https://github.com/teejee2008/timeshift/releases/download/v20.11.1/timeshift_20.11.1_arm64.deb || error 'Failed to download timeshift!'
sudo apt install -y --fix-broken ~/Downloads/timeshift_20.11.1_arm64.deb || error 'Failed to install .deb file!'
rm -f timeshift_20.11.1_arm64.deb
rm -f ~/timeshift.deb
wget -O ~/timeshift.deb https://github.com/teejee2008/timeshift/releases/download/v20.11.1/timeshift_20.11.1_arm64.deb || error 'Failed to download timeshift!'
"${DIRECTORY}/pkg-install" "$HOME/timeshift.deb" "$(dirname "$0")" || error 'Failed to install .deb file!'
rm -f ~/timeshift.deb

@ -7,5 +7,5 @@ function error {
exit 1
}
sudo apt purge -y timeshift
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || error "Failed to uninstall timeshift package!"
sudo rm -rf /etc/timeshift

@ -7,7 +7,8 @@ function error {
exit 1
}
wget https://sourceforge.net/projects/tor-browser-ports/files/10.5/tor-browser-linux-armhf-10.5_en-US.tar.xz/download -O tor.tar.xz || error "Failed to download!"
rm -f ~/tor.tar.xz
wget -O ~/tor.tar.xz https://sourceforge.net/projects/tor-browser-ports/files/10.5.6/tor-browser-linux-armhf-10.5.6_en-US.tar.xz/download || error "Failed to download!"
tar -xf ~/tor.tar.xz || error "Failed to extract!"

@ -7,7 +7,8 @@ function error {
exit 1
}
wget https://sourceforge.net/projects/tor-browser-ports/files/10.5/tor-browser-linux-arm64-10.5_en-US.tar.xz/download -O tor.tar.xz || error "Failed to download!"
rm -f ~/tor.tar.xz
wget -O ~/tor.tar.xz https://sourceforge.net/projects/tor-browser-ports/files/10.5.6/tor-browser-linux-arm64-10.5.6_en-US.tar.xz/download || error "Failed to download!"
tar -xf ~/tor.tar.xz || error "Failed to extract!"

@ -8,7 +8,7 @@ function error {
}
rm -f ~/turbowarp.deb
wget -O ~/turbowarp.deb https://github.com/TurboWarp/desktop/releases/download/v0.8.1/TurboWarp-linux-armv7l-0.8.1.deb || error "Failed to download deb!"
wget -O ~/turbowarp.deb https://github.com/TurboWarp/desktop/releases/download/v0.9.0/TurboWarp-linux-armv7l-0.9.0.deb || error "Failed to download deb!"
"${DIRECTORY}/pkg-install" "$HOME/turbowarp.deb" "$(dirname "$0")" || error "Failed to install turbowarp.deb!"

@ -8,7 +8,7 @@ function error {
}
rm -f ~/turbowarp.deb
wget -O ~/turbowarp.deb https://github.com/TurboWarp/desktop/releases/download/v0.8.1/TurboWarp-linux-arm64-0.8.1.deb || error "Failed to download deb!"
wget -O ~/turbowarp.deb https://github.com/TurboWarp/desktop/releases/download/v0.9.0/TurboWarp-linux-arm64-0.9.0.deb || error "Failed to download deb!"
"${DIRECTORY}/pkg-install" "$HOME/turbowarp.deb" "$(dirname "$0")" || error "Failed to install turbowarp.deb!"

@ -8,7 +8,7 @@ function error {
}
#change version to latest each time
VER="1.0.7"
VER="1.0.8"
rm -rf ~/usbimager
mkdir -p ~/usbimager

@ -8,14 +8,14 @@ function error {
}
#change version to latest each time
VER="1.0.7"
VER="1.0.8"
rm -rf ~/usbimager
mkdir -p ~/usbimager
cd ~/usbimager
echo "Downloading..."
wget -qO $(pwd)/usbimager.zip https://gitlab.com/bztsrc/usbimager/raw/binaries/usbimager_1.0.7-aarch64-linux-x11.zip || error "Failed to download usbimager.zip!"
wget -qO $(pwd)/usbimager.zip https://gitlab.com/bztsrc/usbimager/raw/binaries/usbimager_${VER}-aarch64-linux-x11.zip || error "Failed to download usbimager.zip!"
echo "Extracting..."
unzip $(pwd)/usbimager.zip || error "Failed to extract!"

@ -7,11 +7,10 @@ function error {
exit 1
}
"${DIRECTORY}/pkg-install" "gir1.2-appindicator3-0.1 python3-distutils-extra python3-levenshtein python3-websocket" "$(dirname "$0")" || exit 1
wget 'https://github.com/Ulauncher/Ulauncher/releases/download/5.11.0/ulauncher_5.11.0_all.deb' -O ~/ulauncher.deb || error 'Failed to download ulauncher.deb!'
rm -f ~/ulauncher.deb
wget -O ~/ulauncher.deb 'https://github.com/Ulauncher/Ulauncher/releases/download/5.13.0/ulauncher_5.13.0_all.deb' || error 'Failed to download ulauncher.deb!'
sudo apt install -y --fix-missing ~/ulauncher.deb || error "APT failed to install ulauncher.deb!"
"${DIRECTORY}/pkg-install" "gir1.2-appindicator3-0.1 python3-distutils-extra python3-levenshtein python3-websocket $HOME/ulauncher.deb" "$(dirname "$0")" || error "Failed to install ulauncher.deb and dependencies!"
rm -f ~/ulauncher.deb
exit 0

@ -7,9 +7,4 @@ function error {
exit 1
}
rm -f ~/ulauncher.deb
sudo apt purge -y ulauncher
#if your app installs any packages, keep this command here so those packages will be removed.
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

@ -1,12 +0,0 @@
#!/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
}
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg
sudo bash -c "echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' > /etc/apt/sources.list.d/vscodium.list"
"${DIRECTORY}/pkg-install" "codium" "$(dirname "$0")" || error "Failed to install the codium package!"

@ -0,0 +1,15 @@
#!/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
}
sudo rm -f /etc/apt/sources.list.d/vscodium.list /etc/apt/trusted.gpg.d/vscodium.gpg
rm -f ~/codium.deb || error "Failed to first remove codium.deb"
wget -O ~/codium.deb https://github.com/VSCodium/vscodium/releases/download/1.60.1/codium_1.60.1-1631717946_armhf.deb || error "Failed to download codium.deb"
"${DIRECTORY}/pkg-install" "$HOME/codium.deb" "$(dirname "$0")" || error "Failed to install the codium.deb package!"

@ -0,0 +1,15 @@
#!/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
}
sudo rm -f /etc/apt/sources.list.d/vscodium.list /etc/apt/trusted.gpg.d/vscodium.gpg
rm -f ~/codium.deb || error "Failed to first remove codium.deb"
wget -O ~/codium.deb https://github.com/VSCodium/vscodium/releases/download/1.60.1/codium_1.60.1-1631665121_arm64.deb || error "Failed to download codium.deb"
"${DIRECTORY}/pkg-install" "$HOME/codium.deb" "$(dirname "$0")" || error "Failed to install the codium.deb package!"

@ -8,6 +8,6 @@ function error {
}
rm -f ~/vivaldi.deb
wget -O ~/vivaldi.deb https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.11-1_armhf.deb || error 'Failed to download vivaldi!'
wget -O ~/vivaldi.deb https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.21-1_armhf.deb || error 'Failed to download vivaldi!'
"${DIRECTORY}/pkg-install" "$HOME/vivaldi.deb" "$(dirname "$0")" || error 'Failed to install vivaldi.deb!'
rm -f ~/vivaldi.deb

@ -8,6 +8,6 @@ function error {
}
rm -f ~/vivaldi.deb
wget -O ~/vivaldi.deb https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.11-1_arm64.deb || error 'Failed to download vivaldi!'
wget -O ~/vivaldi.deb https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.21-1_arm64.deb || error 'Failed to download vivaldi!'
"${DIRECTORY}/pkg-install" "$HOME/vivaldi.deb" "$(dirname "$0")" || error 'Failed to install vivaldi.deb!'
rm -f ~/vivaldi.deb

@ -7,10 +7,10 @@ function error {
exit 1
}
if [ ! -f ~/Windows-10/uninstall ];then
error "Windows 10 uninstall script missing!"
if [ -f ~/Windows-10/uninstall ];then
setsid ~/Windows-10/uninstall &
else
echo "WARNING: Windows 10 theme's uninstall script is missing!"
fi
setsid ~/Windows-10/uninstall &
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1

@ -0,0 +1,16 @@
Install Windows 10 or Windows 11 on a Raspberry Pi SD card.
This tool is a 100% legal way to use any Debian or Ubuntu Linux operating system to flash a RPi's SD card with the necessary files to run Windows 10 or 11.
Usage is simple:
- Choose an operating system version. (Windows 11, Windows 10, Custom version)
- Choose what model Pi will be running Windows. (RPi4 or RPi3)
- Choose a language.
- Choose a storage drive to flash.
- Click Flash.
It's as simple as that. WoR-flasher takes care of the rest - downloading hundreds of files from Microsoft, generating a Windows image with them, importing the custom RPi drivers, enabling the WinPE environment, and much more. When finished, WoR-flasher will tell you exactly what to do next.
To run: Menu -> Accessories -> WoR-Flasher
To run the graphical interface in a terminal: ~/wor-flasher/install-wor-gui.sh
To run the command-line interface in a terminal: ~/wor-flasher/install-wor.sh
If you encounter problems, we recommend you run WoR-flasher in a terminal to catch any errors.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save