diff --git a/src/DEBIAN/control b/src/DEBIAN/control index 8d5d2c5..42dc31b 100644 --- a/src/DEBIAN/control +++ b/src/DEBIAN/control @@ -1,5 +1,5 @@ Package: uos-packaging-tools -Version: 1.2.1 +Version: 1.3 Architecture: all Maintainer: shenmo Installed-Size: 10 diff --git a/src/opt/uos-packaging-tools/just-install-me b/src/opt/uos-packaging-tools/just-install-me index 5ad7971..fb0cfd0 100755 --- a/src/opt/uos-packaging-tools/just-install-me +++ b/src/opt/uos-packaging-tools/just-install-me @@ -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