修改: src/opt/uos-packaging-tools/just-install-me

This commit is contained in:
2024-08-26 00:28:02 +08:00
parent a60b152358
commit aec659d7bc
2 changed files with 45 additions and 40 deletions

View File

@@ -1,5 +1,5 @@
Package: uos-packaging-tools Package: uos-packaging-tools
Version: 1.2.1 Version: 1.3
Architecture: all Architecture: all
Maintainer: shenmo<shenmo@spark-app.store> Maintainer: shenmo<shenmo@spark-app.store>
Installed-Size: 10 Installed-Size: 10

View File

@@ -22,43 +22,48 @@ function zenity()
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus zenity "$@" sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus zenity "$@"
} }
confirm_installation() {
local package_name=$(dpkg-deb -f "$1" Package)
zenity --question --width=300 --height=150 --text="您正准备安装 ${package_name}\n\n若这次安装请求是您发起的请按确定继续安装否则请取消"
return $?
}
if [ -e /usr/local/bin/ssaudit ]; then if [ -e /usr/local/bin/ssaudit ]; then
for DEBPATH in "$@" for DEBPATH in "$@"; do
do
DEBPATH="${DEBPATH#file://}" DEBPATH="${DEBPATH#file://}"
DEBPATH=$(realpath "$DEBPATH") DEBPATH=$(realpath "$DEBPATH")
# 弹出确认窗口
if confirm_installation "$DEBPATH"; then
notify-send "正在使用 ssaudit 安装 $(dpkg-deb -f "$DEBPATH" Package),请稍候...." -i /usr/share/icons/uos-packaging-tools.png notify-send "正在使用 ssaudit 安装 $(dpkg-deb -f "$DEBPATH" Package),请稍候...." -i /usr/share/icons/uos-packaging-tools.png
/usr/local/bin/ssaudit "$DEBPATH" | zenity --text-info --width=500 --height=300 --title="安装输出" --auto-scroll /usr/local/bin/ssaudit "$DEBPATH" | zenity --text-info --width=500 --height=300 --title="安装输出" --auto-scroll
else
notify-send "$(dpkg-deb -f "$DEBPATH" Package) 的安装已取消" -i /usr/share/icons/uos-packaging-tools.png
fi
echo "---------------------------------------------------------------------------" echo "---------------------------------------------------------------------------"
done done
else else
for DEBPATH in "$@" for DEBPATH in "$@"; do
do
if [[ $DEBPATH == file://* ]]; then if [[ $DEBPATH == file://* ]]; then
# 如果是,移除 'file://' 部分并输出结果
DEBPATH="${DEBPATH#file://}" DEBPATH="${DEBPATH#file://}"
fi fi
DEBPATH=$(realpath "$DEBPATH") DEBPATH=$(realpath "$DEBPATH")
# 弹出确认窗口
if confirm_installation "$DEBPATH"; then
notify-send "正在使用 apt 安装 $(dpkg-deb -f "$DEBPATH" Package),请稍候...." -i /usr/share/icons/uos-packaging-tools.png notify-send "正在使用 apt 安装 $(dpkg-deb -f "$DEBPATH" Package),请稍候...." -i /usr/share/icons/uos-packaging-tools.png
apt install "$DEBPATH" --reinstall -y | zenity --text-info --width=500 --height=300 --title="安装输出" --auto-scroll apt install "$DEBPATH" --reinstall -y | zenity --text-info --width=500 --height=300 --title="安装输出" --auto-scroll
# 将输出传递给zenity进行实时显示
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
notify-send "$(dpkg-deb -f "$DEBPATH" Package) 安装已完成" -i /usr/share/icons/uos-packaging-tools.png notify-send "$(dpkg-deb -f "$DEBPATH" Package) 安装已完成" -i /usr/share/icons/uos-packaging-tools.png
else else
notify-send "$(dpkg-deb -f "$DEBPATH" Package) 安装出错!请手动安装!" -i /usr/share/icons/uos-packaging-tools.png notify-send "$(dpkg-deb -f "$DEBPATH" Package) 安装出错!请手动安装!" -i /usr/share/icons/uos-packaging-tools.png
fi fi
else
notify-send "$(dpkg-deb -f "$DEBPATH" Package) 的安装已取消" -i /usr/share/icons/uos-packaging-tools.png
fi
echo "---------------------------------------------------------------------------" echo "---------------------------------------------------------------------------"
done done
fi fi