haiku/3rdparty/mmu_man/scripts/myupdate.sh
François Revol 5143323fb6 myupdate: Close and restart Deskbar on update
Close Deskbar before trying to update and restart it afterward.
This way the addons are restored as they were before.
2014-01-09 17:08:22 +01:00

64 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
cd "$(dirname "$0")"
test "$1" = "-t" || exec Terminal -t "My Update" "$0" -t "$@" && shift
notice () {
notify --type information \
--icon /boot/system/apps/HaikuDepot \
--title "Update" \
"$@"
echo "$@"
}
if [ "$1" != "-2" ]; then
notice "Closing Deskbar..."
notice "Checking for updates..."
quit application/x-vnd.Be-TSKB
#notice "Checking for updates..."
pkgman update || exit $?
sync
if [ "$(ls /system/packages/*_hrev*-* | grep -v $(uname -v | cut -d' ' -f1))" = "" ]; then
open /system/Deskbar < /dev/null > /dev/null 2>&1 &
notice "Restarting Deskbar..."
notice "Nothing to do"
read
exit 0
fi
makebootable /boot
sync
cat > $(finddir B_USER_SETTINGS_DIRECTORY)/boot/launch/myupdate2.sh << EOF
#!/bin/sh
cd "$PWD"
$0 -2
EOF
chmod +x $(finddir B_USER_SETTINGS_DIRECTORY)/boot/launch/myupdate2.sh
sync
notice "Restarting Deskbar..."
/system/Deskbar < /dev/null > /dev/null 2>&1 &
notice "You should reboot now..."
shutdown -r -a
read
exit 0
fi
rm $(finddir B_USER_SETTINGS_DIRECTORY)/boot/launch/myupdate2.sh
disdir="$(finddir B_SYSTEM_PACKAGES_DIRECTORY)/disabled"
mkdir -p "$disdir"
notice "Moving old packages to disabled/ ..."
mv $(ls /system/packages/*_hrev*-* | grep -v $(uname -v | cut -d' ' -f1)) $disdir/
sync
#notice "Adding back deskbar addons..."
#ProcessController -deskbar
#NetworkStatus --deskbar
notice "Done"
read