Almost done
This commit is contained in:
parent
be3a6f49aa
commit
91665b4f0d
@ -26,6 +26,7 @@ Author="Jack-Benny Persson (jack-benny@cyberinfo.se)"
|
|||||||
|
|
||||||
# Binaries
|
# Binaries
|
||||||
Which="/usr/bin/which"
|
Which="/usr/bin/which"
|
||||||
|
Aptget="/usr/bin/apt-get"
|
||||||
# Binaries entered in the list will be avalible to the script as variables with
|
# Binaries entered in the list will be avalible to the script as variables with
|
||||||
# the first letter uppercase
|
# the first letter uppercase
|
||||||
Binaries=(dpkg sed awk egrep printf cat grep mktemp rm tail zenity)
|
Binaries=(dpkg sed awk egrep printf cat grep mktemp rm tail zenity)
|
||||||
@ -79,33 +80,71 @@ uninstall_pkg()
|
|||||||
{
|
{
|
||||||
$Zenity --title "dpkg-frontend" \
|
$Zenity --title "dpkg-frontend" \
|
||||||
--question \
|
--question \
|
||||||
--text="Package $Search is installed.\nUninstall ${Search}?"
|
--text="Package <b>$Search</b> is installed.\nUninstall <b>${Search}</b>?"
|
||||||
if [ $? -eq 0 ]; then # CHANGE NEXT LINE
|
if [ $? -eq 0 ]; then # CHANGE NEXT LINE
|
||||||
sleep 3 | $Zenity --title "dpkg-frontend" \
|
$Dpkg -r $Search | $Zenity --title "dpkg-frontend" \
|
||||||
--progress --pulsate --text "Uninstalling ${Search}..."
|
--progress --pulsate --text "Uninstalling <b>${Search}</b>..."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_pkg()
|
install_pkg()
|
||||||
{
|
{
|
||||||
echo "Install pkg?"
|
$Aptget install $Search -y | \
|
||||||
|
$Zenity --title "dpkg-fronend" --progress --pulsate \
|
||||||
|
--text "Installing package <b>$Search</b>"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
$Zenity --title "dpkg-frontend" --info \
|
||||||
|
--text="Succesfully installed <b>$Search</b>"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
$Zenity --title "dpkg-frontend" --error \
|
||||||
|
--text="Something went wrong with the installation of <b>$Search</b>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
show_selections()
|
show_selections()
|
||||||
{
|
{
|
||||||
Selections=`dpkg --get-selections $Search | awk '{ print $2 }'`
|
Selections=`dpkg --get-selections $Search | awk '{ print $2 }'`
|
||||||
$Zenity --title "dpkg-frontend" \
|
$Zenity --title "dpkg-frontend" \
|
||||||
--info --text "Selections for $Search is: <b>${Selections}</b>"
|
--info --text "Selections for <b>$Search</b> is: <b>${Selections}</b>"
|
||||||
|
}
|
||||||
|
|
||||||
|
set_selections()
|
||||||
|
{
|
||||||
|
SetSelections=`$Zenity --title "dpkg-frontend" --entry \
|
||||||
|
--text="Type selections for package <b>$Search</b>"`
|
||||||
|
echo "$Search $SetSelections" | $Dpkg --set-selections
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
$Zentiy --title "dpkg-frontend" --info \
|
||||||
|
--text "<b>${SetSelections}</b> is set for <b>${Search}</b>"
|
||||||
|
else
|
||||||
|
$Zenity --title "dpkg-frontend" --error \
|
||||||
|
--text "Couldn't set selections for <b>$Search</b>"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
show_info()
|
||||||
|
{
|
||||||
|
Info=`$Dpkg --status $Search`
|
||||||
|
$Zenity --no-markup --title "dpkg-frontend" --info \
|
||||||
|
--text "$Info"
|
||||||
}
|
}
|
||||||
|
|
||||||
choice_dialog()
|
choice_dialog()
|
||||||
{
|
{
|
||||||
Choice=`$Zenity --list --column=Action --column=Description \
|
Choice=`$Zenity --list --column=Action --column=Description \
|
||||||
--radiolist uninstall "Uninstall" show "Show selections"`
|
--radiolist uninstall "Uninstall" set "Set selections" \
|
||||||
|
show "Show selections" \
|
||||||
|
info "Show information"`
|
||||||
if [ "$Choice" == "Uninstall" ]; then
|
if [ "$Choice" == "Uninstall" ]; then
|
||||||
return 11
|
return 11
|
||||||
elif [ "$Choice" == "Show selections" ]; then
|
elif [ "$Choice" == "Show selections" ]; then
|
||||||
return 12
|
return 12
|
||||||
|
elif [ "$Choice" == "Show information" ]; then
|
||||||
|
return 13
|
||||||
|
elif [ "$Choice" == "Set selections" ]; then
|
||||||
|
return 14
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,6 +163,13 @@ for i in ${Binaries[@]}; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Check if we are root
|
||||||
|
if [ $EUID -ne 0 ]; then
|
||||||
|
$Zenity --title "dpkg-frontend" --error \
|
||||||
|
--text "You need to run <b>dpkg-frontend</b> as root"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Parse command line options and arguments
|
# Parse command line options and arguments
|
||||||
while getopts Vvho: Opt; do
|
while getopts Vvho: Opt; do
|
||||||
case "$Opt" in
|
case "$Opt" in
|
||||||
@ -142,22 +188,31 @@ while getopts Vvho: Opt; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
### Main ###
|
### Main ###
|
||||||
search_pkg
|
search_pkg
|
||||||
if [ $? -eq 1 ]; then
|
case $? in
|
||||||
exit 0
|
1) exit 0
|
||||||
elif [ $? -eq 5 ]; then
|
;;
|
||||||
$Zenity --title "dpkg-frontend" --info \
|
5) $Zenity --title "dpkg-frontend" --question \
|
||||||
--text="Package $Search is not installed"
|
--text="Package <b>$Search</b> is not installed. Install it?"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
install_pkg
|
||||||
|
else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
choice_dialog
|
choice_dialog
|
||||||
if [ $? -eq 11 ]; then
|
case $? in
|
||||||
uninstall_pkg
|
11) uninstall_pkg
|
||||||
elif [ $? -eq 12 ]; then
|
;;
|
||||||
show_selections
|
12) show_selections
|
||||||
fi
|
;;
|
||||||
|
13) show_info
|
||||||
|
;;
|
||||||
|
14) set_selections
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user