修改: 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

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