mirror of
				https://gitee.com/spark-store-project/spark-store
				synced 2025-11-04 08:12:21 +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
 |