mirror of
https://gitee.com/spark-store-project/uos-packaging-tools
synced 2025-12-14 02:52:07 +08:00
修改: src/opt/uos-packaging-tools/just-install-me
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
Package: uos-packaging-tools
|
||||
Version: 1.2.1
|
||||
Version: 1.3
|
||||
Architecture: all
|
||||
Maintainer: shenmo<shenmo@spark-app.store>
|
||||
Installed-Size: 10
|
||||
|
||||
@@ -2,63 +2,68 @@
|
||||
|
||||
function notify-send()
|
||||
{
|
||||
#Detect the user using such display
|
||||
# Detect the user using such display
|
||||
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)
|
||||
|
||||
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()
|
||||
{
|
||||
#Detect the user using such display
|
||||
# Detect the user using such display
|
||||
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)
|
||||
|
||||
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 "$@"
|
||||
do
|
||||
if [ -e /usr/local/bin/ssaudit ]; then
|
||||
|
||||
for DEBPATH in "$@"; do
|
||||
DEBPATH="${DEBPATH#file://}"
|
||||
DEBPATH=$(realpath "$DEBPATH")
|
||||
|
||||
DEBPATH="${DEBPATH#file://}"
|
||||
|
||||
|
||||
DEBPATH=$(realpath "$DEBPATH")
|
||||
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
|
||||
|
||||
|
||||
|
||||
echo "---------------------------------------------------------------------------"
|
||||
done
|
||||
# 弹出确认窗口
|
||||
if confirm_installation "$DEBPATH"; then
|
||||
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
|
||||
else
|
||||
notify-send "$(dpkg-deb -f "$DEBPATH" Package) 的安装已取消" -i /usr/share/icons/uos-packaging-tools.png
|
||||
fi
|
||||
echo "---------------------------------------------------------------------------"
|
||||
done
|
||||
else
|
||||
|
||||
for DEBPATH in "$@"
|
||||
do
|
||||
if [[ $DEBPATH == file://* ]]; then
|
||||
# 如果是,移除 'file://' 部分并输出结果
|
||||
DEBPATH="${DEBPATH#file://}"
|
||||
for DEBPATH in "$@"; do
|
||||
if [[ $DEBPATH == file://* ]]; then
|
||||
DEBPATH="${DEBPATH#file://}"
|
||||
fi
|
||||
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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user