mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-09-06 19:32:22 +08:00
85 lines
2.9 KiB
Bash
Executable File
85 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
||
export LANGUAGE=en_US
|
||
export DEBIAN_FRONTEND=noninteractive
|
||
case $1 in
|
||
ssupdate)
|
||
if [ "$(id -u)" != "0" ] ; then
|
||
pkexec "$0" "$@"
|
||
exit
|
||
fi
|
||
aptss ssupdate 2>&1 | tee /tmp/spark-store-app-ssupdate-log.txt
|
||
IS_SSUPDATE_ERROR=`cat /tmp/spark-store-app-ssupdate-log.txt | grep "E: "`
|
||
echo "$IS_SSUPDATE_ERROR" > /tmp/spark-store-app-ssupdate-status.txt
|
||
chmod 777 /tmp/spark-store-app-ssupdate-status.txt
|
||
chmod 777 /tmp/spark-store-app-ssupdate-log.txt
|
||
;;
|
||
|
||
upgradable-list)
|
||
output=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" | awk NR\>1)
|
||
|
||
IFS_OLD="$IFS"
|
||
IFS=$'\n'
|
||
|
||
for line in $output ; do
|
||
PKG_NAME=$(echo $line | awk -F '/' '{print $1}')
|
||
PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}')
|
||
PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $6}' | awk -F ']' '{print $1}')
|
||
echo "${PKG_NAME} ${PKG_NEW_VER} ${PKG_CUR_VER}"
|
||
done
|
||
|
||
IFS="$IFS_OLD"
|
||
;;
|
||
|
||
upgrade-app)
|
||
if [ "$(id -u)" != "0" ] ; then
|
||
pkexec "$0" "$@"
|
||
exit
|
||
fi
|
||
|
||
aptss install "${@:2}" --only-upgrade 2>&1 | tee /tmp/spark-store-app-upgrade-log.txt
|
||
sed -i '1i--------------------------------------------------------------' /tmp/spark-store-app-upgrade-log.txt
|
||
sed -i '1i更新失败可能是由于系统版本过低,您可先【卸载】此应用后再在商店【安装】此应用来尝试修复此问题,商店会在安装时尝试自动解决问题。若仍无法解决,请按照指引进行反馈' /tmp/spark-store-app-upgrade-log.txt
|
||
chmod 777 /tmp/spark-store-app-upgrade-log.txt
|
||
IS_UPGRADE_ERROR=`cat /tmp/spark-store-app-upgrade-log.txt | grep "Package manager quit with exit code."`
|
||
echo "$IS_UPGRADE_ERROR" > /tmp/spark-store-app-upgrade-status.txt
|
||
;;
|
||
test-install-app)
|
||
if [ "$(id -u)" != "0" ] ; then
|
||
pkexec "$0" "$@"
|
||
exit
|
||
fi
|
||
|
||
try_run_output=$(aptss --dry-run install $2)
|
||
try_run_ret="$?"
|
||
|
||
if [ "$try_run_ret" -ne 0 ]
|
||
then
|
||
echo "Package manager quit with exit code.Here is the log"
|
||
echo "包管理器以错误代码退出.日志如下"
|
||
echo
|
||
echo -e "${try_run_output}"
|
||
echo "Will try after run aptss update"
|
||
echo "将会在aptss update之后再次尝试"
|
||
aptss update
|
||
echo ----------------------------------------------------------------------------
|
||
try_run_output=$(aptss --dry-run install $2)
|
||
try_run_ret="$?"
|
||
if [ "$try_run_ret" -ne 0 ]
|
||
then
|
||
echo "Package manager quit with exit code.Here is the log"
|
||
echo "包管理器以错误代码退出.日志如下"
|
||
echo
|
||
echo -e "${try_run_output}"
|
||
exit "$try_run_ret"
|
||
fi
|
||
|
||
fi
|
||
exit 0
|
||
;;
|
||
|
||
clean-log)
|
||
|
||
rm -f /tmp/spark-store-app-ssupdate-status.txt /tmp/spark-store-app-ssupdate-log.txt /tmp/spark-store-app-upgrade-log.txt /tmp/spark-store-app-upgrade-status.txt
|
||
;;
|
||
esac
|