mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 13:57:14 +02:00
testing/upgrade-notify: new aport
Get notifications about what services need to restart after an upgrade http://git.alpinelinux.org/alpine/tree/testing/upgrade-notify
This commit is contained in:
parent
17c3e67787
commit
25d8ef878f
18
testing/upgrade-notify/APKBUILD
Normal file
18
testing/upgrade-notify/APKBUILD
Normal file
@ -0,0 +1,18 @@
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname="upgrade-notify"
|
||||
pkgver=0.1
|
||||
license="GPL"
|
||||
pkgdesc="Get notifications about what services need to restart after an upgrade"
|
||||
url="http://git.alpinelinux.org/alpine/tree/testing/upgrade-notify"
|
||||
arch=noarch
|
||||
triggers="$pkgname.trigger=/etc/init.d:/boot"
|
||||
|
||||
build() {
|
||||
return 0
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
}
|
||||
|
||||
|
52
testing/upgrade-notify/upgrade-notify.trigger
Normal file
52
testing/upgrade-notify/upgrade-notify.trigger
Normal file
@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
|
||||
msg() {
|
||||
local summary="$1"
|
||||
shift
|
||||
echo "" >&2
|
||||
echo " $summary" >&2
|
||||
local i
|
||||
for i; do
|
||||
echo " $i" >&2
|
||||
done
|
||||
echo "" >&2
|
||||
}
|
||||
|
||||
# compare the timestamp of "started" symlink with timestamp of /etc/init.d
|
||||
# if the /etc/init.d/* script is newer than "started" symlink then
|
||||
# service was upgraded after service was started
|
||||
services=$(find /run/openrc/started -type l | xargs stat -c "%n %Y" \
|
||||
| while read file started; do
|
||||
svc=${file##*/}
|
||||
installed=$(stat -c "%Y" /etc/init.d/$svc)
|
||||
if [ $installed -gt $started ]; then
|
||||
echo $svc
|
||||
fi
|
||||
done)
|
||||
|
||||
need_reboot=false
|
||||
for i; do
|
||||
case $i in
|
||||
/boot)
|
||||
need_reboot=true
|
||||
esac
|
||||
done
|
||||
|
||||
notify=msg
|
||||
if which notify-send > /dev/null; then
|
||||
notify="notify-send"
|
||||
fi
|
||||
|
||||
if [ -n "$services" ]; then
|
||||
$notify "The following services have been updated and need a restart:" \
|
||||
$services
|
||||
fi
|
||||
|
||||
case "$(rc --sys)" in
|
||||
LXC|VSERVER) exit 0 ;;
|
||||
esac
|
||||
|
||||
if $need_reboot ; then
|
||||
$notify "Kernel(s) were updated. You might need to reboot"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user