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

64 lines
1.9 KiB

#!/data/data/com.termux/files/usr/bin/sh
set -e -u
PREFIX=/data/data/com.termux/files/usr
REPOS_TO_CHECK="root unstable x11 pointless"
echo -n 'Checking Android version... '
API_LEVEL=`getprop ro.build.version.sdk`
if [ $API_LEVEL -lt 24 ]; then
echo This device is not running Android 7.0 or later.
exit 1
fi
echo Ok
BACKUP_SCRIPT=$HOME/termux-reinstall.sh
echo -n "Creating backup script ~/termux-reinstall.sh ... "
echo "#!$PREFIX/bin/bash" > $BACKUP_SCRIPT
REPOS_TO_INSTALL=""
for REPO in ${REPOS_TO_CHECK}; do
if [ -f "$PREFIX/etc/apt/sources.list.d/${REPO}.list" ]; then
if [ "$REPO" = "pointless" ]; then
cp $PREFIX/etc/apt/trusted.gpg $HOME
echo 'if [ -f "$HOME/trusted.gpg" ]; then cp $HOME/trusted.gpg $PREFIX/etc/apt/; fi' >> $BACKUP_SCRIPT
echo "mkdir -p $PREFIX/etc/apt/sources.list.d/" >> $BACKUP_SCRIPT
echo 'echo "deb https://its-pointless.github.io/files/24 termux extras" > $PREFIX/etc/apt/sources.list.d/pointless.list' >> $BACKUP_SCRIPT
else
REPOS_TO_INSTALL="$REPOS_TO_INSTALL ${REPO}-repo"
fi
fi
done
if [ ! -z "REPOS_TO_INSTALL" ]; then
echo "pkg in $REPOS_TO_INSTALL" >> $BACKUP_SCRIPT
else
echo "apt update" >> $BACKUP_SCRIPT
fi
echo "PACKAGES_TO_INSTALL=\"$(dpkg-query -f '${binary:Package}\n' -W)\"" >> $BACKUP_SCRIPT
echo 'apt install $(comm -12 <(echo "${PACKAGES_TO_INSTALL}") <(apt list 2>&1 | awk -F"/" '"'"'{print $1}'"'"'))' >> $BACKUP_SCRIPT
chmod +x $BACKUP_SCRIPT
echo Ok
echo ''
echo 'WARNING: This will remove the directory:'
echo $PREFIX
echo ''
echo 'Make sure that this is ok before proceeding.'
echo 'Proceed with removing? [yN]'
read ANSWER
case $ANSWER in
y|Y|yes)
break
;;
*)
echo 'Aborting...'
exit 1
esac
echo -n "Removing $PREFIX ... "
rm -Rf $PREFIX
echo Ok
echo 'Now close all Termux sessions and reopen the app.'
echo 'After restarting, execute ~/termux-reinstall.sh to reinstall packages.'