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
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.'
|
|
|